uLCD-43DCT interfaced with Gecko STK3600

Dependencies:   4dGENIE mbed

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?

UserRevisionLine numberNew 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 }