voor willem test

Dependencies:   4DGL MODSERIAL mbed mbos

Revision:
6:e0bf3b244d7c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/buttontest.cpp	Tue Jan 29 14:54:14 2013 +0000
@@ -0,0 +1,73 @@
+// 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
+        
+    }  
+}