Stripped-down version of GDP Node Core
Dependencies: EthernetInterface MbedJSONValue SDFileSystem mbed-rtos mbed snail
sensorinterface.h
- Committer:
- Trumple
- Date:
- 2015-05-18
- Revision:
- 0:bb17d0395fb8
File content as of revision 0:bb17d0395fb8:
#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