Files
2014-06-16 11:16:21 +02:00

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_ */