|
3 | 3 | * |
4 | 4 | * Generator: sensirion-driver-generator 1.0.1 |
5 | 5 | * Product: sen66 |
6 | | - * Model-Version: 1.3.0 |
| 6 | + * Model-Version: 1.3.1 |
7 | 7 | */ |
8 | 8 | /* |
9 | 9 | * Copyright (c) 2024, Sensirion AG |
@@ -50,13 +50,6 @@ static uint8_t communication_buffer[48] = {0}; |
50 | 50 | SensirionI2cSen66::SensirionI2cSen66() { |
51 | 51 | } |
52 | 52 |
|
53 | | -float SensirionI2cSen66::signalMassConcentrationPm0p5( |
54 | | - uint16_t massConcentrationPm0p5Raw) { |
55 | | - float massConcentrationPm0p5 = 0.0; |
56 | | - massConcentrationPm0p5 = massConcentrationPm0p5Raw / 10.0; |
57 | | - return massConcentrationPm0p5; |
58 | | -} |
59 | | - |
60 | 53 | float SensirionI2cSen66::signalMassConcentrationPm1p0( |
61 | 54 | uint16_t massConcentrationPm1p0Raw) { |
62 | 55 | float massConcentrationPm1p0 = 0.0; |
@@ -85,6 +78,41 @@ float SensirionI2cSen66::signalMassConcentrationPm10p0( |
85 | 78 | return massConcentrationPm10p0; |
86 | 79 | } |
87 | 80 |
|
| 81 | +float SensirionI2cSen66::signalNumberConcentrationPm0p5( |
| 82 | + uint16_t numberConcentrationPm0p5Raw) { |
| 83 | + float numberConcentrationPm0p5 = 0.0; |
| 84 | + numberConcentrationPm0p5 = numberConcentrationPm0p5Raw / 10.0; |
| 85 | + return numberConcentrationPm0p5; |
| 86 | +} |
| 87 | + |
| 88 | +float SensirionI2cSen66::signalNumberConcentrationPm1p0( |
| 89 | + uint16_t numberConcentrationPm1p0Raw) { |
| 90 | + float numberConcentrationPm1p0 = 0.0; |
| 91 | + numberConcentrationPm1p0 = numberConcentrationPm1p0Raw / 10.0; |
| 92 | + return numberConcentrationPm1p0; |
| 93 | +} |
| 94 | + |
| 95 | +float SensirionI2cSen66::signalNumberConcentrationPm2p5( |
| 96 | + uint16_t numberConcentrationPm2p5Raw) { |
| 97 | + float numberConcentrationPm2p5 = 0.0; |
| 98 | + numberConcentrationPm2p5 = numberConcentrationPm2p5Raw / 10.0; |
| 99 | + return numberConcentrationPm2p5; |
| 100 | +} |
| 101 | + |
| 102 | +float SensirionI2cSen66::signalNumberConcentrationPm4p0( |
| 103 | + uint16_t numberConcentrationPm4p0Raw) { |
| 104 | + float numberConcentrationPm4p0 = 0.0; |
| 105 | + numberConcentrationPm4p0 = numberConcentrationPm4p0Raw / 10.0; |
| 106 | + return numberConcentrationPm4p0; |
| 107 | +} |
| 108 | + |
| 109 | +float SensirionI2cSen66::signalNumberConcentrationPm10p0( |
| 110 | + uint16_t numberConcentrationPm10p0Raw) { |
| 111 | + float numberConcentrationPm10p0 = 0.0; |
| 112 | + numberConcentrationPm10p0 = numberConcentrationPm10p0Raw / 10.0; |
| 113 | + return numberConcentrationPm10p0; |
| 114 | +} |
| 115 | + |
88 | 116 | float SensirionI2cSen66::signalTemperature(int16_t temperatureRaw) { |
89 | 117 | float temperature = 0.0; |
90 | 118 | temperature = temperatureRaw / 200.0; |
@@ -154,32 +182,37 @@ int16_t SensirionI2cSen66::readMeasuredValues( |
154 | 182 | } |
155 | 183 |
|
156 | 184 | int16_t SensirionI2cSen66::readNumberConcentrationValues( |
157 | | - float& massConcentrationPm0p5, float& massConcentrationPm1p0, |
158 | | - float& massConcentrationPm2p5, float& massConcentrationPm4p0, |
159 | | - float& massConcentrationPm10p0) { |
160 | | - uint16_t massConcentrationPm0p5Raw = 0; |
161 | | - uint16_t massConcentrationPm1p0Raw = 0; |
162 | | - uint16_t massConcentrationPm2p5Raw = 0; |
163 | | - uint16_t massConcentrationPm4p0Raw = 0; |
164 | | - uint16_t massConcentrationPm10p0Raw = 0; |
| 185 | + float& numberConcentrationPm0p5, float& numberConcentrationPm1p0, |
| 186 | + float& numberConcentrationPm2p5, float& numberConcentrationPm4p0, |
| 187 | + float& numberConcentrationPm10p0) { |
| 188 | + uint16_t numberConcentrationPm0p5Raw = 0; |
| 189 | + uint16_t numberConcentrationPm1p0Raw = 0; |
| 190 | + uint16_t numberConcentrationPm2p5Raw = 0; |
| 191 | + uint16_t numberConcentrationPm4p0Raw = 0; |
| 192 | + uint16_t numberConcentrationPm10p0Raw = 0; |
165 | 193 | int16_t localError = 0; |
166 | 194 | localError = readNumberConcentrationValuesAsIntegers( |
167 | | - massConcentrationPm0p5Raw, massConcentrationPm1p0Raw, |
168 | | - massConcentrationPm2p5Raw, massConcentrationPm4p0Raw, |
169 | | - massConcentrationPm10p0Raw); |
170 | | - if (localError != NO_ERROR) { |
171 | | - return localError; |
172 | | - } |
173 | | - massConcentrationPm0p5 = SensirionI2cSen66::signalMassConcentrationPm0p5( |
174 | | - massConcentrationPm0p5Raw); |
175 | | - massConcentrationPm1p0 = SensirionI2cSen66::signalMassConcentrationPm1p0( |
176 | | - massConcentrationPm1p0Raw); |
177 | | - massConcentrationPm2p5 = SensirionI2cSen66::signalMassConcentrationPm2p5( |
178 | | - massConcentrationPm2p5Raw); |
179 | | - massConcentrationPm4p0 = SensirionI2cSen66::signalMassConcentrationPm4p0( |
180 | | - massConcentrationPm4p0Raw); |
181 | | - massConcentrationPm10p0 = SensirionI2cSen66::signalMassConcentrationPm10p0( |
182 | | - massConcentrationPm10p0Raw); |
| 195 | + numberConcentrationPm0p5Raw, numberConcentrationPm1p0Raw, |
| 196 | + numberConcentrationPm2p5Raw, numberConcentrationPm4p0Raw, |
| 197 | + numberConcentrationPm10p0Raw); |
| 198 | + if (localError != NO_ERROR) { |
| 199 | + return localError; |
| 200 | + } |
| 201 | + numberConcentrationPm0p5 = |
| 202 | + SensirionI2cSen66::signalNumberConcentrationPm0p5( |
| 203 | + numberConcentrationPm0p5Raw); |
| 204 | + numberConcentrationPm1p0 = |
| 205 | + SensirionI2cSen66::signalNumberConcentrationPm1p0( |
| 206 | + numberConcentrationPm1p0Raw); |
| 207 | + numberConcentrationPm2p5 = |
| 208 | + SensirionI2cSen66::signalNumberConcentrationPm2p5( |
| 209 | + numberConcentrationPm2p5Raw); |
| 210 | + numberConcentrationPm4p0 = |
| 211 | + SensirionI2cSen66::signalNumberConcentrationPm4p0( |
| 212 | + numberConcentrationPm4p0Raw); |
| 213 | + numberConcentrationPm10p0 = |
| 214 | + SensirionI2cSen66::signalNumberConcentrationPm10p0( |
| 215 | + numberConcentrationPm10p0Raw); |
183 | 216 | return localError; |
184 | 217 | } |
185 | 218 |
|
|
0 commit comments