|
@ -14,6 +14,33 @@ using namespace std; |
|
|
#define GPM_TO_SPEED(gpm) (gpm * 14.7)
|
|
|
#define GPM_TO_SPEED(gpm) (gpm * 14.7)
|
|
|
#define SPEED_TO_GPM(speed) (speed / 14.7)
|
|
|
#define SPEED_TO_GPM(speed) (speed / 14.7)
|
|
|
|
|
|
|
|
|
|
|
|
static inline int filter(int data) { |
|
|
|
|
|
static list<int> q; |
|
|
|
|
|
q.push_back(data); |
|
|
|
|
|
|
|
|
|
|
|
if (q.size() > 50) { |
|
|
|
|
|
q.pop_front(); |
|
|
|
|
|
} |
|
|
|
|
|
// 中值滤波
|
|
|
|
|
|
int datacache[51]; |
|
|
|
|
|
int ndata = 0; |
|
|
|
|
|
for (auto& var : q) { |
|
|
|
|
|
datacache[ndata] = var; |
|
|
|
|
|
ndata++; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < ndata; i++) { |
|
|
|
|
|
for (int j = i + 1; j < ndata; j++) { |
|
|
|
|
|
if (datacache[i] > datacache[j]) { |
|
|
|
|
|
int temp = datacache[i]; |
|
|
|
|
|
datacache[i] = datacache[j]; |
|
|
|
|
|
datacache[j] = temp; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return datacache[ndata / 2]; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
DeviceIoControlService::DeviceIoControlService() {} |
|
|
DeviceIoControlService::DeviceIoControlService() {} |
|
|
void DeviceIoControlService::initialize() { |
|
|
void DeviceIoControlService::initialize() { |
|
|
GET_TO_SERVICE(m_zcanHost); |
|
|
GET_TO_SERVICE(m_zcanHost); |
|
@ -25,17 +52,9 @@ void DeviceIoControlService::initialize() { |
|
|
startScan(); |
|
|
startScan(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void DeviceIoControlService::updateDisinfectantVolumeSample(float _pa) { |
|
|
|
|
|
float pa = _pa - 100; // 100当容器中没有液体时的压强
|
|
|
|
|
|
if (pa < 0) pa = 0; |
|
|
|
|
|
|
|
|
|
|
|
float g = m_volumeConvertor.pressurePa2VolumeG(_pa) * m_config->get_disinfectantWeightCorrectionFactor(); |
|
|
|
|
|
m_disinfectantVolumeSample_g = m_DisinfectantWeightFilter.filter(g); |
|
|
|
|
|
|
|
|
|
|
|
// logger->info("{} pa {} g", _pa, m_disinfectantVolumeSample_g);
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void DeviceIoControlService::startScan() { |
|
|
void DeviceIoControlService::startScan() { |
|
|
|
|
|
#if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
|
|
|
|
|
|
|
|
|
m_PressureSensorDataSampleThread.reset(new Thread("PressureSensorDataSampleThread", [this]() { |
|
|
m_PressureSensorDataSampleThread.reset(new Thread("PressureSensorDataSampleThread", [this]() { |
|
|
ThisThread thisThread; |
|
|
ThisThread thisThread; |
|
|
|
|
|
|
|
@ -70,17 +89,13 @@ void DeviceIoControlService::startScan() { |
|
|
|
|
|
|
|
|
thisThread.sleepForMs(100); |
|
|
thisThread.sleepForMs(100); |
|
|
|
|
|
|
|
|
// if (m_zcanHost->huacheng_pressure_sensor_read_c1005(5, sdata) == 0) {
|
|
|
|
|
|
// lock_guard<recursive_mutex> lock(lock_);
|
|
|
|
|
|
// m_pressure_sensor_data[5] = sdata;
|
|
|
|
|
|
// }
|
|
|
|
|
|
// thisThread.sleepForMs(10);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 计算并更新过氧化清重量 |
|
|
|
|
|
*/ |
|
|
|
|
|
{ //
|
|
|
{ //
|
|
|
updateDisinfectantVolumeSample(m_pressure_sensor_data[1].value / 1.0 /*pa*/); |
|
|
|
|
|
|
|
|
_pa = m_pressure_sensor_data[1].value / 1.0 /*pa*/; |
|
|
|
|
|
|
|
|
|
|
|
float pa = _pa - 100; // 100当容器中没有液体时的压强
|
|
|
|
|
|
if (pa < 0) pa = 0; |
|
|
|
|
|
float g = m_volumeConvertor.pressurePa2VolumeG(_pa) * m_config->get_disinfectantWeightCorrectionFactor(); |
|
|
|
|
|
m_disinfectantVolumeSample_g = m_DisinfectantWeightFilter.filter(g); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
})); |
|
|
})); |
|
@ -147,8 +162,119 @@ void DeviceIoControlService::startScan() { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
})); |
|
|
})); |
|
|
|
|
|
#endif
|
|
|
|
|
|
} |
|
|
|
|
|
/*******************************************************************************
|
|
|
|
|
|
* SensorState * |
|
|
|
|
|
*******************************************************************************/ |
|
|
|
|
|
|
|
|
|
|
|
void DeviceIoControlService::printerPrintf(string str) { GET_SERVICE(UartPrinter)->print(ZIconv::utf8_to_gb2312(str)); } |
|
|
|
|
|
|
|
|
|
|
|
void DeviceIoControlService::processReportPacket(uint8_t* packet, size_t len) { //
|
|
|
|
|
|
auto* cmdpacket = (transmit_disinfection_protocol_header_t*)packet; |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 更新过氧化氢传感器数据 |
|
|
|
|
|
*/ |
|
|
|
|
|
if (cmdpacket->cmdid == kreport_h2o2_sensor_data) { |
|
|
|
|
|
report_h2o2_data_t* h2o2data = (report_h2o2_data_t*)cmdpacket->data; |
|
|
|
|
|
report_h2o2_data_t h2o2datacache = *h2o2data; |
|
|
|
|
|
|
|
|
|
|
|
m_workQueue->enQueue([this, h2o2datacache]() { //
|
|
|
|
|
|
report_h2o2_data_t h2o2datac_cpy = h2o2datacache; |
|
|
|
|
|
|
|
|
|
|
|
if (h2o2datac_cpy.sensorid > 100 && h2o2datac_cpy.sensorid < 200) { |
|
|
|
|
|
H2O2Sensor_updateSensorData(h2o2datac_cpy.sensorid - 100, &h2o2datac_cpy); |
|
|
|
|
|
} else if (h2o2datac_cpy.sensorid < 100) { |
|
|
|
|
|
H2O2Sensor_updateSensorData(0, &h2o2datac_cpy); |
|
|
|
|
|
} else { |
|
|
|
|
|
logger->error("[h2o2 sensor] id:{} error sensorid", h2o2datac_cpy.sensorid); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
|
|
* H2O2 * |
|
|
|
|
|
*******************************************************************************/ |
|
|
|
|
|
|
|
|
|
|
|
int32_t DeviceIoControlService::H2O2Sensor_readH2O2PPM(int32_t sensorid) { |
|
|
|
|
|
std::lock_guard<std::mutex> lck(m_h2o2_sensor_data_lock_); |
|
|
|
|
|
if (sensorid > MAX_H2O2_SENSOR_NUM) return -1; |
|
|
|
|
|
|
|
|
|
|
|
h2o2_sensor_data_t* data = &m_h2o2_sensor_data[sensorid]; |
|
|
|
|
|
if (data->updatetime == 0) return -1; |
|
|
|
|
|
|
|
|
|
|
|
if (zsys_haspassedms(data->updatetime) > 10 * 1000) return -1; |
|
|
|
|
|
|
|
|
|
|
|
return data->h2o2; |
|
|
|
|
|
} |
|
|
|
|
|
int32_t DeviceIoControlService::H2O2Sensor_readHumid(int32_t sensorid) { |
|
|
|
|
|
std::lock_guard<std::mutex> lck(m_h2o2_sensor_data_lock_); |
|
|
|
|
|
if (sensorid > MAX_H2O2_SENSOR_NUM) return -1; |
|
|
|
|
|
|
|
|
|
|
|
h2o2_sensor_data_t* data = &m_h2o2_sensor_data[sensorid]; |
|
|
|
|
|
if (data->updatetime == 0) return -1; |
|
|
|
|
|
|
|
|
|
|
|
if (zsys_haspassedms(data->updatetime) > 10 * 1000) return -1; |
|
|
|
|
|
|
|
|
|
|
|
return data->humid; |
|
|
|
|
|
} |
|
|
|
|
|
int32_t DeviceIoControlService::H2O2Sensor_readTemperature(int32_t sensorid) { |
|
|
|
|
|
std::lock_guard<std::mutex> lck(m_h2o2_sensor_data_lock_); |
|
|
|
|
|
if (sensorid > MAX_H2O2_SENSOR_NUM) return -1; |
|
|
|
|
|
|
|
|
|
|
|
h2o2_sensor_data_t* data = &m_h2o2_sensor_data[sensorid]; |
|
|
|
|
|
if (data->updatetime == 0) return -1; |
|
|
|
|
|
|
|
|
|
|
|
if (zsys_haspassedms(data->updatetime) > 10 * 1000) return -1; |
|
|
|
|
|
|
|
|
|
|
|
return data->temp; |
|
|
|
|
|
} |
|
|
|
|
|
int32_t DeviceIoControlService::H2O2Sensor_readSaturation(int32_t sensorid) { |
|
|
|
|
|
std::lock_guard<std::mutex> lck(m_h2o2_sensor_data_lock_); |
|
|
|
|
|
if (sensorid > MAX_H2O2_SENSOR_NUM) return -1; |
|
|
|
|
|
|
|
|
|
|
|
h2o2_sensor_data_t* data = &m_h2o2_sensor_data[sensorid]; |
|
|
|
|
|
if (data->updatetime == 0) return -1; |
|
|
|
|
|
|
|
|
|
|
|
if (zsys_haspassedms(data->updatetime) > 10 * 1000) return -1; |
|
|
|
|
|
|
|
|
|
|
|
return data->saturation; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void DeviceIoControlService::H2O2Sensor_updateSensorData(int32_t sensorid, report_h2o2_data_t* data) { |
|
|
|
|
|
std::lock_guard<std::mutex> lck(m_h2o2_sensor_data_lock_); |
|
|
|
|
|
if (sensorid > MAX_H2O2_SENSOR_NUM) { |
|
|
|
|
|
logger->warn("H2O2Sensor_updateSensorData fail,sensorid:{} is invalid", sensorid); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
h2o2_sensor_data_t* sensor_data = &m_h2o2_sensor_data[sensorid]; |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 系统启动至少5分钟后,才开始更新数据 |
|
|
|
|
|
*/ |
|
|
|
|
|
if (zsteady_clock().gets() > 5 * 60) { |
|
|
|
|
|
sensor_data->h2o2 = data->h2o2 / 10; |
|
|
|
|
|
sensor_data->temp = data->temp / 10; |
|
|
|
|
|
sensor_data->humid = data->humid / 10; |
|
|
|
|
|
sensor_data->saturation = data->saturation / 10; |
|
|
|
|
|
sensor_data->sensorId = data->sensorid; |
|
|
|
|
|
sensor_data->updatetime = zsys_get_ticket(); |
|
|
|
|
|
} else { |
|
|
|
|
|
sensor_data->h2o2 = 0; |
|
|
|
|
|
sensor_data->temp = data->temp / 10; |
|
|
|
|
|
sensor_data->humid = 0; |
|
|
|
|
|
sensor_data->saturation = 0; |
|
|
|
|
|
sensor_data->sensorId = data->sensorid; |
|
|
|
|
|
sensor_data->updatetime = zsys_get_ticket(); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
|
|
|
|
|
|
|
|
|
void DeviceIoControlService::airCompressor_setState(bool val) { |
|
|
void DeviceIoControlService::airCompressor_setState(bool val) { |
|
|
logger->info("airCompressor_setState:{}", val); |
|
|
logger->info("airCompressor_setState:{}", val); |
|
|
if (val) { |
|
|
if (val) { |
|
@ -282,36 +408,6 @@ int DeviceIoControlService::sprayLiquidPump_getState() { // |
|
|
|
|
|
|
|
|
return (sprayLiquidPump_getRPM() != 0); |
|
|
return (sprayLiquidPump_getRPM() != 0); |
|
|
} |
|
|
} |
|
|
/*******************************************************************************
|
|
|
|
|
|
* SensorState * |
|
|
|
|
|
*******************************************************************************/ |
|
|
|
|
|
|
|
|
|
|
|
static int filter(int data) { |
|
|
|
|
|
static list<int> q; |
|
|
|
|
|
q.push_back(data); |
|
|
|
|
|
|
|
|
|
|
|
if (q.size() > 50) { |
|
|
|
|
|
q.pop_front(); |
|
|
|
|
|
} |
|
|
|
|
|
// 中值滤波
|
|
|
|
|
|
int datacache[51]; |
|
|
|
|
|
int ndata = 0; |
|
|
|
|
|
for (auto& var : q) { |
|
|
|
|
|
datacache[ndata] = var; |
|
|
|
|
|
ndata++; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < ndata; i++) { |
|
|
|
|
|
for (int j = i + 1; j < ndata; j++) { |
|
|
|
|
|
if (datacache[i] > datacache[j]) { |
|
|
|
|
|
int temp = datacache[i]; |
|
|
|
|
|
datacache[i] = datacache[j]; |
|
|
|
|
|
datacache[j] = temp; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return datacache[ndata / 2]; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
int DeviceIoControlService::getDisinfectantVolume_g() { |
|
|
int DeviceIoControlService::getDisinfectantVolume_g() { |
|
|
// kpa;
|
|
|
// kpa;
|
|
@ -339,107 +435,8 @@ void DeviceIoControlService::warningLightCtrl(int r, int g, int b, int w) { |
|
|
lock_guard<recursive_mutex> lock(lock_); |
|
|
lock_guard<recursive_mutex> lock(lock_); |
|
|
m_zcanHost->warning_light_ctrl_c1002(1, r, g, b, w); |
|
|
m_zcanHost->warning_light_ctrl_c1002(1, r, g, b, w); |
|
|
} |
|
|
} |
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
void DeviceIoControlService::printerPrintf(string str) { GET_SERVICE(UartPrinter)->print(ZIconv::utf8_to_gb2312(str)); } |
|
|
|
|
|
|
|
|
|
|
|
void DeviceIoControlService::processReportPacket(uint8_t* packet, size_t len) { //
|
|
|
|
|
|
auto* cmdpacket = (transmit_disinfection_protocol_header_t*)packet; |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 更新过氧化氢传感器数据 |
|
|
|
|
|
*/ |
|
|
|
|
|
if (cmdpacket->cmdid == kreport_h2o2_sensor_data) { |
|
|
|
|
|
report_h2o2_data_t* h2o2data = (report_h2o2_data_t*)cmdpacket->data; |
|
|
|
|
|
report_h2o2_data_t h2o2datacache = *h2o2data; |
|
|
|
|
|
|
|
|
|
|
|
m_workQueue->enQueue([this, h2o2datacache]() { //
|
|
|
|
|
|
report_h2o2_data_t h2o2datac_cpy = h2o2datacache; |
|
|
|
|
|
|
|
|
|
|
|
if (h2o2datac_cpy.sensorid > 100 && h2o2datac_cpy.sensorid < 200) { |
|
|
|
|
|
H2O2Sensor_updateSensorData(h2o2datac_cpy.sensorid - 100, &h2o2datac_cpy); |
|
|
|
|
|
} else if (h2o2datac_cpy.sensorid < 100) { |
|
|
|
|
|
H2O2Sensor_updateSensorData(0, &h2o2datac_cpy); |
|
|
|
|
|
} else { |
|
|
|
|
|
logger->error("[h2o2 sensor] id:{} error sensorid", h2o2datac_cpy.sensorid); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
int32_t DeviceIoControlService::H2O2Sensor_readH2O2PPM(int32_t sensorid) { |
|
|
|
|
|
std::lock_guard<std::mutex> lck(m_h2o2_sensor_data_lock_); |
|
|
|
|
|
if (sensorid > MAX_H2O2_SENSOR_NUM) return -1; |
|
|
|
|
|
|
|
|
|
|
|
h2o2_sensor_data_t* data = &m_h2o2_sensor_data[sensorid]; |
|
|
|
|
|
if (data->updatetime == 0) return -1; |
|
|
|
|
|
|
|
|
|
|
|
if (zsys_haspassedms(data->updatetime) > 10 * 1000) return -1; |
|
|
|
|
|
|
|
|
|
|
|
return data->h2o2; |
|
|
|
|
|
} |
|
|
|
|
|
int32_t DeviceIoControlService::H2O2Sensor_readHumid(int32_t sensorid) { |
|
|
|
|
|
std::lock_guard<std::mutex> lck(m_h2o2_sensor_data_lock_); |
|
|
|
|
|
if (sensorid > MAX_H2O2_SENSOR_NUM) return -1; |
|
|
|
|
|
|
|
|
|
|
|
h2o2_sensor_data_t* data = &m_h2o2_sensor_data[sensorid]; |
|
|
|
|
|
if (data->updatetime == 0) return -1; |
|
|
|
|
|
|
|
|
|
|
|
if (zsys_haspassedms(data->updatetime) > 10 * 1000) return -1; |
|
|
|
|
|
|
|
|
|
|
|
return data->humid; |
|
|
|
|
|
} |
|
|
|
|
|
int32_t DeviceIoControlService::H2O2Sensor_readTemperature(int32_t sensorid) { |
|
|
|
|
|
std::lock_guard<std::mutex> lck(m_h2o2_sensor_data_lock_); |
|
|
|
|
|
if (sensorid > MAX_H2O2_SENSOR_NUM) return -1; |
|
|
|
|
|
|
|
|
|
|
|
h2o2_sensor_data_t* data = &m_h2o2_sensor_data[sensorid]; |
|
|
|
|
|
if (data->updatetime == 0) return -1; |
|
|
|
|
|
|
|
|
|
|
|
if (zsys_haspassedms(data->updatetime) > 10 * 1000) return -1; |
|
|
|
|
|
|
|
|
|
|
|
return data->temp; |
|
|
|
|
|
} |
|
|
|
|
|
int32_t DeviceIoControlService::H2O2Sensor_readSaturation(int32_t sensorid) { |
|
|
|
|
|
std::lock_guard<std::mutex> lck(m_h2o2_sensor_data_lock_); |
|
|
|
|
|
if (sensorid > MAX_H2O2_SENSOR_NUM) return -1; |
|
|
|
|
|
|
|
|
|
|
|
h2o2_sensor_data_t* data = &m_h2o2_sensor_data[sensorid]; |
|
|
|
|
|
if (data->updatetime == 0) return -1; |
|
|
|
|
|
|
|
|
|
|
|
if (zsys_haspassedms(data->updatetime) > 10 * 1000) return -1; |
|
|
|
|
|
|
|
|
|
|
|
return data->saturation; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void DeviceIoControlService::H2O2Sensor_updateSensorData(int32_t sensorid, report_h2o2_data_t* data) { |
|
|
|
|
|
std::lock_guard<std::mutex> lck(m_h2o2_sensor_data_lock_); |
|
|
|
|
|
if (sensorid > MAX_H2O2_SENSOR_NUM) { |
|
|
|
|
|
logger->warn("H2O2Sensor_updateSensorData fail,sensorid:{} is invalid", sensorid); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
h2o2_sensor_data_t* sensor_data = &m_h2o2_sensor_data[sensorid]; |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 系统启动至少5分钟后,才开始更新数据 |
|
|
|
|
|
*/ |
|
|
|
|
|
if (zsteady_clock().gets() > 5 * 60) { |
|
|
|
|
|
sensor_data->h2o2 = data->h2o2 / 10; |
|
|
|
|
|
sensor_data->temp = data->temp / 10; |
|
|
|
|
|
sensor_data->humid = data->humid / 10; |
|
|
|
|
|
sensor_data->saturation = data->saturation / 10; |
|
|
|
|
|
sensor_data->sensorId = data->sensorid; |
|
|
|
|
|
sensor_data->updatetime = zsys_get_ticket(); |
|
|
|
|
|
} else { |
|
|
|
|
|
sensor_data->h2o2 = 0; |
|
|
|
|
|
sensor_data->temp = data->temp / 10; |
|
|
|
|
|
sensor_data->humid = 0; |
|
|
|
|
|
sensor_data->saturation = 0; |
|
|
|
|
|
sensor_data->sensorId = data->sensorid; |
|
|
|
|
|
sensor_data->updatetime = zsys_get_ticket(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
#ifdef PROJECT_TYPE_PIPE_DISINFECTION
|
|
|
#ifdef PROJECT_TYPE_PIPE_DISINFECTION
|
|
|
|
|
|
|
|
|
void DeviceIoControlService::AirInletProportionalValve_setState(int32_t val) { |
|
|
void DeviceIoControlService::AirInletProportionalValve_setState(int32_t val) { |
|
@ -503,4 +500,26 @@ float DeviceIoControlService::airCompressor_getPressureDirect() { |
|
|
return ack / 10.0; |
|
|
return ack / 10.0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef PROJECT_TYPE_DRAW_BAR_BOX
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
|
|
* 拉杆箱消毒机-喷液泵 * |
|
|
|
|
|
*******************************************************************************/ |
|
|
|
|
|
void DeviceIoControlService::DBDB__sprayLiquidPump_run(int gpm) {} |
|
|
|
|
|
|
|
|
|
|
|
int32_t DeviceIoControlService::DBDB__readPressureSensor(int index) { return 0; } |
|
|
|
|
|
int32_t DeviceIoControlService::DBDB__sprayAirCompressorPowerCtrl(int index) { return 0; } |
|
|
|
|
|
int32_t DeviceIoControlService::DBDB__airTightnessTestAirCompressorPowerCtrl(int index) { return 0; } |
|
|
|
|
|
|
|
|
|
|
|
int32_t DeviceIoControlService::DBDB__heaterCtrl(int index) { return 0; } |
|
|
|
|
|
int32_t DeviceIoControlService::DBDB__heaterCtrlSafeValve(int index) { return 0; } |
|
|
|
|
|
int32_t DeviceIoControlService::DBDB__heaterReadElectricCurrent() { return 0; } |
|
|
|
|
|
int32_t DeviceIoControlService::DBDB__heaterReadTemperatureData() { return 0; } |
|
|
|
|
|
|
|
|
|
|
|
int32_t DeviceIoControlService::DBDB__miniPwmBlowerCtrl(int index) { return 0; } |
|
|
|
|
|
int32_t DeviceIoControlService::DBDB__miniPwmBlowerReadFbcount() { return 0; } |
|
|
|
|
|
|
|
|
|
|
|
int32_t DeviceIoControlService::DBDB__extValveCtrl(int index) { return 0; } |
|
|
|
|
|
int32_t DeviceIoControlService::DBDB__extValBoardIsOnline() { return 0; } |
|
|
|
|
|
#endif
|