Browse Source

update

master
zhaohe 1 year ago
parent
commit
606ce17d9a
  1. 41
      usrc/board/share/h2o2_sensor_driver.cpp
  2. 3
      usrc/protocol_processer_impl/large_space_dm_power_ctrl_board_pp.cpp
  3. 1
      usrc/protocol_processer_impl/share/h2o2_sensor_pp.cpp
  4. 2
      zsdk

41
usrc/board/share/h2o2_sensor_driver.cpp

@ -20,14 +20,16 @@ void H2O2SensorDriver::initialize(UART_HandleTypeDef* huart, ADC_HandleTypeDef*
m_H2O2Adc.initialize("H2O2Adc", hadc, adcChannel);
m_HMP110.init(&m_ModbusBlockHost);
m_detectId = 240;
if (m_HMP110.ping(1)) {
ZLOGI(TAG, "H2O2 HMP110 Sensor detect id: 1");
m_detectId = 1;
}
if (m_HMP110.ping(240)) {
m_detectId = 240;
}
m_HMP110.setid(m_detectId);
ZLOGI(TAG, "H2O2 HMP110 Sensor detect id: %d", m_detectId);
// ZLOGI(TAG, "H2O2 HMP110 Sensor detect id: %d", m_detectId);
osThreadDef(H2O2CaptureThread, c_onH2O2CaptureThread, osPriorityNormal, 0, 1024);
H2O2CaptureThreadId = osThreadCreate(osThread(H2O2CaptureThread), this);
@ -62,19 +64,24 @@ int32_t H2O2SensorDriver::h2o2_sensor_data(report_h2o2_data_t* readdata) {
h2o2adcData = m_H2O2Adc.getCacheVal();
m_HMP110.read_cache_sensor_data(&sensordata);
readdata->sensor_error = m_HMP110.read_cache_errorcode() != 0;
readdata->h2o2 = h2o2adcToPPM(h2o2adcData);
readdata->humid = sensordata.rh;
readdata->temp = sensordata.temp;
readdata->saturation = 0;
ZLOGI(TAG, "ppm:%d, rh:%d, temp:%d, df_ptemp:%d, ah:%d, mr:%d, wbt:%d, eh:%d", //
readdata->h2o2, //
sensordata.rh, //
sensordata.temp, //
sensordata.df_ptemp, //
sensordata.ah, //
sensordata.mr, //
sensordata.wet_bulb_temp, //
if (m_detectId > 0) {
readdata->sensor_error = m_HMP110.read_cache_errorcode() != 0;
} else {
readdata->sensor_error = 1;
}
readdata->h2o2 = h2o2adcToPPM(h2o2adcData);
readdata->humid = sensordata.rh;
readdata->temp = sensordata.temp;
readdata->saturation = 0;
ZLOGI(TAG, "ppm:%d(adc:%d), rh:%d, temp:%d, df_ptemp:%d, ah:%d, mr:%d, wbt:%d, eh:%d", //
readdata->h2o2, //
h2o2adcData, //
sensordata.rh, //
sensordata.temp, //
sensordata.df_ptemp, //
sensordata.ah, //
sensordata.mr, //
sensordata.wet_bulb_temp, //
sensordata.enthalpy);
return 0;
}
@ -82,9 +89,7 @@ int32_t H2O2SensorDriver::h2o2_sensor_data(report_h2o2_data_t* readdata) {
void H2O2SensorDriver::onH2O2CaptureThread() {
while (1) {
osDelay(1000);
if (m_detectId > 0) {
m_H2O2Adc.updateAdcValToCache();
m_HMP110.updateSensorDataAndErrorcode();
}
m_H2O2Adc.updateAdcValToCache();
m_HMP110.updateSensorDataAndErrorcode();
}
}

3
usrc/protocol_processer_impl/large_space_dm_power_ctrl_board_pp.cpp

@ -28,7 +28,7 @@ void LargeSpaceDmPowerCtrlBoardPP::initialize() {
BIND_FN(H2O2SensorPP, h2o2_sensor_read_sub_ic_errorcode);
BIND_FN(H2O2SensorPP, h2o2_sensor_read_sub_ic_reg);
// H2O2SensorPP::ins()->initialize(&DEVICE->m_h2o2Sensor);
H2O2SensorPP::ins()->initialize(&DEVICE->m_h2o2Sensor);
}
/***********************************************************************************************************************
@ -45,6 +45,7 @@ void LargeSpaceDmPowerCtrlBoardPP::heater_ctrl_safe_valve(ProcessContext* cxt) {
}
void LargeSpaceDmPowerCtrlBoardPP::heater_read_electric_current(ProcessContext* cxt) { //
auto val = DEVICE->heater_read_electric_current();
// ZLOGI(TAG, "heater_read_electric_current: %d", val);
zcanbus_send_ack(cxt->packet, (uint8_t*)val, sizeof(val));
}
void LargeSpaceDmPowerCtrlBoardPP::heater_read_temperature_data(ProcessContext* cxt) { //

1
usrc/protocol_processer_impl/share/h2o2_sensor_pp.cpp

@ -21,6 +21,7 @@ static void onPacketReportTimer(void const* argument) {
void H2O2SensorPP::initialize(H2O2SensorDriver* h2o2sd) {
m_h2o2sd = h2o2sd;
ZASSERT(m_h2o2sd != NULL);
osTimerDef(PacketReportTimer, onPacketReportTimer);
PacketReportTimerId = osTimerCreate(osTimer(PacketReportTimer), osTimerPeriodic, NULL);
osTimerStart(PacketReportTimerId, 5000);

2
zsdk

@ -1 +1 @@
Subproject commit 9f85aa311eb817787e4064d29f57d7bb724d45e7
Subproject commit 0513111d9c06df9f12db67e96b54fd22cfcf4fe5
Loading…
Cancel
Save