summaryrefslogtreecommitdiff
path: root/peripheral/libupm/src/t8100/t8100.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'peripheral/libupm/src/t8100/t8100.cxx')
-rw-r--r--peripheral/libupm/src/t8100/t8100.cxx254
1 files changed, 0 insertions, 254 deletions
diff --git a/peripheral/libupm/src/t8100/t8100.cxx b/peripheral/libupm/src/t8100/t8100.cxx
deleted file mode 100644
index 6e5b596..0000000
--- a/peripheral/libupm/src/t8100/t8100.cxx
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * Author: Jon Trulson <jtrulson@ics.com>
- * Copyright (c) 2016 Intel Corporation.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
- * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
- * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#include <unistd.h>
-#include <assert.h>
-#include <errno.h>
-#include <iostream>
-#include <stdexcept>
-#include <string>
-
-#include "t8100.hpp"
-
-using namespace upm;
-using namespace std;
-
-// conversion from fahrenheit to celcius and back
-
-static float f2c(float f)
-{
- return ((f - 32.0) / (9.0 / 5.0));
-}
-
-static float c2f(float c)
-{
- return (c * (9.0 / 5.0) + 32.0);
-}
-
-
-T8100::T8100(uint32_t targetDeviceObjectID) :
- BACNETUTIL(targetDeviceObjectID)
-{
- setDebug(false);
-
- // we disable this by default for performance reasons
- checkReliability(false);
-
- m_isTempInitialized = false;
- m_isCelcius = false;
-
- m_humidity = 0.0;
- m_temperature = 0.0;
- m_co2 = 0.0;
- m_relayState = false;
-}
-
-T8100::~T8100()
-{
-}
-
-void T8100::update()
-{
- if (!m_isTempInitialized)
- {
- // this will update internals so conversions work properly
- getTemperatureScale();
- }
-
- float tmpF = getAnalogInput(AI_Temperature_Thermistor);
-
- if (m_isCelcius)
- m_temperature = tmpF;
- else
- m_temperature = f2c(tmpF);
-
- m_humidity = getAnalogInput(AI_Relative_Humidity);
- m_co2 = getAnalogInput(AI_CO2);
- m_relayState = getBinaryInput(BI_Relay_State);
-}
-
-float T8100::getTemperature(bool fahrenheit)
-{
- if (fahrenheit)
- return c2f(m_temperature);
- else
- return m_temperature;
-}
-
-void T8100::setTemperatureScale(bool fahrenheit)
-{
- setBinaryValue(BV_Temperature_Units, fahrenheit);
-
- m_isTempInitialized = true;
- m_isCelcius = (fahrenheit) ? false : true;
-}
-
-bool T8100::getTemperatureScale()
-{
- bool scale = getBinaryValue(BV_Temperature_Units);
-
- m_isTempInitialized = true;
- m_isCelcius = !scale;
-
- return scale;
-}
-
-float T8100::getTemperatureOffset()
-{
- return getAnalogValue(AV_Temperature_Offset);
-}
-
-void T8100::setTemperatureOffset(float value)
-{
- // Always in C...
- if (value < -50.0 || value > 50.0)
- {
- throw std::out_of_range(std::string(__FUNCTION__)
- + ": value must be between -50 and 50,"
- + " in degrees Celcius");
-
- }
-
- setAnalogValue(AV_Temperature_Offset, value);
-}
-
-float T8100::getHumidityOffset()
-{
- return getAnalogValue(AV_RH_Offset);
-}
-
-void T8100::setHumidityOffset(float value)
-{
- if (value < -100.0 || value > 100.0)
- {
- throw std::out_of_range(std::string(__FUNCTION__)
- + ": value must be between -100 and 100");
- }
-
- setAnalogValue(AV_RH_Offset, value);
-}
-
-float T8100::getRelaySetPoint()
-{
- return getAnalogValue(AV_Relay_Set_Point);
-}
-
-void T8100::setRelaySetPoint(float value)
-{
- if (value < 0.00 || value > 65535.0)
- {
- throw std::out_of_range(std::string(__FUNCTION__)
- + ": value must be between 0 and 65535");
- }
-
- setAnalogValue(AV_Relay_Set_Point, value);
-}
-
-float T8100::getRelayHysteresis()
-{
- return getAnalogValue(AV_Relay_Hysteresis);
-}
-
-void T8100::setRelayHysteresis(float value)
-{
- if (value < 0.00 || value > 65535.0)
- {
- throw std::out_of_range(std::string(__FUNCTION__)
- + ": value must be between 0 and 65535");
- }
-
- setAnalogValue(AV_Relay_Hysteresis, value);
-}
-
-float T8100::getElevation()
-{
- return getAnalogValue(AV_Elevation);
-}
-
-void T8100::setElevation(float value)
-{
- if (value < 0.00 || value > 65535.0)
- {
- throw std::out_of_range(std::string(__FUNCTION__)
- + ": value must be between 0 and 65535");
- }
-
- setAnalogValue(AV_Elevation, value);
-}
-
-float T8100::getCalibrationSinglePoint()
-{
- return getAnalogValue(AV_Calibration_Single_Point);
-}
-
-void T8100::setCalibrationSinglePoint(float value)
-{
- if (value < 0.00 || value > 65535.0)
- {
- throw std::out_of_range(std::string(__FUNCTION__)
- + ": value must be between 0 and 65535");
- }
-
- setAnalogValue(AV_Calibration_Single_Point, value);
-}
-
-float T8100::getBaudRate()
-{
- return getAnalogValue(AV_Baud_Rate);
-}
-
-float T8100::getMACAddress()
-{
- return getAnalogValue(AV_MAC_Address);
-}
-
-bool T8100::getABCLogicState()
-{
- return getBinaryValue(BV_ABC_Logic_State);
-}
-
-void T8100::setABCLogicState(bool value)
-{
- setBinaryValue(BV_ABC_Logic_State, value);
-}
-
-bool T8100::getABCLogicReset()
-{
- return getBinaryValue(BV_ABC_Logic_Reset);
-}
-
-void T8100::setABCLogicReset(bool value)
-{
- setBinaryValue(BV_ABC_Logic_Reset, value);
-}
-
-bool T8100::getCO2Calibration()
-{
- return getBinaryValue(BV_CO2_Calibration);
-}
-
-void T8100::setCO2Calibration(bool value)
-{
- setBinaryValue(BV_CO2_Calibration, value);
-}