From ff9a720319a98503a9891dbe462817946578d827 Mon Sep 17 00:00:00 2001 From: Dmitriy Shilin Date: Thu, 25 Dec 2025 12:54:45 +0100 Subject: [PATCH 1/2] sht4x: use I2C address type alias --- components/ocs_sensor/sht4x/sensor_pipeline.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ocs_sensor/sht4x/sensor_pipeline.h b/components/ocs_sensor/sht4x/sensor_pipeline.h index 177930ed..bff65467 100644 --- a/components/ocs_sensor/sht4x/sensor_pipeline.h +++ b/components/ocs_sensor/sht4x/sensor_pipeline.h @@ -24,7 +24,7 @@ class SensorPipeline : private core::NonCopyable<> { //! Various pipeline settings. struct Params { //! Sensor I2C address. - uint8_t i2c_addr { 0x44 }; + io::i2c::Address i2c_addr { 0x44 }; //! How often to read data from the sensor. system::Time read_interval { 0 }; From c26eded06ee88721afac4606dcf66107b0e47863 Mon Sep 17 00:00:00 2001 From: Dmitriy Shilin Date: Thu, 25 Dec 2025 12:57:41 +0100 Subject: [PATCH 2/2] sht4x: allow to specify I2C transfer speed --- components/ocs_sensor/sht4x/sensor_pipeline.cpp | 2 +- components/ocs_sensor/sht4x/sensor_pipeline.h | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/components/ocs_sensor/sht4x/sensor_pipeline.cpp b/components/ocs_sensor/sht4x/sensor_pipeline.cpp index 561f9a72..5b972c81 100644 --- a/components/ocs_sensor/sht4x/sensor_pipeline.cpp +++ b/components/ocs_sensor/sht4x/sensor_pipeline.cpp @@ -23,7 +23,7 @@ SensorPipeline::SensorPipeline(io::i2c::IStore& store, configASSERT(storage_); transceiver_ = store.add(transceiver_id_.c_str(), io::i2c::AddressLength::Bit_7, - params.i2c_addr, io::i2c::TransferSpeed::Fast); + params.i2c_addr, params.i2c_speed); configASSERT(transceiver_); sensor_.reset(new (std::nothrow) Sensor(*transceiver_, *storage_, id, params.sensor)); diff --git a/components/ocs_sensor/sht4x/sensor_pipeline.h b/components/ocs_sensor/sht4x/sensor_pipeline.h index bff65467..ff18494d 100644 --- a/components/ocs_sensor/sht4x/sensor_pipeline.h +++ b/components/ocs_sensor/sht4x/sensor_pipeline.h @@ -26,6 +26,9 @@ class SensorPipeline : private core::NonCopyable<> { //! Sensor I2C address. io::i2c::Address i2c_addr { 0x44 }; + //! Transfer speed for I2C communication. + io::i2c::TransferSpeed i2c_speed { io::i2c::TransferSpeed::Fast }; + //! How often to read data from the sensor. system::Time read_interval { 0 };