Code APP3

Dependencies:   mbed EthernetInterface WebSocketClient mbed-rtos BufferedSerial

Fork of APP3_Lab by Jean-Philippe Fournier

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?

UserRevisionLine numberNew 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 }