Browse Source

update

master
zhaohe 2 years ago
parent
commit
d3a2855927
  1. 32
      src/service/disinfection_ctl_service.cpp
  2. 25
      src/service/sensor_data_scan.cpp
  3. 4
      src/service/sensor_data_scan.hpp

32
src/service/disinfection_ctl_service.cpp

@ -22,43 +22,49 @@ using namespace std;
*
*/
#define PRE_HEAT_TIME 60
#define PRE_HEAT_TIME (5 * 60)
void DisinfectionCtrlService::drainingPump_open() { m_zcanHost->pumpctrl_c1004(1, 300, -300, 1, 20); }
void DisinfectionCtrlService::drainingPump_close() { m_zcanHost->pumpctrl_c1004(1, 300, 0, 1, 20); }
void DisinfectionCtrlService::drainingPump_open() { m_zcanHost->pumpctrl_c1004(2, 100, -300, 1, 20); }
void DisinfectionCtrlService::drainingPump_close() { m_zcanHost->pumpctrl_c1004(2, 100, 0, 1, 20); }
void DisinfectionCtrlService::replenishingFluidsPump_open() { m_zcanHost->pumpctrl_c1004(1, 300, 300, 1, 20); }
void DisinfectionCtrlService::replenishingFluidsPump_close() { m_zcanHost->pumpctrl_c1004(1, 300, 0, 1, 20); }
void DisinfectionCtrlService::replenishingFluidsPump_open() { m_zcanHost->pumpctrl_c1004(2, 100, 300, 1, 20); }
void DisinfectionCtrlService::replenishingFluidsPump_close() { m_zcanHost->pumpctrl_c1004(2, 100, 0, 1, 20); }
void DisinfectionCtrlService::sprayLiquidPump_open() { m_zcanHost->pumpctrl_c1004(1, 300, 200, 1, 10); }
void DisinfectionCtrlService::sprayLiquidPump_close() { m_zcanHost->pumpctrl_c1004(1, 300, 0, 1, 10); }
void DisinfectionCtrlService::sprayLiquidPump_open() { m_zcanHost->pumpctrl_c1004(1, 100, 200, 1, 15); }
void DisinfectionCtrlService::sprayLiquidPump_close() { m_zcanHost->pumpctrl_c1004(1, 100, 0, 1, 15); }
void DisinfectionCtrlService::airCompressor(bool val) {
if (val) {
m_zcanHost->writeio(0, 1);
usleep(500 * 100);
m_zcanHost->writeio(1, 1);
} else {
m_zcanHost->writeio(0, 0);
m_zcanHost->writeio(1, 0);
usleep(500 * 100);
m_zcanHost->writeio(0, 0);
}
}
void DisinfectionCtrlService::blower_setPower(bool val) {
if (val) {
m_zcanHost->writeio(2, 1);
usleep(500 * 100);
m_zcanHost->writeio(3, 1);
} else {
m_zcanHost->writeio(2, 0);
m_zcanHost->writeio(3, 0);
usleep(500 * 100);
m_zcanHost->writeio(2, 0);
}
}
void DisinfectionCtrlService::heartingPlate_setPower(bool val) {
if (val) {
m_zcanHost->writeio(4, 1);
usleep(500 * 100);
m_zcanHost->writeio(5, 1);
} else {
m_zcanHost->writeio(4, 0);
m_zcanHost->writeio(5, 0);
usleep(500 * 100);
m_zcanHost->writeio(4, 0);
}
}
@ -194,6 +200,12 @@ void DisinfectionCtrlService::startReplenishingFluids(int stopatg) {
if (nowvolume > stopatg) {
break;
}
if (nowvolume > 4500) {
logger->warn("replenishingFluids reach full level {}g", nowvolume);
break;
}
thisThread.sleepForMs(1000);
}
logger->info("stopReplenishingFluids");

25
src/service/sensor_data_scan.cpp

@ -27,11 +27,12 @@ void SensorDataScan::startScan() {
i++;
if (i % 1000 == 0) {
m_zcanHost->readadc(0, m_adc_0);
m_zcanHost->readadc(1, m_adc_1);
m_zcanHost->readadc(2, m_adc_2);
m_zcanHost->readadc(3, m_adc_3);
m_zcanHost->readadc(4, m_adc_4);
m_zcanHost->readadc(5, m_adc_5);
// m_zcanHost->readadc(3, m_adc_3);
// m_zcanHost->readadc(4, m_adc_4);
// m_zcanHost->readadc(5, m_adc_5);
}
if (i % 3000 == 0) {
@ -48,8 +49,8 @@ void SensorDataScan::startScan() {
}
if (i % 100 == 0) {
m_zcanHost->readio(1, m_waterImmersionSensor1);
m_zcanHost->readio(2, m_waterImmersionSensor2);
// m_zcanHost->readio(1, m_waterImmersionSensor1);
// m_zcanHost->readio(2, m_waterImmersionSensor2);
}
}
}));
@ -57,16 +58,16 @@ void SensorDataScan::startScan() {
int SensorDataScan::getAirCompressor_io1() { return m_zcanHost->read_writeio_state_cache(1); }
int SensorDataScan::getAirCompressor_io2() { return m_zcanHost->read_writeio_state_cache(2); }
int SensorDataScan::getAirCompressor_currentValue() { return m_adc_1; }
int SensorDataScan::getAirCompressor_currentValue() { return m_adc_0; }
int SensorDataScan::getAirBlower_io1() { return m_zcanHost->read_writeio_state_cache(3); }
int SensorDataScan::getAirBlower_io2() { return m_zcanHost->read_writeio_state_cache(4); }
int SensorDataScan::getAirBlower_currentValue() { return m_adc_2; }
int SensorDataScan::getAirBlower_currentValue() { return m_adc_1; }
// heatingStrip
int SensorDataScan::getHeatingStrip_io1() { return m_zcanHost->read_writeio_state_cache(5); }
int SensorDataScan::getHeatingStrip_io2() { return m_zcanHost->read_writeio_state_cache(6); }
int SensorDataScan::getHeatingStrip_currentValue() { return m_adc_3; }
int SensorDataScan::getHeatingStrip_currentValue() { return m_adc_2; }
int SensorDataScan::getSprinkler_PumpRPM() { return m_zcanHost->pumpctrl_c1004_get_speed_cache(2); }
int SensorDataScan::getChargingPump_PumpRPM() { return m_zcanHost->pumpctrl_c1004_get_speed_cache(1); }
@ -75,7 +76,7 @@ int SensorDataScan::getDisinfectantVolume_g() {
// kpa;
int pa = m_zcanHost->huacheng_pressure_sensor_get_pa(&m_pressure_sensor_data[0]);
// m(kg)=2.11*P(kPa)
pa = 1; // TODO 检查传感器异常,则不允许加液
// pa = 1; // TODO 检查传感器异常,则不允许加液
return 2.11 * pa * 1000;
}
@ -89,8 +90,8 @@ SensorDataScan::h2o2sensor_data_t SensorDataScan::getH2O2SenSorData1() {
// int16_t temperature1; // °C * 100 0x0102 温度
// int16_t relative_humidity; // %RH * 100 0x0103 相对湿度
data.h2o2 = m_hpp272_data_1.hydrogen_peroxide_volume;
data.humid = m_hpp272_data_1.relative_humidity;
data.temp = m_hpp272_data_1.temperature1;
data.saturation = m_hpp272_data_1.h2o_h2o2_rs;
data.humid = m_hpp272_data_1.relative_humidity / 100;
data.temp = m_hpp272_data_1.temperature1 / 100;
data.saturation = m_hpp272_data_1.h2o_h2o2_rs / 100;
return data;
}

4
src/service/sensor_data_scan.hpp

@ -49,11 +49,9 @@ class SensorDataScan : public enable_shared_from_this<SensorDataScan> {
bool m_waterImmersionSensor1 = false; // 漏液检测
bool m_waterImmersionSensor2 = false; // 仓内液体检测
int m_adc_0 = 0; //
int m_adc_1 = 0; //
int m_adc_2 = 0;
int m_adc_3 = 0;
int m_adc_4 = 0;
int m_adc_5 = 0;
public:
SensorDataScan();

Loading…
Cancel
Save