12#error This is a C++ include file and cannot be used from plain C
22#define ngcdcsSVS_SENS_TEMP 1
23#define ngcdcsSVS_SENS_RHUM 2
24#define ngcdcsSVS_SENS_PRESSURE 4
25#define ngcdcsSVS_SENS_PTEMP 8
30#define ngcdcsSVS_SENS_ALL (ngcdcsSVS_SENS_TEMP|ngcdcsSVS_SENS_RHUM|ngcdcsSVS_SENS_PRESSURE|ngcdcsSVS_SENS_PTEMP)
35#define ngcdcsSVS_I2C_READ 0x0001
36#define ngcdcsSVS_I2C_RESTART 0x0004
37#define ngcdcsSVS_I2C_HOLD 0x0008
38#define ngcdcsSVS_I2C_BITMASK 0x0080
43#define ngcdcsSVS_STAT_OK 0x0000
44#define ngcdcsSVS_STAT_CML 0x0002
45#define ngcdcsSVS_STAT_TEMP 0x0004
46#define ngcdcsSVS_STAT_OC 0x0010
47#define ngcdcsSVS_STAT_OV 0x0020
48#define ngcdcsSVS_STAT_OFF 0x0040
49#define ngcdcsSVS_STAT_MARGIN 0x0100
50#define ngcdcsSVS_STAT_PG 0x0800
51#define ngcdcsSVS_STAT_MFR 0x1000
52#define ngcdcsSVS_STAT_IOUT 0x4000
53#define ngcdcsSVS_STAT_VOUT 0x8000
58#define ngcdcsSVS_PSTAT_OK 0x00000000
59#define ngcdcsSVS_PSTAT_OTW 0x00000001
60#define ngcdcsSVS_PSTAT_OTF 0x00000002
61#define ngcdcsSVS_PSTAT_OCW 0x00000010
62#define ngcdcsSVS_PSTAT_OCF 0x00000020
63#define ngcdcsSVS_PSTAT_OVW 0x00000100
64#define ngcdcsSVS_PSTAT_OVF 0x00000200
65#define ngcdcsSVS_PSTAT_UVW 0x00000400
66#define ngcdcsSVS_PSTAT_UVF 0x00000800
67#define ngcdcsSVS_PSTAT_PG 0x00001000
68#define ngcdcsSVS_PSTAT_TON 0x00002000
69#define ngcdcsSVS_PSTAT_MARGIN 0x00004000
70#define ngcdcsSVS_PSTAT_OFF 0x00080000
72#define ngcdcsSVS_NUM_PAGES 21
99 strcpy(
date,
"10101010");
144 void Assign(
const char *n,
const char *u,
double f) {
202 int Enable(
int check = 1);
211 int Action(
const char *action,
char *reply = NULL);
214 void Dump(
char *s,
int idx);
256 int Update(
int sensor,
int force = 0);
280 int SetupKey(
const char *key,
const int *idx,
const char *value,
284 int StatusKey(
const char *key,
const int *idx,
char *value,
294 struct timeval timeReset_;
306 void Log_(
const char *msg);
309 int UpdateSensors_(
int sensor,
int force);
318 int Write_(
int idx,
const int *data,
int size,
int flags = 0x0);
321 int Read_(
int idx,
int *data,
int size,
int flags = 0x0);
324 int ReadReg_(
int idx,
int addr,
int *data,
int size,
int restart = 0);
327 int SelectPage_(
int p);
330 int Read_(
double *value,
int p,
int cmd,
int hold);
336 int Read_(
int p,
int hold = 0);
339 int ReadLimits_(
int p,
int hold = 0);
348 int GetFaults_(
int status);
354 int Page_(
const char *name);
357 int CRC_(
const int *data,
size_t size);
Definition ngcbIFC.hpp:754
ngcbMOD(const ngcbMOD &other)
Copy constructor.
Definition ngcbMOD.cpp:43
Definition ngcdcsSENS.hpp:255
Definition ngcdcsSENS.hpp:274
Definition ngcdcsSENS.hpp:214
Definition ngcdcsSENS.hpp:195
Definition ngcdcsSVS.hpp:112
double min
Definition ngcdcsSVS.hpp:125
double warn1
Definition ngcdcsSVS.hpp:118
double pgOn
Definition ngcdcsSVS.hpp:121
int status
Definition ngcdcsSVS.hpp:128
void Assign(const char *n, const char *u, double f)
Assign page.
Definition ngcdcsSVS.hpp:144
char unit[8]
Definition ngcdcsSVS.hpp:115
double fault2
Definition ngcdcsSVS.hpp:119
double warn2
Definition ngcdcsSVS.hpp:120
double pgOff
Definition ngcdcsSVS.hpp:122
int enabled
Definition ngcdcsSVS.hpp:127
double avg
Definition ngcdcsSVS.hpp:126
double fault1
Definition ngcdcsSVS.hpp:117
double peak
Definition ngcdcsSVS.hpp:124
double scale
Definition ngcdcsSVS.hpp:116
char name[32]
Definition ngcdcsSVS.hpp:114
double value
Definition ngcdcsSVS.hpp:123
ngcdcsSVS_PAGE()
Constructor.
Definition ngcdcsSVS.hpp:131
virtual ~ngcdcsSVS_PAGE()
Destructor.
Definition ngcdcsSVS.hpp:141
int Action(const char *action, char *reply=NULL)
Execute SVS action.
Definition ngcdcsSVS.cpp:267
int FaultLogOverwrite(int flag)
Set supervisor fault-log overwrite flag.
Definition ngcdcsSVS.cpp:620
ngcdcsSVS_PAGE * page
Supervisor pages.
Definition ngcdcsSVS.hpp:196
int StatusKey(const char *key, const int *idx, char *value, int *status=NULL)
Status.
Definition ngcdcsSvsStatus.cpp:25
int Stop()
Supervisor emergency stop.
Definition ngcdcsSVS.cpp:458
int Disable()
Call-back at transition to not operational state.
Definition ngcdcsSVS.cpp:198
int ResetHistory()
Reset supervisor history (min, peak, average)
Definition ngcdcsSVS.cpp:640
int Info(ngcdcs_svs_info *info)
Get supervisor info.
Definition ngcdcsSVS.cpp:389
void Reset()
Align software state after reset.
Definition ngcdcsSVS.cpp:132
virtual ~ngcdcsSVS()
Destructor.
Definition ngcdcsSVS.cpp:52
int ClearFaultLog()
Clear supervisor fault-log.
Definition ngcdcsSVS.cpp:561
ngcdcsSVS(const ngcb_route_t &r)
Constructor with route and external reference.
Definition ngcdcsSVS.cpp:29
int sensPrefill
Prefill sensor filter windows.
Definition ngcdcsSVS.hpp:184
int Update(int sensor, int force=0)
Run next sensor update cycle.
Definition ngcdcsSVS.cpp:799
int Enable(int check=1)
Call-back at transition to operational state.
Definition ngcdcsSVS.cpp:143
int SensHeat(int flag)
Turn humidity and temperature sensor heater on/off.
Definition ngcdcsSVS.cpp:863
int Status(int *status)
Update supervisor status.
Definition ngcdcsSVS.cpp:653
int ResetPTemp()
Reset pressure/temperature sensor.
Definition ngcdcsSVS.cpp:1154
ngcdcsSHT31_RHUM rhum
Relative humidity sensor (%)
Definition ngcdcsSVS.hpp:172
int ResetPressure()
Reset pressure sensor.
Definition ngcdcsSVS.cpp:1138
ngcdcs_svs_i2c_t i2c[3]
I2C-devices.
Definition ngcdcsSVS.hpp:193
int sensEnabled
Sensor interface disabled/enabled flag.
Definition ngcdcsSVS.hpp:181
double sensSettleTime
Sensor settling time.
Definition ngcdcsSVS.hpp:187
int ResetRHum()
Reset humidity sensor.
Definition ngcdcsSVS.cpp:1106
int ClearFaults()
Clear supervisor faults.
Definition ngcdcsSVS.cpp:540
int ForceFaultLog()
Force supervisor fault-log.
Definition ngcdcsSVS.cpp:580
ngcdcsMPL3115A2_TEMP ptemp
Pressure sensor (kPa)
Definition ngcdcsSVS.hpp:178
ngcdcsMPL3115A2_PRESSURE pressure
Pressure sensor (kPa)
Definition ngcdcsSVS.hpp:175
int FaultLogDepth(int n)
Set supervisor fault-log depth.
Definition ngcdcsSVS.cpp:599
int sensHeat
Humidity and temperature sensor heater on/off flag.
Definition ngcdcsSVS.hpp:190
int ResetSensors(int errFlag=0)
Reset all sensors.
Definition ngcdcsSVS.cpp:1057
int ResetTemp()
Reset temperature sensor.
Definition ngcdcsSVS.cpp:1122
int PageEnable(int flag, int page=255)
Page enable.
Definition ngcdcsSVS.cpp:481
ngcdcsSHT31_TEMP temp
Temperature sensor (degC)
Definition ngcdcsSVS.hpp:169
void Dump(char *s, int idx)
Dump page to string.
Definition ngcdcsSVS.cpp:216
int Restart()
Supervisor restart.
Definition ngcdcsSVS.cpp:520
int Selftest()
Execute selftest.
Definition ngcdcsSVS.cpp:208
int SetupKey(const char *key, const int *idx, const char *value, int *status=NULL)
Setup.
Definition ngcdcsSvsSetup.cpp:25
int SoftReset()
Supervisor soft reset.
Definition ngcdcsSVS.cpp:427
int SensorError(int sensor)
Return sensor error state.
Definition ngcdcsSVS.cpp:1170
#define str2str(s1, s2, n)
Definition ngcb.h:73
#define ngcdcsSVS_STAT_OK
Definition ngcdcsSVS.hpp:43
Definition ngcbIFC.hpp:72
Definition ngcdcsSVS.hpp:77
ngcdcs_svs_i2c_t()
Constructor.
Definition ngcdcsSVS.hpp:82
int flags
Definition ngcdcsSVS.hpp:79
int addr
Definition ngcdcsSVS.hpp:78
Definition ngcdcsSVS.hpp:89
char serialNumber[9]
Definition ngcdcsSVS.hpp:93
ngcdcs_svs_info()
Constructor.
Definition ngcdcsSVS.hpp:98
unsigned short fwNumber
Definition ngcdcsSVS.hpp:95
char revision[3]
Definition ngcdcsSVS.hpp:94
char location[9]
Definition ngcdcsSVS.hpp:92
char date[9]
Definition ngcdcsSVS.hpp:91