ngc 1.5.0
 
Loading...
Searching...
No Matches
ngcdcsNGSD.hpp
Go to the documentation of this file.
1
8#ifndef ngcdcsNGSD_H
9#define ngcdcsNGSD_H
10
11
12#ifndef __cplusplus
13#error This is a C++ include file and cannot be used from plain C
14#endif
15
16#include <ngc/core/ngcbAddr.h>
17#include <ngc/core/ngcbMOD.hpp>
20
24#define ngcdcsNGSD_SENS_TEMP 1 //< temperature sensor
25#define ngcdcsNGSD_SENS_RHUM 2 //< humidity sensor
26#define ngcdcsNGSD_SENS_PRESSURE 4 //< pressure sensor
27
31#define ngcdcsNGSD_SENS_ALL (ngcdcsNGSD_SENS_TEMP|ngcdcsNGSD_SENS_RHUM|ngcdcsNGSD_SENS_PRESSURE)
32
36class ngcdcsNGSD: public ngcbMOD
37{
38public:
40 explicit ngcdcsNGSD(const ngcb_route_t &r, double extRef = 0.0);
41
43 ngcdcsNGSD(ngcbIFC *ifc, const ngcb_route_t &r, double extRef = 0.0);
44
46 virtual ~ngcdcsNGSD();
47
50
53
56
59
62
65
68
70 double ExtRef();
71
73 void Reset();
74
76 int Enable(int check = 1);
77
79 int Disable();
80
82 int Selftest();
83
85 int Update(int sensor, int force = 0);
86
88 int ResetSensors(int errFlag = 0);
89
91 int ResetRHum();
92
94 int ResetTemp();
95
97 int ResetPressure();
98
100 int SensorError(int sensor);
101
103 int SetupKey(const char *key, const int *idx, const char *value,
104 int *status = NULL);
105
107 int StatusKey(const char *key, const int *idx, char *value,
108 int *status = NULL);
109
110protected:
111
112private:
114 double extRef_;
115
117 struct timeval timeReset_;
118
120 void Init_(double extRef);
121
123 void Log_(const char *msg);
124
126 int ResetCamera_();
127
129 int UpdateSensors_(int sensor, int force);
130};
131
132#endif
Definition ngcbIFC.hpp:760
ngcbMOD(const ngcbMOD &other)
Copy constructor.
Definition ngcbMOD.cpp:43
Definition ngcdcsSENS.hpp:234
int SensorError(int sensor)
Return sensor error state.
Definition ngcdcsNGSD.cpp:560
int ResetPressure()
Reset pressure sensor.
Definition ngcdcsNGSD.cpp:517
int ResetSensors(int errFlag=0)
Reset all sensors.
Definition ngcdcsNGSD.cpp:410
int Update(int sensor, int force=0)
Run next sensor update cycle.
Definition ngcdcsNGSD.cpp:240
void Reset()
Align software state after reset.
Definition ngcdcsNGSD.cpp:148
int Selftest()
Execute selftest.
Definition ngcdcsNGSD.cpp:232
int ResetTemp()
Reset temperature sensor.
Definition ngcdcsNGSD.cpp:476
ngcdcsMPL115A pressure
Pressure sensor (kPa)
Definition ngcdcsNGSD.hpp:55
int ResetRHum()
Reset humidity sensor.
Definition ngcdcsNGSD.cpp:451
ngcdcsNGSD(const ngcb_route_t &r, double extRef=0.0)
Constructor with route and external reference.
Definition ngcdcsNGSD.cpp:30
double ExtRef()
Return external reference voltage.
Definition ngcdcsNGSD.cpp:146
int Disable()
Call-back at transition to not operational state.
Definition ngcdcsNGSD.cpp:201
double sensSettleTime
Sensor settling time.
Definition ngcdcsNGSD.hpp:64
ngcdcsSHTx_RHUM rhum
Relative humidity sensor (%)
Definition ngcdcsNGSD.hpp:52
int StatusKey(const char *key, const int *idx, char *value, int *status=NULL)
Status.
Definition ngcdcsNgsdStatus.cpp:26
int sensPrefill
Prefill sensor filter windows.
Definition ngcdcsNGSD.hpp:61
int Enable(int check=1)
Call-back at transition to operational state.
Definition ngcdcsNGSD.cpp:159
virtual ~ngcdcsNGSD()
Destructor.
Definition ngcdcsNGSD.cpp:51
int sensEnabled
Sensor interface disabled/enabled flag.
Definition ngcdcsNGSD.hpp:58
ngcdcsSHTx_TEMP temp
Temperature sensor (degC)
Definition ngcdcsNGSD.hpp:49
ngcdcsSEQ * seq
Associated sequencer.
Definition ngcdcsNGSD.hpp:67
int SetupKey(const char *key, const int *idx, const char *value, int *status=NULL)
Setup.
Definition ngcdcsNgsdSetup.cpp:26
Definition ngcdcsSEQ.hpp:582
Definition ngcdcsSENS.hpp:177
Definition ngcdcsSENS.hpp:158
Definition ngcbIFC.hpp:78