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@0:2ac59c564ab0, 2016-02-23 (annotated)
- Committer:
- co838_app56
- Date:
- Tue Feb 23 17:25:07 2016 +0000
- Revision:
- 0:2ac59c564ab0
- Child:
- 1:7be9a82f3ab8
Managing k64f & app shield;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
co838_app56 | 0:2ac59c564ab0 | 1 | #pragma once |
co838_app56 | 0:2ac59c564ab0 | 2 | |
co838_app56 | 0:2ac59c564ab0 | 3 | #include "mbed.h" |
co838_app56 | 0:2ac59c564ab0 | 4 | |
co838_app56 | 0:2ac59c564ab0 | 5 | template <class Parent> |
co838_app56 | 0:2ac59c564ab0 | 6 | class FrdmK64f_Input : public Parent |
co838_app56 | 0:2ac59c564ab0 | 7 | { |
co838_app56 | 0:2ac59c564ab0 | 8 | // Buttons |
co838_app56 | 0:2ac59c564ab0 | 9 | InterruptIn _buttonLeft; |
co838_app56 | 0:2ac59c564ab0 | 10 | InterruptIn _buttonRight; |
co838_app56 | 0:2ac59c564ab0 | 11 | |
co838_app56 | 0:2ac59c564ab0 | 12 | public: |
co838_app56 | 0:2ac59c564ab0 | 13 | |
co838_app56 | 0:2ac59c564ab0 | 14 | enum IDBinaryInput |
co838_app56 | 0:2ac59c564ab0 | 15 | { |
co838_app56 | 0:2ac59c564ab0 | 16 | ButtonLeft, |
co838_app56 | 0:2ac59c564ab0 | 17 | ButtonRight |
co838_app56 | 0:2ac59c564ab0 | 18 | }; |
co838_app56 | 0:2ac59c564ab0 | 19 | |
co838_app56 | 0:2ac59c564ab0 | 20 | FrdmK64f_Input(void) |
co838_app56 | 0:2ac59c564ab0 | 21 | : _buttonLeft(SW2), _buttonRight(SW3) |
co838_app56 | 0:2ac59c564ab0 | 22 | { |
co838_app56 | 0:2ac59c564ab0 | 23 | _buttonLeft.rise(this, &FrdmK64f_Input::onButtonLeftRise); |
co838_app56 | 0:2ac59c564ab0 | 24 | _buttonLeft.fall(this, &FrdmK64f_Input::onButtonLeftFall); |
co838_app56 | 0:2ac59c564ab0 | 25 | _buttonRight.rise(this, &FrdmK64f_Input::onButtonRightRise); |
co838_app56 | 0:2ac59c564ab0 | 26 | _buttonRight.fall(this, &FrdmK64f_Input::onButtonRightFall); |
co838_app56 | 0:2ac59c564ab0 | 27 | } |
co838_app56 | 0:2ac59c564ab0 | 28 | |
co838_app56 | 0:2ac59c564ab0 | 29 | void onButtonLeftRise(void) { Parent::_events.push(Event(Event::FrdmK64f, Event::BinaryInput, ButtonLeft, Event::Rise)); } |
co838_app56 | 0:2ac59c564ab0 | 30 | void onButtonLeftFall(void) { Parent::_events.push(Event(Event::FrdmK64f, Event::BinaryInput, ButtonLeft, Event::Fall)); } |
co838_app56 | 0:2ac59c564ab0 | 31 | void onButtonRightRise(void) { Parent::_events.push(Event(Event::FrdmK64f, Event::BinaryInput, ButtonRight, Event::Rise)); } |
co838_app56 | 0:2ac59c564ab0 | 32 | void onButtonRightFall(void) { Parent::_events.push(Event(Event::FrdmK64f, Event::BinaryInput, ButtonRight, Event::Fall)); } |
co838_app56 | 0:2ac59c564ab0 | 33 | |
co838_app56 | 0:2ac59c564ab0 | 34 | // Callback for others sensors |
co838_app56 | 0:2ac59c564ab0 | 35 | virtual void chechAnalog(void) { Parent::chechAnalog(); } |
co838_app56 | 0:2ac59c564ab0 | 36 | }; |