Mbed 4dGenie class
Dependents: Genie_Test 039847382-S3_DS1621_and_LCD_V1
You are viewing an older revision! See the latest version
Homepage
This library is a port of the arduino library made by 4d systems. It works with 4dgl screen running a genie program
usage example :
Mbed4dGenie test program
#include "mbed.h" #include "mbed_genie.h" DigitalOut myled(LED1); /* The Mbed4dGenie class requires 3 parameters 1 - Tx pin 2 - Rx pin 3 - Reset pin */ Mbed4dGenie lcd4d(p9,p10,p11); void myGenieEventHandler(void) { myled = 1; genieFrame Event; lcd4d.genieDequeueEvent(&Event); //event report from an object if(Event.reportObject.cmd == GENIE_REPORT_EVENT) { /* for example here we check if we received a message from 4dbuttons objects the index is the button number, refer to the 4dgenie project to know the index */ if (Event.reportObject.object == GENIE_OBJ_4DBUTTON) // If the Reported Message was from a Slider { if (Event.reportObject.index == 0) { printf("Button 1 pressed!\n\r"); } if (Event.reportObject.index == 1) { printf("Button 2 pressed!\n\r"); } if (Event.reportObject.index == 2) { printf("Button 3 pressed!\n\r"); } } } //Cmd from a reported object (happens when an object read is requested) if(Event.reportObject.cmd == GENIE_REPORT_OBJ) { } } int main() { int temp = 0; printf("Mbed Genie demo \n\r"); lcd4d.genieAttachEventHandler(&myGenieEventHandler); lcd4d.genieWriteContrast(0); wait(0.25); lcd4d.genieWriteContrast(1); /* for example, in this loop we increment the thermometer0 object from 0 to 100 */ while(1) { if(temp >= 100) { temp = -1; } else { temp++; } lcd4d.genieWriteObject(GENIE_OBJ_THERMOMETER,0,temp); myled = 1; wait(0.25); myled = 0; wait(0.25); } }