christian b
/
Genie_Test
Simple port of the 4d genie arduino code. Works, but needs more work to be fully functionnal as a class!
main.cpp@3:4fe144f2f64e, 2013-12-07 (annotated)
- Committer:
- chris215
- Date:
- Sat Dec 07 02:34:40 2013 +0000
- Revision:
- 3:4fe144f2f64e
- Parent:
- 2:e0f7812d4524
- Child:
- 4:5e14a065031d
test with thermometer
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
chris215 | 0:f065693322dd | 1 | #include "mbed.h" |
chris215 | 0:f065693322dd | 2 | #include "mbed_genie.h" |
chris215 | 3:4fe144f2f64e | 3 | |
chris215 | 0:f065693322dd | 4 | DigitalOut myled(LED1); |
chris215 | 0:f065693322dd | 5 | void myGenieEventHandler(void) |
chris215 | 0:f065693322dd | 6 | { |
chris215 | 0:f065693322dd | 7 | genieFrame Event; |
chris215 | 0:f065693322dd | 8 | genieDequeueEvent(&Event); |
chris215 | 0:f065693322dd | 9 | //event report from an object |
chris215 | 0:f065693322dd | 10 | if(Event.reportObject.cmd == GENIE_REPORT_EVENT) |
chris215 | 0:f065693322dd | 11 | { |
chris215 | 3:4fe144f2f64e | 12 | /* |
chris215 | 3:4fe144f2f64e | 13 | for example here we check if we received a message from 4dbuttons objects |
chris215 | 3:4fe144f2f64e | 14 | the index is the button number, refer to the 4dgenie project to know the index |
chris215 | 3:4fe144f2f64e | 15 | */ |
chris215 | 0:f065693322dd | 16 | if (Event.reportObject.object == GENIE_OBJ_4DBUTTON) // If the Reported Message was from a Slider |
chris215 | 0:f065693322dd | 17 | { |
chris215 | 0:f065693322dd | 18 | if (Event.reportObject.index == 0) |
chris215 | 0:f065693322dd | 19 | { |
chris215 | 0:f065693322dd | 20 | printf("Button 1 pressed!\n\r"); |
chris215 | 0:f065693322dd | 21 | } |
chris215 | 0:f065693322dd | 22 | if (Event.reportObject.index == 1) |
chris215 | 0:f065693322dd | 23 | { |
chris215 | 0:f065693322dd | 24 | printf("Button 2 pressed!\n\r"); |
chris215 | 0:f065693322dd | 25 | } |
chris215 | 0:f065693322dd | 26 | if (Event.reportObject.index == 2) |
chris215 | 0:f065693322dd | 27 | { |
chris215 | 0:f065693322dd | 28 | printf("Button 3 pressed!\n\r"); |
chris215 | 0:f065693322dd | 29 | } |
chris215 | 0:f065693322dd | 30 | } |
chris215 | 0:f065693322dd | 31 | } |
chris215 | 0:f065693322dd | 32 | //Cmd from a reported object (happens when an object read is requested) |
chris215 | 0:f065693322dd | 33 | if(Event.reportObject.cmd == GENIE_REPORT_OBJ) |
chris215 | 0:f065693322dd | 34 | { |
chris215 | 0:f065693322dd | 35 | |
chris215 | 0:f065693322dd | 36 | } |
chris215 | 0:f065693322dd | 37 | |
chris215 | 0:f065693322dd | 38 | |
chris215 | 0:f065693322dd | 39 | } |
chris215 | 0:f065693322dd | 40 | |
chris215 | 0:f065693322dd | 41 | int main() { |
chris215 | 3:4fe144f2f64e | 42 | int temp = 0; |
chris215 | 3:4fe144f2f64e | 43 | |
chris215 | 2:e0f7812d4524 | 44 | SetupGenie(); |
chris215 | 2:e0f7812d4524 | 45 | genieAttachEventHandler(&myGenieEventHandler); |
chris215 | 2:e0f7812d4524 | 46 | genieWriteContrast(0); |
chris215 | 0:f065693322dd | 47 | |
chris215 | 1:203466f6d54f | 48 | printf("Mbed Genie demo \n\r"); |
chris215 | 1:203466f6d54f | 49 | |
chris215 | 1:203466f6d54f | 50 | |
chris215 | 2:e0f7812d4524 | 51 | genieWriteContrast(1); |
chris215 | 0:f065693322dd | 52 | |
chris215 | 3:4fe144f2f64e | 53 | /* |
chris215 | 3:4fe144f2f64e | 54 | for example, in this loop we increment the thermometer0 object from 0 to 100 |
chris215 | 3:4fe144f2f64e | 55 | */ |
chris215 | 0:f065693322dd | 56 | while(1) { |
chris215 | 3:4fe144f2f64e | 57 | if(temp >= 100) |
chris215 | 3:4fe144f2f64e | 58 | { |
chris215 | 3:4fe144f2f64e | 59 | temp = 0; |
chris215 | 3:4fe144f2f64e | 60 | } |
chris215 | 3:4fe144f2f64e | 61 | else |
chris215 | 3:4fe144f2f64e | 62 | { |
chris215 | 3:4fe144f2f64e | 63 | temp++; |
chris215 | 3:4fe144f2f64e | 64 | } |
chris215 | 3:4fe144f2f64e | 65 | genieWriteObject(GENIE_OBJ_THERMOMETER,0,temp); |
chris215 | 0:f065693322dd | 66 | myled = 1; |
chris215 | 3:4fe144f2f64e | 67 | wait(0.25); |
chris215 | 0:f065693322dd | 68 | myled = 0; |
chris215 | 3:4fe144f2f64e | 69 | wait(0.25); |
chris215 | 0:f065693322dd | 70 | } |
chris215 | 0:f065693322dd | 71 | } |