ngc 1.4.0
 
Loading...
Searching...
No Matches
ngcdcsNGSD.hpp
Go to the documentation of this file.
1
7#ifndef ngcdcsNGSD_H
8#define ngcdcsNGSD_H
9
10
11#ifndef __cplusplus
12#error This is a C++ include file and cannot be used from plain C
13#endif
14
15#include <ngc/core/ngcbAddr.h>
16#include <ngc/core/ngcbMOD.hpp>
19
23#define ngcdcsNGSD_SENS_TEMP 1 //< temperature sensor
24#define ngcdcsNGSD_SENS_RHUM 2 //< humidity sensor
25#define ngcdcsNGSD_SENS_PRESSURE 4 //< pressure sensor
26
30#define ngcdcsNGSD_SENS_ALL (ngcdcsNGSD_SENS_TEMP|ngcdcsNGSD_SENS_RHUM|ngcdcsNGSD_SENS_PRESSURE)
31
35class ngcdcsNGSD: public ngcbMOD
36{
37public:
39 explicit ngcdcsNGSD(const ngcb_route_t &r, double extRef = 0.0);
40
42 ngcdcsNGSD(ngcbIFC *ifc, const ngcb_route_t &r, double extRef = 0.0);
43
45 virtual ~ngcdcsNGSD();
46
49
52
55
58
61
64
67
69 double ExtRef();
70
72 void Reset();
73
75 int Enable(int check = 1);
76
78 int Disable();
79
81 int Selftest();
82
84 int Update(int sensor, int force = 0);
85
87 int ResetSensors(int errFlag = 0);
88
90 int ResetRHum();
91
93 int ResetTemp();
94
96 int ResetPressure();
97
99 int SensorError(int sensor);
100
102 int SetupKey(const char *key, const int *idx, const char *value,
103 int *status = NULL);
104
106 int StatusKey(const char *key, const int *idx, char *value,
107 int *status = NULL);
108
109protected:
110
111private:
113 double extRef_;
114
116 struct timeval timeReset_;
117
119 void Init_(double extRef);
120
122 void Log_(const char *msg);
123
125 int ResetCamera_();
126
128 int UpdateSensors_(int sensor, int force);
129};
130
131#endif
Definition ngcbIFC.hpp:754
ngcbMOD(const ngcbMOD &other)
Copy constructor.
Definition ngcbMOD.cpp:43
Definition ngcdcsSENS.hpp:233
int SensorError(int sensor)
Return sensor error state.
Definition ngcdcsNGSD.cpp:559
int ResetPressure()
Reset pressure sensor.
Definition ngcdcsNGSD.cpp:516
int ResetSensors(int errFlag=0)
Reset all sensors.
Definition ngcdcsNGSD.cpp:409
int Update(int sensor, int force=0)
Run next sensor update cycle.
Definition ngcdcsNGSD.cpp:239
void Reset()
Align software state after reset.
Definition ngcdcsNGSD.cpp:147
int Selftest()
Execute selftest.
Definition ngcdcsNGSD.cpp:231
int ResetTemp()
Reset temperature sensor.
Definition ngcdcsNGSD.cpp:475
ngcdcsMPL115A pressure
Pressure sensor (kPa)
Definition ngcdcsNGSD.hpp:54
int ResetRHum()
Reset humidity sensor.
Definition ngcdcsNGSD.cpp:450
ngcdcsNGSD(const ngcb_route_t &r, double extRef=0.0)
Constructor with route and external reference.
Definition ngcdcsNGSD.cpp:29
double ExtRef()
Return external reference voltage.
Definition ngcdcsNGSD.cpp:145
int Disable()
Call-back at transition to not operational state.
Definition ngcdcsNGSD.cpp:200
double sensSettleTime
Sensor settling time.
Definition ngcdcsNGSD.hpp:63
ngcdcsSHTx_RHUM rhum
Relative humidity sensor (%)
Definition ngcdcsNGSD.hpp:51
int StatusKey(const char *key, const int *idx, char *value, int *status=NULL)
Status.
Definition ngcdcsNgsdStatus.cpp:25
int sensPrefill
Prefill sensor filter windows.
Definition ngcdcsNGSD.hpp:60
int Enable(int check=1)
Call-back at transition to operational state.
Definition ngcdcsNGSD.cpp:158
virtual ~ngcdcsNGSD()
Destructor.
Definition ngcdcsNGSD.cpp:50
int sensEnabled
Sensor interface disabled/enabled flag.
Definition ngcdcsNGSD.hpp:57
ngcdcsSHTx_TEMP temp
Temperature sensor (degC)
Definition ngcdcsNGSD.hpp:48
ngcdcsSEQ * seq
Associated sequencer.
Definition ngcdcsNGSD.hpp:66
int SetupKey(const char *key, const int *idx, const char *value, int *status=NULL)
Setup.
Definition ngcdcsNgsdSetup.cpp:25
Definition ngcdcsSEQ.hpp:574
Definition ngcdcsSENS.hpp:176
Definition ngcdcsSENS.hpp:157
Definition ngcbIFC.hpp:72