IO is an event based input manager which permit to select which composents are manged on your system
Dependencies: C12832 FXOS8700Q LM75B MMA7660
FrdmK64f_Input.hpp
- Committer:
- co838_app56
- Date:
- 2016-02-23
- Revision:
- 0:2ac59c564ab0
- Child:
- 1:7be9a82f3ab8
File content as of revision 0:2ac59c564ab0:
#pragma once #include "mbed.h" template <class Parent> class FrdmK64f_Input : public Parent { // Buttons InterruptIn _buttonLeft; InterruptIn _buttonRight; public: enum IDBinaryInput { ButtonLeft, ButtonRight }; FrdmK64f_Input(void) : _buttonLeft(SW2), _buttonRight(SW3) { _buttonLeft.rise(this, &FrdmK64f_Input::onButtonLeftRise); _buttonLeft.fall(this, &FrdmK64f_Input::onButtonLeftFall); _buttonRight.rise(this, &FrdmK64f_Input::onButtonRightRise); _buttonRight.fall(this, &FrdmK64f_Input::onButtonRightFall); } void onButtonLeftRise(void) { Parent::_events.push(Event(Event::FrdmK64f, Event::BinaryInput, ButtonLeft, Event::Rise)); } void onButtonLeftFall(void) { Parent::_events.push(Event(Event::FrdmK64f, Event::BinaryInput, ButtonLeft, Event::Fall)); } void onButtonRightRise(void) { Parent::_events.push(Event(Event::FrdmK64f, Event::BinaryInput, ButtonRight, Event::Rise)); } void onButtonRightFall(void) { Parent::_events.push(Event(Event::FrdmK64f, Event::BinaryInput, ButtonRight, Event::Fall)); } // Callback for others sensors virtual void chechAnalog(void) { Parent::chechAnalog(); } };