Code APP3

Dependencies:   mbed EthernetInterface WebSocketClient mbed-rtos BufferedSerial

Fork of APP3_Lab by Jean-Philippe Fournier

sensors.cpp

Committer:
JayMcGee
Date:
2017-09-30
Revision:
10:edcf07f33583
Parent:
9:3631d3685cfa
Child:
13:5f21dd134bd2

File content as of revision 10:edcf07f33583:

#include "sensors.h"

MMA8452Q accel(p9, p10, 0x1D);
DigitalIn Bouton1(p20);

struct Accel_result
{
    float x;
    float y;
    float z;
};

struct Bouton_result
{
    bool etat;
};

typedef union Sensor_result
{
    struct Accel_result Accelerometre;
    struct Bouton_result Bouton;
} SENSOR;


SENSOR readAccel(); 
SENSOR readBouton1();

SENSOR (*p[2])();


void initialize_sensors()
{
    accel.init();     
    p[0] = readAccel;
    p[1] = readBouton1;
}

SENSOR readAccel()
{
    SENSOR Result;
    Result.Accelerometre.x = accel.readX();
    Result.Accelerometre.y = accel.readY();
    Result.Accelerometre.z = accel.readZ();
    return Result;
}

SENSOR readBouton1()
{
    SENSOR Result;
    Result.Bouton.etat = Bouton1;   
    return Result;
}

void Test()
{
    initialize_sensors();

    Serial pc(USBTX, USBRX); // tx, rx
    for(int i = 0; i<2;i++)
    {
        pc.printf("Result : %u \r\n",(*p[i])()); // Display URL
    }
}