SFM Flow Meter Driver 1.0.0
API reference
Loading...
Searching...
No Matches
Classes | Namespaces
sfm_i2c_interface.hpp File Reference

CRTP byte transport for Sensirion SF06-family flow meters (SFM4300, …). More...

#include <cstddef>
#include <cstdint>
#include <type_traits>
Include dependency graph for sfm_i2c_interface.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sfm::I2cInterface< Derived >
 CRTP base for the SF06 I2C transport. More...
 

Namespaces

namespace  sfm
 

Detailed Description

CRTP byte transport for Sensirion SF06-family flow meters (SFM4300, …).

The driver only moves bytes. Sensirion SF06 devices do not use a register-address model: a transaction is either a raw write of a 16-bit command (plus optional 16-bit argument + CRC) or a raw read of N words, each followed by a CRC-8 byte. The platform adapter therefore implements:

Optional (default returns false = not supported):

Reads return false on NACK. The SF06 sensors NACK a read header while no fresh measurement is available (data sheet §4.3.1); the driver reports that as DriverError::NoData.