voor willem test
Dependencies: 4DGL MODSERIAL mbed mbos
buttontest.cpp
- Committer:
- LvdK
- Date:
- 2013-01-29
- Revision:
- 6:e0bf3b244d7c
File content as of revision 6:e0bf3b244d7c:
// L. van der Kolk, ELVEDEKA, Holland // // File: buttontest.cpp // Functions to test KEY message with 4 Mbed board test buttons #include "mbed.h" #include "MODSERIAL.h" #include "mbos.h" //#include "mbos_definitions.h ------!!!!! #define SEND_KEYMESSAGE_TASK_ID 3 // #define KEY_EVENT 4 // //---------------------------------------- DigitalOut led4(LED4); // : LED 4 on Mbed board for test BusInOut button(p24, p23, p22, p21); // : Mbed buttons as 4 bit bus extern mbos CDU_OS; extern int key_hit_ID; int button_info = 0; void init_buttons_Mbed() { // set button bus as input : button.input(); // enable pull up resistors on inputs: button.mode(PullUp); } void scan_buttons_Mbed() { static int pushed = false; switch (button) { case 0xF : { // nothing pushed, reset pushed flag: pushed = false; break; } case 0x7 : { // button 1 pushed: if ( pushed == false ) button_info = 33; pushed = true; break; } case 0xB : { // button 2 pushed: if ( pushed == false ) button_info = 34; pushed = true; break; } case 0xD : { // button 3 pushed: if ( pushed == false ) button_info = 12; pushed = true; break; } case 0xE : { // button 4 pushed: if ( pushed == false ) button_info = 21; pushed = true; break; } default : { break; } } if (button_info != 0) { key_hit_ID = button_info; // : set global key_ID button_info = 0; CDU_OS.SetEvent(KEY_EVENT,SEND_KEYMESSAGE_TASK_ID); // : set KEY event ( = key pressed ) led4 = !led4; // : toggle LED 4 to show button pressed } }