/* * battgauge.h * Author: Jinsuk Seo * Date: Nov 8, 2012 */ #ifndef BATTERYGAUGE_H_ #define BATTERYGAUGE_H_ #define BATTERYGAUGE_I2C_BUFFER 0x80 enum MODECONFIG { STAND_BY = 0, OPERATE = 16, NOLOAD = 2, LOAD = 3 }; class batterygauge { private: int I2CBus, I2CAddress; char dataBuffer[BATTERYGAUGE_I2C_BUFFER]; double charge; double current; double voltage; double temperature; MODECONFIG modeConfig; double convertcharge(int msb_addr, int lsb_addr); double convertcurrent(int msb_addr, int lsb_addr); double convertvoltage(int msb_addr, int lsb_addr); double converttemperature(int msb_addr, int lsb_addr); int writeI2CDeviceByte(char address, char value); public: batterygauge(int bus, int address); int readFullSensorState(); int setModeConfig(MODECONFIG mode); MODECONFIG getModeConfig(); double getcharge() { return charge; } double getcurrent() { return current; } double getvoltage() { return voltage; } double gettemperature() { return temperature; } }; #endif