GDP group 24 node core

Dependencies:   EthernetInterface SDFileSystem mbed-rtos mbed snail MbedJSONValue

sensorinterface.h

Committer:
jakehodges
Date:
2014-12-15
Revision:
3:71b090ec5c69
Parent:
0:fcab3b154e49
Child:
8:fd531fe7637b

File content as of revision 3:71b090ec5c69:

#ifndef SENSORINTERFACE_H
 
#define SENSORINTERFACE_H

#include "mbed.h"
#include <map>
#include <vector>

#define DEBUG

struct sensor
{
    char type;
    char readingSize;
};


struct d_reply
{
    char type;
    vector<char> readings;
};


class sensorinterface
{
    public:
        sensorinterface();
        void requestData();
        bool isDataWaiting();
        d_reply readData();
    private:
        map<char, sensor> sensors;
        map<char, sensor>::iterator currentSensor;
        int update();
        void error(int);
        sensor& findType(sensor& s, int address);
        int sendRequest(char address);
        void readyTrigger();
        bool ready;
        
        I2C i2c;
        InterruptIn readyLine;
};
#endif