Simple port of the 4d genie arduino code. Works, but needs more work to be fully functionnal as a class!

Dependencies:   mbed 4dGENIE

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "mbed_genie.h"
00003 
00004 DigitalOut myled(LED1);
00005 DigitalOut myledr(LED2);
00006 /*
00007     The Mbed4dGenie class requires 3 parameters
00008     1 - Tx pin
00009     2 - Rx pin
00010     3 - Reset pin
00011 */
00012 Mbed4dGenie lcd4d(PTE0,PTE1,PTB9);
00013 
00014 void MyGenieEventHandler(void)
00015 {
00016     genieFrame TheEven;
00017     while(lcd4d.PendingFrames()){
00018         if(lcd4d.genieDequeueEvent(&TheEven))
00019         {
00020             
00021             if( TheEven.reportObject.cmd == GENIE_REPORT_EVENT)
00022             {
00023                 myledr = !myledr; //toggle led when receiving a genie event frame
00024             }
00025             
00026             
00027         }
00028     }
00029 }
00030 
00031 int main() {
00032     int temp = 0;
00033     printf("Mbed Genie demo \n\r");
00034     lcd4d.Start(); 
00035     lcd4d.genieAttachEventHandler(&MyGenieEventHandler);
00036  /*
00037  for example, in this loop we increment the object from 0 to 100
00038  */
00039  
00040     while(1) {
00041         if(temp >= 100)
00042         {
00043             temp = 0;
00044         }
00045         else
00046         {
00047             temp++;
00048         }
00049 
00050         //printf("write:%d\n\r",lcd4d.genieWriteObject(GENIE_OBJ_LED_DIGITS,1,temp));
00051         int error;
00052         error = lcd4d.genieWriteObject(GENIE_OBJ_LED_DIGITS,1,temp);
00053         if(error != ERROR_NONE)
00054         {
00055             printf("Error is:%d\n\r",error);
00056         }
00057         
00058         myled = 1;
00059         //wait(0.05);
00060         //printf("read:%d\n\r",lcd4d.genieReadObj(GENIE_OBJ_LED_DIGITS,1));
00061         error = lcd4d.genieReadObj(GENIE_OBJ_LED_DIGITS,1);
00062         if(error != ERROR_NONE)
00063         {
00064             printf("Error is:%d\n\r",error);
00065         }
00066         myled = 0;
00067         //wait(0.05);
00068     }
00069 }