Code APP3
Dependencies: mbed EthernetInterface WebSocketClient mbed-rtos BufferedSerial
Fork of APP3_Lab by
sensors.cpp@10:edcf07f33583, 2017-09-30 (annotated)
- Committer:
- JayMcGee
- Date:
- Sat Sep 30 20:29:47 2017 +0000
- Revision:
- 10:edcf07f33583
- Parent:
- 9:3631d3685cfa
- Child:
- 13:5f21dd134bd2
Added Struct for Sensors
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JayMcGee | 7:b054ce191070 | 1 | #include "sensors.h" |
JayMcGee | 7:b054ce191070 | 2 | |
Cheroukee | 9:3631d3685cfa | 3 | MMA8452Q accel(p9, p10, 0x1D); |
Cheroukee | 9:3631d3685cfa | 4 | DigitalIn Bouton1(p20); |
Cheroukee | 9:3631d3685cfa | 5 | |
JayMcGee | 10:edcf07f33583 | 6 | struct Accel_result |
JayMcGee | 10:edcf07f33583 | 7 | { |
JayMcGee | 10:edcf07f33583 | 8 | float x; |
JayMcGee | 10:edcf07f33583 | 9 | float y; |
JayMcGee | 10:edcf07f33583 | 10 | float z; |
JayMcGee | 10:edcf07f33583 | 11 | }; |
JayMcGee | 10:edcf07f33583 | 12 | |
JayMcGee | 10:edcf07f33583 | 13 | struct Bouton_result |
JayMcGee | 10:edcf07f33583 | 14 | { |
JayMcGee | 10:edcf07f33583 | 15 | bool etat; |
JayMcGee | 10:edcf07f33583 | 16 | }; |
JayMcGee | 7:b054ce191070 | 17 | |
JayMcGee | 10:edcf07f33583 | 18 | typedef union Sensor_result |
JayMcGee | 10:edcf07f33583 | 19 | { |
JayMcGee | 10:edcf07f33583 | 20 | struct Accel_result Accelerometre; |
JayMcGee | 10:edcf07f33583 | 21 | struct Bouton_result Bouton; |
JayMcGee | 10:edcf07f33583 | 22 | } SENSOR; |
JayMcGee | 10:edcf07f33583 | 23 | |
JayMcGee | 10:edcf07f33583 | 24 | |
JayMcGee | 10:edcf07f33583 | 25 | SENSOR readAccel(); |
JayMcGee | 10:edcf07f33583 | 26 | SENSOR readBouton1(); |
JayMcGee | 10:edcf07f33583 | 27 | |
JayMcGee | 10:edcf07f33583 | 28 | SENSOR (*p[2])(); |
JayMcGee | 7:b054ce191070 | 29 | |
JayMcGee | 7:b054ce191070 | 30 | |
JayMcGee | 7:b054ce191070 | 31 | void initialize_sensors() |
JayMcGee | 7:b054ce191070 | 32 | { |
JayMcGee | 7:b054ce191070 | 33 | accel.init(); |
JayMcGee | 7:b054ce191070 | 34 | p[0] = readAccel; |
JayMcGee | 7:b054ce191070 | 35 | p[1] = readBouton1; |
JayMcGee | 7:b054ce191070 | 36 | } |
JayMcGee | 7:b054ce191070 | 37 | |
JayMcGee | 10:edcf07f33583 | 38 | SENSOR readAccel() |
JayMcGee | 7:b054ce191070 | 39 | { |
JayMcGee | 10:edcf07f33583 | 40 | SENSOR Result; |
JayMcGee | 10:edcf07f33583 | 41 | Result.Accelerometre.x = accel.readX(); |
JayMcGee | 10:edcf07f33583 | 42 | Result.Accelerometre.y = accel.readY(); |
JayMcGee | 10:edcf07f33583 | 43 | Result.Accelerometre.z = accel.readZ(); |
JayMcGee | 10:edcf07f33583 | 44 | return Result; |
JayMcGee | 7:b054ce191070 | 45 | } |
JayMcGee | 7:b054ce191070 | 46 | |
JayMcGee | 10:edcf07f33583 | 47 | SENSOR readBouton1() |
JayMcGee | 7:b054ce191070 | 48 | { |
JayMcGee | 10:edcf07f33583 | 49 | SENSOR Result; |
JayMcGee | 10:edcf07f33583 | 50 | Result.Bouton.etat = Bouton1; |
JayMcGee | 10:edcf07f33583 | 51 | return Result; |
JayMcGee | 7:b054ce191070 | 52 | } |
JayMcGee | 7:b054ce191070 | 53 | |
JayMcGee | 7:b054ce191070 | 54 | void Test() |
JayMcGee | 7:b054ce191070 | 55 | { |
Cheroukee | 9:3631d3685cfa | 56 | initialize_sensors(); |
Cheroukee | 9:3631d3685cfa | 57 | |
JayMcGee | 7:b054ce191070 | 58 | Serial pc(USBTX, USBRX); // tx, rx |
JayMcGee | 7:b054ce191070 | 59 | for(int i = 0; i<2;i++) |
JayMcGee | 7:b054ce191070 | 60 | { |
JayMcGee | 7:b054ce191070 | 61 | pc.printf("Result : %u \r\n",(*p[i])()); // Display URL |
JayMcGee | 7:b054ce191070 | 62 | } |
JayMcGee | 7:b054ce191070 | 63 | } |