#ifndef MISSION_DEVICES_DEVICEDEFINITIONS_TMP1075DEFINITIONS_H_ #define MISSION_DEVICES_DEVICEDEFINITIONS_TMP1075DEFINITIONS_H_ namespace TMP1075 { static const uint8_t TEMP_REG_ADDR = 0x0; static const uint8_t CFGR_ADDR = 0x1; /* Writing this information to the configuration register sets the tmp1075 * to shutdown mode and starts a single temperature conversion */ static const uint16_t ONE_SHOT_MODE = 0x8100; static const DeviceCommandId_t NONE = 0x0; // Set when no command is pending static const DeviceCommandId_t GET_TEMP = 0x1; static const DeviceCommandId_t START_ADC_CONVERSION = 0x2; static const uint8_t GET_TEMP_REPLY_SIZE = 2; static const uint8_t CFGR_CMD_SIZE = 3; static const uint8_t POINTER_REG_SIZE = 1; static const uint32_t TMP1075_DATA_SET_ID = GET_TEMP; static const uint8_t MAX_REPLY_LENGTH = GET_TEMP_REPLY_SIZE; enum Tmp1075PoolIds: lp_id_t { TEMPERATURE_C_TMP1075_1, TEMPERATURE_C_TMP1075_2 }; class Tmp1075Dataset: public StaticLocalDataSet { public: Tmp1075Dataset(HasLocalDataPoolIF* owner): StaticLocalDataSet(owner, TMP1075_DATA_SET_ID) { } Tmp1075Dataset(object_id_t objectId): StaticLocalDataSet(sid_t(objectId, TMP1075_DATA_SET_ID)) { } lp_var_t temperatureCelcius = lp_var_t(sid.objectId, TEMPERATURE_C_TMP1075_1, this); }; } #endif /* MISSION_DEVICES_DEVICEDEFINITIONS_TMP1075DEFINITIONS_H_ */