Skip to content

Commit d28dbf6

Browse files
simplify InterruptIn - default parameter instead of multiple constructors
1 parent dfa6a7a commit d28dbf6

File tree

2 files changed

+3
-23
lines changed

2 files changed

+3
-23
lines changed

drivers/InterruptIn.cpp

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,29 +19,16 @@
1919

2020
namespace mbed {
2121

22-
InterruptIn::InterruptIn(PinName pin) : gpio(),
23-
gpio_irq(),
24-
_rise(NULL),
25-
_fall(NULL) {
26-
// No lock needed in the constructor
27-
irq_init(pin);
28-
gpio_init_in(&gpio, pin);
29-
}
30-
3122
InterruptIn::InterruptIn(PinName pin, PinMode mode) :
3223
gpio(),
3324
gpio_irq(),
3425
_rise(NULL),
3526
_fall(NULL) {
3627
// No lock needed in the constructor
37-
irq_init(pin);
28+
gpio_irq_init(&gpio_irq, pin, (&InterruptIn::_irq_handler), (uint32_t)this);
3829
gpio_init_in_ex(&gpio, pin, mode);
3930
}
4031

41-
void InterruptIn::irq_init(PinName pin) {
42-
gpio_irq_init(&gpio_irq, pin, (&InterruptIn::_irq_handler), (uint32_t)this);
43-
}
44-
4532
InterruptIn::~InterruptIn() {
4633
// No lock needed in the destructor
4734
gpio_irq_free(&gpio_irq);

drivers/InterruptIn.h

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,17 +61,12 @@ class InterruptIn : private NonCopyable<InterruptIn> {
6161

6262
public:
6363

64-
/** Create an InterruptIn connected to the specified pin
65-
*
66-
* @param pin InterruptIn pin to connect to
67-
*/
68-
InterruptIn(PinName pin);
6964
/** Create an InterruptIn connected to the specified pin,
70-
* and the pin configured to the specified mode.
65+
* with the pin configured to the specified mode.
7166
*
7267
* @param pin InterruptIn pin to connect to
7368
*/
74-
InterruptIn(PinName pin, PinMode mode);
69+
InterruptIn(PinName pin, PinMode mode = PullDefault);
7570
virtual ~InterruptIn();
7671

7772
/** Read the input, represented as 0 or 1 (int)
@@ -159,8 +154,6 @@ class InterruptIn : private NonCopyable<InterruptIn> {
159154

160155
Callback<void()> _rise;
161156
Callback<void()> _fall;
162-
163-
void irq_init(PinName pin);
164157
};
165158

166159
} // namespace mbed

0 commit comments

Comments
 (0)