Initial commit.
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
* TfHumidityBricklet.cpp
|
||||
*
|
||||
* Created on: 12.06.2014
|
||||
* Author: matzman
|
||||
*/
|
||||
|
||||
#include <tfcppsimple/devices/TfHumidityBricklet.h>
|
||||
#include <tfcppsimple/TfException.h>
|
||||
|
||||
namespace tfcppsimple {
|
||||
|
||||
TfHumidityBricklet::TfHumidityBricklet(TfConnection& connection,
|
||||
std::string uid,
|
||||
std::string connected_uid,
|
||||
TfDevicePosition position,
|
||||
TfVersion hardware_version,
|
||||
TfVersion firmware_version,
|
||||
TfDevice* parent
|
||||
)
|
||||
: TfBricklet(connection, uid, connected_uid, position, hardware_version, firmware_version,
|
||||
(uint16_t)TfDeviceIdentifier::HUMIDITY, TfDeviceIdentifier::HUMIDITY, parent) {
|
||||
|
||||
}
|
||||
|
||||
TfHumidityBricklet::~TfHumidityBricklet() {
|
||||
// TODO Auto-generated destructor stub
|
||||
}
|
||||
|
||||
|
||||
std::string TfHumidityBricklet::getDeviceName(bool extended) {
|
||||
std::ostringstream ss;
|
||||
ss << "Humidity Bricklet";
|
||||
if (extended) {
|
||||
ss << " [" << uid << "]";
|
||||
}
|
||||
return ss.str();
|
||||
}
|
||||
|
||||
void TfHumidityBricklet::doConfigureDevice() {
|
||||
humidity_create(&humidityObj, uid.c_str(), &connection.getTfIpConnection());
|
||||
int ret = humidity_set_response_expected_all(&humidityObj, true);
|
||||
if (ret != E_OK) {
|
||||
std::ostringstream ss;
|
||||
ss << "Error while configuring: " << ret << ".";
|
||||
throw TfError(ss.str(), (TfErrorCode)ret);
|
||||
} else {
|
||||
TfDevice::doConfigureDevice();
|
||||
}
|
||||
}
|
||||
|
||||
void TfHumidityBricklet::doReconfigureDevice() {
|
||||
humidity_destroy(&humidityObj);
|
||||
humidity_create(&humidityObj, uid.c_str(), &connection.getTfIpConnection());
|
||||
int ret = humidity_set_response_expected_all(&humidityObj, true);
|
||||
if (ret != E_OK) {
|
||||
std::ostringstream ss;
|
||||
ss << "Error while reconfiguring: " << ret << ".";
|
||||
throw TfError(ss.str(), (TfErrorCode)ret);
|
||||
} else {
|
||||
TfDevice::doReconfigureDevice();
|
||||
}
|
||||
}
|
||||
|
||||
void TfHumidityBricklet::doConnectionLost() {
|
||||
TfDevice::doConnectionLost();
|
||||
}
|
||||
|
||||
void TfHumidityBricklet::doShutdown() {
|
||||
humidity_destroy(&humidityObj);
|
||||
TfDevice::doShutdown();
|
||||
}
|
||||
|
||||
|
||||
uint16_t TfHumidityBricklet::getHumidity() {
|
||||
uint16_t retval;
|
||||
int ret = humidity_get_humidity(&humidityObj, &retval);
|
||||
if (ret != E_OK) {
|
||||
std::ostringstream ss;
|
||||
ss << "Error while reading humidity: " << ret << ".";
|
||||
throw TfError(ss.str(), (TfErrorCode)ret);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
uint16_t TfHumidityBricklet::getHumidityRaw() {
|
||||
uint16_t retval;
|
||||
int ret = humidity_get_analog_value(&humidityObj, &retval);
|
||||
if (ret != E_OK) {
|
||||
std::ostringstream ss;
|
||||
ss << "Error while reading raw humidity: " << ret << ".";
|
||||
throw TfError(ss.str(), (TfErrorCode)ret);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
} /* namespace tfcppsimple */
|
||||
Reference in New Issue
Block a user