00001 /*************************************************************************** 00002 LOW_compTempSensor.h - description 00003 ------------------- 00004 begin : Fri Jul 12 2002 00005 copyright : (C) 2002 by Harald Roelle 00006 email : roelle@informatik.uni-muenchen.de 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef LOW_COMPTEMPSENSOR_H 00019 #define LOW_COMPTEMPSENSOR_H 00020 00021 00022 #include "LOW_component.h" 00023 #include "LOW_devDS1820.h" 00024 00025 00026 00027 /** 00028 @todo Documentation of class. 00029 00030 *@author Harald Roelle 00031 */ 00032 class LOW_compTempSensor : public LOW_component { 00033 00034 //======================================================================================= 00035 public: 00036 00037 //===================================================================================== 00038 // 00039 // exceptions 00040 // 00041 00042 class_DERIVE_FROM_EXCEPTION( data_error, component_error); 00043 00044 00045 //===================================================================================== 00046 // 00047 // constructors 00048 // 00049 00050 LOW_compTempSensor( const LOW_devDS1820 &inSensorDevice); 00051 00052 ~LOW_compTempSensor(); 00053 00054 00055 //===================================================================================== 00056 // 00057 // methods 00058 // 00059 00060 float getTemperature( const bool inDoConversion = true); 00061 00062 void recallAlarmLevels(); 00063 00064 void getAlarmLevels( int8_t &outLowBound, int8_t &outHighBound); 00065 00066 void setAlarmLevels( const int8_t inLowBound, const int8_t inHighBound, const bool inPermanent = true); 00067 00068 bool checkAlarm( const bool inRecalcTemp = true); 00069 00070 bool getIsExternalPowered() const; 00071 00072 00073 //======================================================================================= 00074 protected: 00075 00076 //===================================================================================== 00077 // 00078 // attributes 00079 // 00080 00081 const LOW_devDS1820 &sensorDevice; 00082 00083 }; 00084 00085 #endif