GDP group 24 node core
Dependencies: EthernetInterface SDFileSystem mbed-rtos mbed snail MbedJSONValue
sensorinterface.h
- Committer:
- Trumple
- Date:
- 2015-01-13
- Revision:
- 16:3ac37613f849
- Parent:
- 14:bc0e2fa25f94
- Child:
- 20:fb2a9f4d2de7
File content as of revision 16:3ac37613f849:
#ifndef SENSORINTERFACE_H #define SENSORINTERFACE_H #include "mbed.h" #include <map> #include <vector> #define I2C_TYPE_HEADER 'T' #define I2C_TYPE_REQUEST 'R' #define I2C_TYPE_DATA '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