1616#include < s8_uart.h>
1717#include < sps30.h>
1818#include < drivers/pm1006.h>
19+ #include < drivers/geiger.h>
1920#include < DFRobot_MultiGasSensor.h>
2021
2122#ifdef DHT11_ENABLED
2223#include < dht_nonblocking.h>
2324#endif
2425
25- #define CSL_VERSION " 0.6.8 "
26- #define CSL_REVISION 375
26+ #define CSL_VERSION " 0.6.9 "
27+ #define CSL_REVISION 376
2728
2829/* **************************************************************
2930* S E T U P E S P 3 2 B O A R D S A N D F I E L D S
9798 X(PRESS, " hPa" , " P" ) \
9899 X(ALT, " m" , " Alt" ) \
99100 X(GAS, " Ohm" , " Gas" ) \
101+ X(CPM, " CPM" , " CPM" ) \
102+ X(RAD, " uSv/h" , " RAD" ) \
100103 X(NH3, " ppm" , " NH3" ) \
101104 X(CO, " ppm" , " CO" ) \
102105 X(UCOUNT, " COUNT" , " UCOUNT" )
@@ -126,6 +129,7 @@ typedef enum UNIT : size_t { SENSOR_UNITS } UNIT;
126129 X(SDHTX, " DHTX" , 3 ) \
127130 X(SDFRCO, " DFRCO" , 3 ) \
128131 X(SDFRNH3, " DFRNH3" , 3 ) \
132+ X(SCAJOE, " CAJOE" , 3 ) \
129133 X(SCOUNT, " SCOUNT" , 3 )
130134
131135#define X (utype, uname, umaintype ) utype,
@@ -136,7 +140,9 @@ typedef enum SENSORS : size_t { SENSORS_TYPES } SENSORS; // backward compatibil
136140enum class SensorGroup { SENSOR_NONE,
137141 SENSOR_PM,
138142 SENSOR_CO2,
139- SENSOR_ENV };
143+ SENSOR_ENV,
144+ SENSOR_RAD // CAJOE_GEIGER
145+ };
140146
141147typedef void (*errorCbFn)(const char *msg);
142148typedef void (*voidCbFn)();
@@ -219,6 +225,9 @@ class Sensors {
219225 // DFRobot gravity NH3 sensor addr 0x77
220226 DFRobot_GAS_I2C dfrNH3;
221227
228+ // Geiger CAJOE sensor
229+ GEIGER *rad;
230+
222231 void init (u_int pms_type = 0 , int pms_rx = PMS_RX, int pms_tx = PMS_TX);
223232
224233 void loop ();
@@ -267,6 +276,12 @@ class Sensors {
267276
268277 float getCO ();
269278
279+ void enableGeigerSensor (int gpio);
280+
281+ uint32_t getGeigerCPM (void );
282+
283+ float getGeigerMicroSievertHour (void );
284+
270285 void setTempOffset (float offset);
271286
272287 void setCO2AltitudeOffset (float altitude);
@@ -428,6 +443,8 @@ class Sensors {
428443 void sps30Errorloop (char *mess, uint8_t r);
429444 void sps30DeviceInfo ();
430445
446+ void geigerRead ();
447+
431448 void onSensorError (const char *msg);
432449
433450 void startI2C ();
@@ -469,3 +486,4 @@ extern Sensors sensors;
469486#endif
470487
471488#endif
489+
0 commit comments