Sps30Sensor#

class lsst.ts.ess.common.sensor.Sps30Sensor(log, num_channels=0)#

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

Parameters:
  • log (Logger)

  • num_channels (int, default: 0)

Attributes Summary

Methods Summary

extract_telemetry(line)

Extract particle measurement telemetry from sensor data.

Attributes Documentation

TELEMETRY_PATTERN = re.compile('(?P<timestamp>\\d+\\.\\d+),(?P<conc1>\\d+\\.\\d+),(?P<conc2>\\d+\\.\\d+),(?P<conc3>\\d+\\.\\d+),(?P<conc4>\\d+\\.\\d+),(?P<conc5>\\d+\\.\\d+),(?P<num1>\\d+\\.\\d+),(?P<num2>\\d+\\.\\d+),(?P<num3>\\d+)#

Methods Documentation

async extract_telemetry(line)#

Extract particle measurement telemetry from sensor data.

Parameters:

line (str) – A line of SPS30 telemetry data.

Returns:

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.

Return type:

list

Raises:

ValueError – If the line cannot be parsed or checksum validation fails.