christian b
/
Genie_Test
Simple port of the 4d genie arduino code. Works, but needs more work to be fully functionnal as a class!
Embed:
(wiki syntax)
Show/hide line numbers
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 }
Generated on Tue Jul 12 2022 21:51:43 by 1.7.2