Syed Shakeeb Sadiq
/
Genie_mbed_Gecko
uLCD-43DCT interfaced with Gecko STK3600
main.cpp@1:d7ce35a24a66, 2016-03-31 (annotated)
- Committer:
- shakeeb
- Date:
- Thu Mar 31 11:20:15 2016 +0000
- Revision:
- 1:d7ce35a24a66
- Parent:
- 0:19f36e2819c2
4D display library for Gecko STK3600 board
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shakeeb | 0:19f36e2819c2 | 1 | #include "mbed.h" |
shakeeb | 0:19f36e2819c2 | 2 | #include "mbed_genie.h" |
shakeeb | 0:19f36e2819c2 | 3 | |
shakeeb | 0:19f36e2819c2 | 4 | Mbed4dGenie genie(PB9, PB10, PB11); |
shakeeb | 0:19f36e2819c2 | 5 | DigitalOut led1(LED1); |
shakeeb | 0:19f36e2819c2 | 6 | DigitalOut led2(LED2); |
shakeeb | 0:19f36e2819c2 | 7 | |
shakeeb | 0:19f36e2819c2 | 8 | bool winButton0Status = false; //holds the "status" of winButton0 object. |
shakeeb | 0:19f36e2819c2 | 9 | bool winButton1Status = false; //holds the "status" of winButton1 object. |
shakeeb | 0:19f36e2819c2 | 10 | |
shakeeb | 0:19f36e2819c2 | 11 | int userLed0Status = 0; |
shakeeb | 0:19f36e2819c2 | 12 | int userLed1Status = 0; |
shakeeb | 0:19f36e2819c2 | 13 | |
shakeeb | 0:19f36e2819c2 | 14 | void myGenieEventHandler(void) //Event handler for the 4d Systems display |
shakeeb | 0:19f36e2819c2 | 15 | { |
shakeeb | 0:19f36e2819c2 | 16 | genieFrame Event; |
shakeeb | 0:19f36e2819c2 | 17 | genie.genieDequeueEvent(&Event); |
shakeeb | 0:19f36e2819c2 | 18 | |
shakeeb | 0:19f36e2819c2 | 19 | //event report from an object |
shakeeb | 0:19f36e2819c2 | 20 | if(Event.reportObject.cmd == GENIE_REPORT_EVENT) |
shakeeb | 0:19f36e2819c2 | 21 | { |
shakeeb | 0:19f36e2819c2 | 22 | if (Event.reportObject.object == GENIE_OBJ_WINBUTTON) // If the Reported Message was from a winbutton |
shakeeb | 0:19f36e2819c2 | 23 | { |
shakeeb | 0:19f36e2819c2 | 24 | if (Event.reportObject.index == 0) |
shakeeb | 0:19f36e2819c2 | 25 | { |
shakeeb | 0:19f36e2819c2 | 26 | if (winButton0Status == false) { |
shakeeb | 0:19f36e2819c2 | 27 | printf("Button 1 pressed\n\r"); |
shakeeb | 0:19f36e2819c2 | 28 | printf("LED 1 is On now\n\r"); |
shakeeb | 0:19f36e2819c2 | 29 | led1 = 1; |
shakeeb | 0:19f36e2819c2 | 30 | userLed0Status = 1; |
shakeeb | 0:19f36e2819c2 | 31 | winButton0Status = !winButton0Status; |
shakeeb | 0:19f36e2819c2 | 32 | } |
shakeeb | 0:19f36e2819c2 | 33 | |
shakeeb | 0:19f36e2819c2 | 34 | else if (winButton0Status == true) { |
shakeeb | 0:19f36e2819c2 | 35 | printf("Button 1 pressed\n\r"); |
shakeeb | 0:19f36e2819c2 | 36 | printf("LED 1 is Off now\n\r"); |
shakeeb | 0:19f36e2819c2 | 37 | led1 = 0; |
shakeeb | 0:19f36e2819c2 | 38 | userLed0Status = 0; |
shakeeb | 0:19f36e2819c2 | 39 | winButton0Status = !winButton0Status; |
shakeeb | 0:19f36e2819c2 | 40 | } |
shakeeb | 0:19f36e2819c2 | 41 | } |
shakeeb | 0:19f36e2819c2 | 42 | |
shakeeb | 0:19f36e2819c2 | 43 | if (Event.reportObject.index == 1) |
shakeeb | 0:19f36e2819c2 | 44 | { |
shakeeb | 0:19f36e2819c2 | 45 | if(winButton1Status == false) { |
shakeeb | 0:19f36e2819c2 | 46 | printf("Button 2 pressed\n\r"); |
shakeeb | 0:19f36e2819c2 | 47 | printf("LED 2 is On now\n\r"); |
shakeeb | 0:19f36e2819c2 | 48 | led2 = 1; |
shakeeb | 0:19f36e2819c2 | 49 | userLed1Status = 1; |
shakeeb | 0:19f36e2819c2 | 50 | winButton1Status = !winButton1Status; |
shakeeb | 0:19f36e2819c2 | 51 | } |
shakeeb | 0:19f36e2819c2 | 52 | |
shakeeb | 0:19f36e2819c2 | 53 | else if(winButton1Status == true) { |
shakeeb | 0:19f36e2819c2 | 54 | printf("Button 2 pressed\n\r"); |
shakeeb | 0:19f36e2819c2 | 55 | printf("LED 2 is Off now\n\r"); |
shakeeb | 0:19f36e2819c2 | 56 | led2 = 0; |
shakeeb | 0:19f36e2819c2 | 57 | userLed1Status = 0; |
shakeeb | 0:19f36e2819c2 | 58 | winButton1Status = !winButton1Status; |
shakeeb | 0:19f36e2819c2 | 59 | } |
shakeeb | 0:19f36e2819c2 | 60 | |
shakeeb | 0:19f36e2819c2 | 61 | } |
shakeeb | 0:19f36e2819c2 | 62 | |
shakeeb | 0:19f36e2819c2 | 63 | } |
shakeeb | 0:19f36e2819c2 | 64 | } |
shakeeb | 0:19f36e2819c2 | 65 | } |
shakeeb | 0:19f36e2819c2 | 66 | |
shakeeb | 0:19f36e2819c2 | 67 | int main() |
shakeeb | 0:19f36e2819c2 | 68 | |
shakeeb | 0:19f36e2819c2 | 69 | { |
shakeeb | 0:19f36e2819c2 | 70 | genie.Start(); |
shakeeb | 0:19f36e2819c2 | 71 | genie.genieAttachEventHandler(&myGenieEventHandler); // Call the event handler |
shakeeb | 0:19f36e2819c2 | 72 | |
shakeeb | 0:19f36e2819c2 | 73 | printf("Syed's mbed Gecko board Winbutton-LED Demo \n\r"); // Display a welcome message on the serial monitor |
shakeeb | 0:19f36e2819c2 | 74 | |
shakeeb | 0:19f36e2819c2 | 75 | while(1) |
shakeeb | 0:19f36e2819c2 | 76 | |
shakeeb | 0:19f36e2819c2 | 77 | { // initialise an infinite while loop |
shakeeb | 0:19f36e2819c2 | 78 | |
shakeeb | 0:19f36e2819c2 | 79 | genie.genieWriteObject(GENIE_OBJ_USER_LED,0,userLed0Status); // Set the USERLED0 object high if button 0 is pressed |
shakeeb | 0:19f36e2819c2 | 80 | genie.genieWriteObject(GENIE_OBJ_USER_LED,1,userLed1Status); // Set the USERLED1 object high if button 1 is pressed |
shakeeb | 0:19f36e2819c2 | 81 | |
shakeeb | 0:19f36e2819c2 | 82 | wait(1); // Wait one second |
shakeeb | 0:19f36e2819c2 | 83 | |
shakeeb | 0:19f36e2819c2 | 84 | } |
shakeeb | 0:19f36e2819c2 | 85 | } |