From 36bde0ee1e85aa2043a10f249f48929eec801342 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Mon, 13 May 2024 00:04:27 +0800 Subject: [PATCH] update --- usrc/base/hardware.cpp | 12 ++++++++---- usrc/protocol_impl/function_impl/h2o2_fn_impl.cpp | 9 ++++++++- zsdk | 2 +- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/usrc/base/hardware.cpp b/usrc/base/hardware.cpp index 0625db8..4f26d7e 100644 --- a/usrc/base/hardware.cpp +++ b/usrc/base/hardware.cpp @@ -138,12 +138,17 @@ int32_t Hardware::h2o2_sensor_read_sub_ic_errorcode() { // } int32_t Hardware::h2o2_sensor_read_sub_ic_reg(int32_t add, uint16_t* val, size_t len) { // #ifdef H2O2_SENSOR_TYPE_HPP272 - return m_H2o2Sensor_HPP272.read_reg(add, val, len); + if (m_H2o2Sensor_HPP272.read_reg(add, val, len)) { + return 0; + } #endif #ifdef H2O2_SENSOR_TYPE_HMP110 - return m_H2o2Sensor_HMP110.read_reg(add, val, len); + if (m_H2o2Sensor_HMP110.read_reg(add, val, len)) { + return 0; + } #endif + return kerr_subdevice_offline; } int32_t Hardware::h2o2_sensor_data(report_h2o2_data_t* readdata) { #ifdef H2O2_SENSOR_TYPE_HMP110 @@ -151,7 +156,6 @@ int32_t Hardware::h2o2_sensor_data(report_h2o2_data_t* readdata) { int32_t h2o2adcVal = m_H2o2Sensor_H2O2Adc.getCacheVal(); HMP110::hmp110_sensordata_t sensordata; m_H2o2Sensor_HMP110.read_cache_sensor_data(&sensordata); - // float mv = adcv / 4095.0 * 3.3 * 1000; // float ma = mv / 150.0; @@ -166,7 +170,7 @@ int32_t Hardware::h2o2_sensor_data(report_h2o2_data_t* readdata) { readdata->saturation = 0; ZLOGI(TAG, "ecode: %d ppm:%d, rh:%d, temp:%d, df_ptemp:%d, ah:%d, mr:%d, wbt:%d, eh:%d", // - ecode, // + ecode, // h2o2ppm, // sensordata.rh, // sensordata.temp, // diff --git a/usrc/protocol_impl/function_impl/h2o2_fn_impl.cpp b/usrc/protocol_impl/function_impl/h2o2_fn_impl.cpp index 28fc87d..04d72cc 100644 --- a/usrc/protocol_impl/function_impl/h2o2_fn_impl.cpp +++ b/usrc/protocol_impl/function_impl/h2o2_fn_impl.cpp @@ -31,7 +31,14 @@ void fn_cmd_h2o2_sensor_read_sub_ic_reg(uint8_t from, uint8_t to, zcanbus_packet static uint16_t data[10]; memset(data, 0, sizeof(data)); - Hardware::ins().h2o2_sensor_read_sub_ic_reg(addr, data, regNum); + int32_t ret = Hardware::ins().h2o2_sensor_read_sub_ic_reg(addr, data, regNum); + if (ret != 0) { + zcanbus_send_errorack(packet, ret); + return; + } + for (size_t i = 0; i < regNum; i++) { + printf("data[%d] = %d\n", i, data[i]); + } zcanbus_send_ack(packet, (uint8_t*)&data, regNum * 2); } diff --git a/zsdk b/zsdk index 10fdc17..7e4ed4f 160000 --- a/zsdk +++ b/zsdk @@ -1 +1 @@ -Subproject commit 10fdc1707ddfa96c7135525aeb617c969a966dec +Subproject commit 7e4ed4f044844a0662e3770be2735f77cf16ce7d