11 #ifndef CARMA_ANTENNA_BIMA_DEWARREGULATION_H
12 #define CARMA_ANTENNA_BIMA_DEWARREGULATION_H
24 #include "carma/util/Program.h"
25 #include "carma/util/Logger.h"
32 #include "carma/util/ExceptionUtils.h"
44 TimedValue( time_t t,
float value )
54 class DewarRegulation :
public SharedMemory
59 Configuration& config,
65 bool alreadyRunning();
67 void updateWatchdog();
68 void setPoint(
double temp );
71 void setHeater(
double temp );
72 void diagnosticLog(
double temp,
double min,
double max );
73 void startDiagLog(
bool start );
76 static void thread( DewarRegulation &This );
86 void setRunningV(
float volts );
87 void setMaxV(
float volts );
88 void setMinV(
float volts );
92 void setAvgTemp(
float t );
93 void setMaxAvgTemp(
float t );
94 void setMinAvgTemp(
float t );
95 void computeAvgTempSetPointRMS( std::list<TimedValue> &aList );
96 float getTempSetPointRMS();
98 float getMaxAvgTemp();
99 float getMinAvgTemp();
101 void cullEntriesOlderThan( std::list<TimedValue> &aList, time_t t );
102 void insertAndCullMaxMin( std::list<TimedValue> &aList,
float value );
103 Dewar & getDewar() {
return _dewar; }
104 double getStage1Temp() {
return _dewar.stage1temp(); };
105 double getStage2Temp() {
return _dewar.stage2temp(); };
106 double getStage3Temp() {
return _dewar.stage3temp(); };
107 double getStage4Temp() {
return _dewar.stage4temp(); };
108 double getStage5Temp() {
return _dewar.stage5temp(); };
110 void setStage(
int stage );
111 double (DewarRegulation::*getTemp)();
114 static const std::string _poaName;
116 Configuration &_config;
117 log4cpp::Category &_log;
118 double _setPoint, _oldPoint;
120 time_t _defrostStart, _lastRMS;
122 std::list<TimedValue> _maxminT;
123 std::list<TimedValue> _maxminV;
124 std::list<TimedValue> _tempList;
131 #endif // CARMA_ANTENNA_BIMA_DEWARREGULATION_H
Class definition for Stepper Motors for BIMA systems.
Exception class for errors.
Class definition for TelemetryClient on the BIMA antennas.
Class definition for Stepper Motors for BIMA systems.