diff --git a/drivers/InterruptIn.cpp b/drivers/InterruptIn.cpp index 628c9fa33f..f42c5e5410 100644 --- a/drivers/InterruptIn.cpp +++ b/drivers/InterruptIn.cpp @@ -19,29 +19,16 @@ namespace mbed { -InterruptIn::InterruptIn(PinName pin) : gpio(), - gpio_irq(), - _rise(NULL), - _fall(NULL) { - // No lock needed in the constructor - irq_init(pin); - gpio_init_in(&gpio, pin); -} - InterruptIn::InterruptIn(PinName pin, PinMode mode) : gpio(), gpio_irq(), _rise(NULL), _fall(NULL) { // No lock needed in the constructor - irq_init(pin); + gpio_irq_init(&gpio_irq, pin, (&InterruptIn::_irq_handler), (uint32_t)this); gpio_init_in_ex(&gpio, pin, mode); } -void InterruptIn::irq_init(PinName pin) { - gpio_irq_init(&gpio_irq, pin, (&InterruptIn::_irq_handler), (uint32_t)this); -} - InterruptIn::~InterruptIn() { // No lock needed in the destructor gpio_irq_free(&gpio_irq); diff --git a/drivers/InterruptIn.h b/drivers/InterruptIn.h index 5c852ef80e..a395bbf43c 100644 --- a/drivers/InterruptIn.h +++ b/drivers/InterruptIn.h @@ -61,17 +61,12 @@ class InterruptIn : private NonCopyable { public: - /** Create an InterruptIn connected to the specified pin - * - * @param pin InterruptIn pin to connect to - */ - InterruptIn(PinName pin); /** Create an InterruptIn connected to the specified pin, - * and the pin configured to the specified mode. + * with the pin configured to the specified mode. * * @param pin InterruptIn pin to connect to */ - InterruptIn(PinName pin, PinMode mode); + InterruptIn(PinName pin, PinMode mode = PullDefault); virtual ~InterruptIn(); /** Read the input, represented as 0 or 1 (int) @@ -159,8 +154,6 @@ protected: Callback _rise; Callback _fall; - - void irq_init(PinName pin); }; } // namespace mbed