/* * TfTemperatureBricklet.h * * Created on: 12.06.2014 * Author: matzman */ #ifndef TFTEMPERATUREBRICKLET_H_ #define TFTEMPERATUREBRICKLET_H_ #include #include namespace tfcppsimple { enum class TfTemperatureI2Cmode : uint8_t { FAST = 0, // Fast (400kHz, default) SLOW = 1 // Slow (100kHz) }; class TfTemperatureBricklet: public TfBricklet { friend class TfDeviceFactory; private: Temperature temperatureObj; TfTemperatureI2Cmode i2cMode = TfTemperatureI2Cmode::FAST; TfTemperatureBricklet(TfConnection& connection, std::string uid, std::string connected_uid, TfDevicePosition position, TfVersion hardware_version, TfVersion firmware_version, TfDevice* parent ); virtual void doConfigureDevice(); virtual void doReconfigureDevice(); virtual void doConnectionLost(); virtual void doShutdown(); public: virtual ~TfTemperatureBricklet(); virtual std::string getDeviceName(bool extended = true); int16_t getTemperature(); void setI2Cmode(TfTemperatureI2Cmode mode); TfTemperatureI2Cmode getI2Cmode(); }; } /* namespace tfcppsimple */ #endif /* TFTEMPERATUREBRICKLET_H_ */