@@ -31,6 +31,99 @@ I2cModel::I2cModel() {
3131 _msg_i2c_device_event = wippersnapper_i2c_I2cDeviceEvent_init_default;
3232}
3333
34+ /* **********************************************************************/
35+ /* !
36+ @brief I2C destructor
37+ */
38+ /* **********************************************************************/
39+ I2cModel::~I2cModel () {
40+ // nothing to add here!
41+ }
42+
43+ /* **************************************************************************/
44+ /* !
45+ @brief Returns the numeric event value mapped to a sensor event.
46+ @param sensor_type
47+ The SensorType.
48+ @param event
49+ The sensors_event_t event.
50+ @returns The value of the SensorType.
51+ */
52+ /* **************************************************************************/
53+ float GetValueFromSensorsEvent (wippersnapper_sensor_SensorType sensor_type,
54+ sensors_event_t *event) {
55+ float value = 0.0 ;
56+ switch (sensor_type) {
57+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_AMBIENT_TEMPERATURE:
58+ value = event->temperature ;
59+ break ;
60+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_AMBIENT_TEMPERATURE_FAHRENHEIT:
61+ value = event->temperature ;
62+ break ;
63+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_OBJECT_TEMPERATURE:
64+ value = event->temperature ;
65+ break ;
66+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_OBJECT_TEMPERATURE_FAHRENHEIT:
67+ value = event->temperature ;
68+ break ;
69+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_RAW:
70+ value = event->data [0 ];
71+ break ;
72+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_RELATIVE_HUMIDITY:
73+ value = event->relative_humidity ;
74+ break ;
75+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_PRESSURE:
76+ value = event->pressure ;
77+ break ;
78+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_VOLTAGE:
79+ value = event->voltage ;
80+ break ;
81+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_CURRENT:
82+ value = event->current ;
83+ break ;
84+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_CO2:
85+ value = event->CO2 ;
86+ break ;
87+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_ECO2:
88+ value = event->eCO2 ;
89+ break ;
90+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_TVOC:
91+ value = event->tvoc ;
92+ break ;
93+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_VOC_INDEX:
94+ value = event->voc_index ;
95+ break ;
96+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_NOX_INDEX:
97+ value = event->nox_index ;
98+ break ;
99+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_PM10_STD:
100+ value = event->pm10_std ;
101+ break ;
102+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_PM25_STD:
103+ value = event->pm25_std ;
104+ break ;
105+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_PM100_STD:
106+ value = event->pm100_std ;
107+ break ;
108+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_GAS_RESISTANCE:
109+ value = event->gas_resistance ;
110+ break ;
111+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_ALTITUDE:
112+ value = event->altitude ;
113+ break ;
114+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_UNITLESS_PERCENT:
115+ value = event->unitless_percent ;
116+ break ;
117+ case wippersnapper_sensor_SensorType_SENSOR_TYPE_LIGHT:
118+ value = event->light ;
119+ break ;
120+ default :
121+ value = 0.0 ;
122+ break ;
123+ }
124+ return value;
125+ }
126+
34127/* ***************************************************************************/
35128/* !
36129 @brief Decodes a I2cDeviceRemove message from an input stream.
@@ -170,90 +263,6 @@ void I2cModel::SetI2cDeviceEventDeviceDescripton(const char *bus_scl,
170263 _msg_i2c_device_event.i2c_device_description .i2c_mux_channel = mux_channel;
171264}
172265
173- /* **************************************************************************/
174- /* !
175- @brief Returns the numeric event value mapped to a sensor event.
176- @param sensor_type
177- The SensorType.
178- @param event
179- The sensors_event_t event.
180- @returns The value of the SensorType.
181- */
182- /* **************************************************************************/
183- float GetValueFromSensorsEvent (wippersnapper_sensor_SensorType sensor_type,
184- sensors_event_t *event) {
185- float value = 0.0 ;
186- switch (sensor_type) {
187- case wippersnapper_sensor_SensorType_SENSOR_TYPE_AMBIENT_TEMPERATURE:
188- value = event->temperature ;
189- break ;
190- case wippersnapper_sensor_SensorType_SENSOR_TYPE_AMBIENT_TEMPERATURE_FAHRENHEIT:
191- value = event->temperature ;
192- break ;
193- case wippersnapper_sensor_SensorType_SENSOR_TYPE_OBJECT_TEMPERATURE:
194- value = event->temperature ;
195- break ;
196- case wippersnapper_sensor_SensorType_SENSOR_TYPE_OBJECT_TEMPERATURE_FAHRENHEIT:
197- value = event->temperature ;
198- break ;
199- case wippersnapper_sensor_SensorType_SENSOR_TYPE_RAW:
200- value = event->data [0 ];
201- break ;
202- case wippersnapper_sensor_SensorType_SENSOR_TYPE_RELATIVE_HUMIDITY:
203- value = event->relative_humidity ;
204- break ;
205- case wippersnapper_sensor_SensorType_SENSOR_TYPE_PRESSURE:
206- value = event->pressure ;
207- break ;
208- case wippersnapper_sensor_SensorType_SENSOR_TYPE_VOLTAGE:
209- value = event->voltage ;
210- break ;
211- case wippersnapper_sensor_SensorType_SENSOR_TYPE_CURRENT:
212- value = event->current ;
213- break ;
214- case wippersnapper_sensor_SensorType_SENSOR_TYPE_CO2:
215- value = event->CO2 ;
216- break ;
217- case wippersnapper_sensor_SensorType_SENSOR_TYPE_ECO2:
218- value = event->eCO2 ;
219- break ;
220- case wippersnapper_sensor_SensorType_SENSOR_TYPE_TVOC:
221- value = event->tvoc ;
222- break ;
223- case wippersnapper_sensor_SensorType_SENSOR_TYPE_VOC_INDEX:
224- value = event->voc_index ;
225- break ;
226- case wippersnapper_sensor_SensorType_SENSOR_TYPE_NOX_INDEX:
227- value = event->nox_index ;
228- break ;
229- case wippersnapper_sensor_SensorType_SENSOR_TYPE_PM10_STD:
230- value = event->pm10_std ;
231- break ;
232- case wippersnapper_sensor_SensorType_SENSOR_TYPE_PM25_STD:
233- value = event->pm25_std ;
234- break ;
235- case wippersnapper_sensor_SensorType_SENSOR_TYPE_PM100_STD:
236- value = event->pm100_std ;
237- break ;
238- case wippersnapper_sensor_SensorType_SENSOR_TYPE_GAS_RESISTANCE:
239- value = event->gas_resistance ;
240- break ;
241- case wippersnapper_sensor_SensorType_SENSOR_TYPE_ALTITUDE:
242- value = event->altitude ;
243- break ;
244- case wippersnapper_sensor_SensorType_SENSOR_TYPE_UNITLESS_PERCENT:
245- value = event->unitless_percent ;
246- break ;
247- case wippersnapper_sensor_SensorType_SENSOR_TYPE_LIGHT:
248- value = event->light ;
249- break ;
250- default :
251- value = 0.0 ;
252- break ;
253- }
254- return value;
255- }
256-
257266/* **************************************************************************/
258267/* !
259268 @brief Adds a SensorEvent to the I2cDeviceEvent message.
0 commit comments