Sps30Sensor¶
- class lsst.ts.ess.common.sensor.Sps30Sensor(log: Any)¶
Bases:
BaseSensor
Sensirion SPS30 Particulate Matter Sensor.
Perform protocol conversion for a Sensirion SPS30 particulate matter sensor which measures: - Particle size concentrations (PM1.0, PM2.5, PM4.0, PM10) - Particle number concentrations - Typical particle size
Attributes Summary
Methods Summary
extract_telemetry
(line)Extract particle measurement telemetry from sensor data.
Attributes Documentation
- TELEMETRY_PATTERN = re.compile('^\x02(?P<sensor_name>[^,]+),(?P<timestamp>\\d+\\.\\d+),(?P<size1>\\d+\\.\\d+),(?P<size2>\\d+\\.\\d+),(?P<size3>\\d+\\.\\d+),(?P<size4>\\d+\\.\\d+),(?P<size5>\\d+\\.\\d+),(?P<conc1>\\d+\\.\\d+),(?P<co)¶
- charset = 'ASCII'¶
- delimiter = ','¶
- terminator = '\r\n'¶
Methods Documentation
- async extract_telemetry(line: str) list[float | int | str] ¶
Extract particle measurement telemetry from sensor data.
- Parameters:
- line
str
A line of SPS30 telemetry data.
- line
- Returns:
list
A list containing all telemetry fields in the order specified by the XML definition. Invalid values are replaced with np.nan for numeric fields and empty strings for text fields.
- Raises:
- ValueError
If the line cannot be parsed or checksum validation fails.