55 lines
1.2 KiB
C++
55 lines
1.2 KiB
C++
/*
|
|
* TfTemperatureBricklet.h
|
|
*
|
|
* Created on: 12.06.2014
|
|
* Author: matzman
|
|
*/
|
|
|
|
#ifndef TFTEMPERATUREBRICKLET_H_
|
|
#define TFTEMPERATUREBRICKLET_H_
|
|
|
|
#include <tfcppsimple/TfBricklet.h>
|
|
#include <bricklet_temperature.h>
|
|
|
|
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_ */
|