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

Dependencies:   mbed 4dGENIE

main.cpp

Committer:
chris215
Date:
2013-12-07
Revision:
3:4fe144f2f64e
Parent:
2:e0f7812d4524
Child:
4:5e14a065031d

File content as of revision 3:4fe144f2f64e:

#include "mbed.h"
#include "mbed_genie.h"

DigitalOut myled(LED1);
void myGenieEventHandler(void) 
{
  genieFrame Event;
  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;

SetupGenie();
genieAttachEventHandler(&myGenieEventHandler);
genieWriteContrast(0);

printf("Mbed Genie demo \n\r");


genieWriteContrast(1);

 /*
 for example, in this loop we increment the thermometer0 object from 0 to 100
 */
    while(1) {
        if(temp >= 100)
        {
            temp = 0;
        }
        else
        {
            temp++;
        }
        genieWriteObject(GENIE_OBJ_THERMOMETER,0,temp);
        myled = 1;
        wait(0.25);
        myled = 0;
        wait(0.25);
    }
}