|
|
@ -13,21 +13,20 @@ static void onPacketReportTimer(void const* argument) { |
|
|
|
} |
|
|
|
|
|
|
|
void fn_cmd_h2o2_sensor_read_calibration_date(uint8_t from, uint8_t to, zcanbus_packet_t* packet, size_t len) { |
|
|
|
CHECK_PARAM_LEN(PARAM_LEN(), 1); |
|
|
|
int32_t subic = GET_PARAM(packet->params, 0); |
|
|
|
CHECK_PARAM_LEN(PARAM_LEN(), 0); |
|
|
|
int32_t data[3]; |
|
|
|
Hardware::ins().h2o2_sensor_read_calibration_date(&data[0], &data[1], &data[2]); |
|
|
|
zcanbus_send_ack(packet, (uint8_t*)&data, sizeof(data)); |
|
|
|
} |
|
|
|
void fn_cmd_h2o2_sensor_read_sub_ic_errorcode(uint8_t from, uint8_t to, zcanbus_packet_t* packet, size_t len) { |
|
|
|
CHECK_PARAM_LEN(PARAM_LEN(), 0); |
|
|
|
int32_t ecode = Hardware::ins().h2o2_sensor_read_sub_ic_errorcode(); |
|
|
|
zcanbus_send_ack(packet, (uint8_t*)&ecode, sizeof(ecode)); |
|
|
|
} |
|
|
|
void fn_cmd_h2o2_sensor_read_sub_ic_reg(uint8_t from, uint8_t to, zcanbus_packet_t* packet, size_t len) { |
|
|
|
CHECK_PARAM_LEN(PARAM_LEN(), 3); |
|
|
|
int32_t subic = GET_PARAM(packet->params, 0); |
|
|
|
int32_t addr = GET_PARAM(packet->params, 1); |
|
|
|
int32_t regNum = GET_PARAM(packet->params, 2); |
|
|
|
CHECK_PARAM_LEN(PARAM_LEN(), 2); |
|
|
|
int32_t addr = GET_PARAM(packet->params, 0); |
|
|
|
int32_t regNum = GET_PARAM(packet->params, 1); |
|
|
|
if (regNum > 10) regNum = 10; // 最多读10个寄存器
|
|
|
|
static uint16_t data[10]; |
|
|
|
memset(data, 0, sizeof(data)); |
|
|
|