GDP group 24 node core
Dependencies: EthernetInterface SDFileSystem mbed-rtos mbed snail MbedJSONValue
sensorinterface.h
- Committer:
- Trumple
- Date:
- 2015-01-28
- Revision:
- 31:9cf3f1e5ad68
- Parent:
- 20:fb2a9f4d2de7
File content as of revision 31:9cf3f1e5ad68:
#ifndef SENSORINTERFACE_H
#define SENSORINTERFACE_H
#include "mbed.h"
#include <map>
#include <vector>
#define I2C_TYPE_HEADER 'T'
#define I2C_REQUEST_HEADER 'R'
#define I2C_DATA_HEADER 'D'
#define I2C_TYPE_PACKET_SIZE 4
#define DEBUG
struct sensor
{
char type;
char packetSize;
char readingSize;
};
struct d_reply
{
char type;
vector<int> readings;
};
class sensorinterface
{
public:
map<char, sensor> sensors;
sensorinterface();
void requestData();
bool isDataWaiting();
d_reply readData();
private:
map<char, sensor>::iterator currentSensor;
int update();
void error(int);
sensor& findType(sensor& s, int address);
int sendRequest(char address);
void readySet();
void readyUnset();
bool ready;
I2C i2c;
InterruptIn readyLine;
};
#endif
