API Documentation

SFM3505

Sfm3505Device

The class Sfm3505DeviceBase implements the low level interface of the sensor. The class Sfm3505Device extends the Sfm3505DeviceBase. It provides additional functions to ease the use of the sensor.

class sensirion_i2c_sfm3505.device.Sfm3505DeviceBase(channel)[source]

Low level API implementation of SFM3505

__init__(channel)[source]
property channel
start_continuous_measurement()[source]

Start continuous measurement

start_continuous_measurement_with_filter(a_filter)[source]

Start continuous measurement with custom filter

Parameters:

a_filter – Low pass filter configuration.

Example:
sensor.start_continuous_measurement_with_filter(50961)
read_all_measurement_data_raw()[source]

Read out the full data from the sensor.

Return all_flow_bytes_raw:

Air-calibrated flow signal and O2-calibrated flow signal read from the sensor as Bytes

read_air_measurement_data_raw()[source]

Read out the air flow from the sensor.

Return air_flow_bytes_raw:

Air-calibrated flow signal read from the sensor as Bytes.

stop_continuous_measurement()[source]

This transfer stops the continuous measurement and puts the sensor in idle mode.

configure_averaging(average_window)[source]

Configures the sensor’s averaging mode.

Parameters:

average_window – Average window configuration value.

Example:
sensor.configure_averaging(2)
read_product_identifier()[source]

Reads the product identifier and serial number

Return product_identifier:

32-bit unique product and revision number

Return serial_number:

64 bit unique serial number of the device

class sensirion_i2c_sfm3505.device.Sfm3505Device(channel)[source]

Driver class implementation of SFM3505

sfm3505

Access to base class

__init__(channel)[source]
read_all_measurement_data()[source]

Read measurement data and apply appropriate scaling.

Return a_air_flow:

This signal represents the measured Air flow in slm (at 20°C and 1013.25hPa). It is scaled with the corresponding scaling factor and offset.

Return a_o2_flow:

This signal represents the measured O2 flow in slm (at 20°C and 1013.25hPa). It is scaled with the corresponding scaling factor and offset.

read_all_measurement_data_no_float()[source]

Read measurement data without scaling.

Return a_air_flow_raw:

This raw signal represents the measured Air flow as returned by the sensor. The result needs to be scaled to obtain slm.

Return a_o2_flow_raw:

This raw signal represents the measured O2 flow as returned by the sensor. The result needs to be scaled to obtain slm.

read_air_measurement_data()[source]

Read only the air flow measurement data.

Return a_air_flow:

This signal represents the measured Air flow in slm (at 20°C and 1013.25hPa). It is scaled with the corresponding scaling factor and offset.

read_air_measurement_data_no_float()[source]

Read only the air flow measurement data and does not apply scaling.

Return a_air_flow_raw:

This raw signal represents the measured Air flow as returned by the sensor. The result needs to be scaled to obtain slm.

Commands

The transfer classes specify the data that is transferred between host and sensor. The generated transfer classes are used by the driver class and not intended for direct use.

class sensirion_i2c_sfm3505.commands.FilterOptions(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]
T63_1MS = 33601
T63_3MS = 50961
T63_5MS = 56105
T63_10MS = 60527
class sensirion_i2c_sfm3505.commands.StartContinuousMeasurement[source]

Start continuous measurement

CMD_ID = 13827
pack()[source]
tx = <sensirion_driver_adapters.rx_tx_data.TxData object>
class sensirion_i2c_sfm3505.commands.StartContinuousMeasurementWithFilter(a_filter)[source]

Start continuous measurement with custom filter

CMD_ID = 13827
pack()[source]
tx = <sensirion_driver_adapters.rx_tx_data.TxData object>
class sensirion_i2c_sfm3505.commands.ReadAllMeasurementDataRaw[source]

Read out the full data from the sensor.

pack()[source]
rx = <sensirion_driver_adapters.rx_tx_data.RxData object>
class sensirion_i2c_sfm3505.commands.ReadAirMeasurementDataRaw[source]

Read out the air flow from the sensor.

pack()[source]
rx = <sensirion_driver_adapters.rx_tx_data.RxData object>
class sensirion_i2c_sfm3505.commands.StopContinuousMeasurement[source]

This transfer stops the continuous measurement and puts the sensor in idle mode.

CMD_ID = 16377
pack()[source]
tx = <sensirion_driver_adapters.rx_tx_data.TxData object>
class sensirion_i2c_sfm3505.commands.ConfigureAveraging(average_window)[source]

Configures the sensor’s averaging mode.

CMD_ID = 13901
pack()[source]
tx = <sensirion_driver_adapters.rx_tx_data.TxData object>
class sensirion_i2c_sfm3505.commands.ReadProductIdentifier[source]

Reads the product identifier and serial number

CMD_ID = 13915
pack()[source]
tx = <sensirion_driver_adapters.rx_tx_data.TxData object>
rx = <sensirion_driver_adapters.rx_tx_data.RxData object>

Result Types

The signal classes specify transformations of the raw sensor signals into a meaningful units. The generated signal types are used by the driver class and not intended for direct use.

class sensirion_i2c_sfm3505.result_types.SignalAirFlow(flow_bytes_raw)[source]

This signal represents the measured Air flow in slm (at 20°C and 1013.25hPa). It is scaled with the corresponding scaling factor and offset.

property value
class sensirion_i2c_sfm3505.result_types.SignalO2Flow(flow_bytes_raw)[source]

This signal represents the measured O2 flow in slm (at 20°C and 1013.25hPa). It is scaled with the corresponding scaling factor and offset.

property value
class sensirion_i2c_sfm3505.result_types.SignalO2FlowRaw(flow_bytes_raw)[source]

This raw signal represents the measured O2 flow as returned by the sensor. The result needs to be scaled to obtain slm.

property value
class sensirion_i2c_sfm3505.result_types.SignalAirFlowRaw(flow_bytes_raw)[source]

This raw signal represents the measured Air flow as returned by the sensor. The result needs to be scaled to obtain slm.

property value