|
@ -13,10 +13,27 @@ namespace iflytop { |
|
|
using namespace std; |
|
|
using namespace std; |
|
|
using namespace zcr; |
|
|
using namespace zcr; |
|
|
using namespace core; |
|
|
using namespace core; |
|
|
|
|
|
typedef enum { |
|
|
|
|
|
kcmd_ping = 0, |
|
|
|
|
|
kcmd_read_io = 1, |
|
|
|
|
|
kcmd_set_io = 2, |
|
|
|
|
|
kcmd_readadc_raw = 3, |
|
|
|
|
|
|
|
|
|
|
|
kcmd_m211887_operation = 1000, // 维萨拉压力传感器
|
|
|
|
|
|
kcmd_read_presure_sensor = 1001, |
|
|
|
|
|
kcmd_triple_warning_light_ctl = 1002, |
|
|
|
|
|
kcmd_high_power_electrical_ctl = 1003, |
|
|
|
|
|
kcmd_peristaltic_pump_ctl = 1004, |
|
|
|
|
|
kcmd_read_huacheng_pressure_sensor = 1005, |
|
|
|
|
|
kcmd_set_proportional_valve = 1006, // {4:valveId,4:valveValue}
|
|
|
|
|
|
kcmd_air_compressor_ch_ctrl = 1007, // {4:chstate}
|
|
|
|
|
|
} CmdID_t; |
|
|
|
|
|
|
|
|
class ZCanHost { |
|
|
class ZCanHost { |
|
|
ENABLE_LOGGER(ZCanHost); |
|
|
ENABLE_LOGGER(ZCanHost); |
|
|
|
|
|
|
|
|
|
|
|
public: |
|
|
|
|
|
private: |
|
|
shared_ptr<ZCanReceiverHost> m_zcanReceiverHost; |
|
|
shared_ptr<ZCanReceiverHost> m_zcanReceiverHost; |
|
|
|
|
|
|
|
|
map<string, function<bool(int argc, char** argv, string& retval)>> m_cmdMap; |
|
|
map<string, function<bool(int argc, char** argv, string& retval)>> m_cmdMap; |
|
@ -96,18 +113,25 @@ class ZCanHost { |
|
|
} huacheng_pressure_sensor_read_c1005_t; |
|
|
} huacheng_pressure_sensor_read_c1005_t; |
|
|
int32_t huacheng_pressure_sensor_get_pa(huacheng_pressure_sensor_read_c1005_t* rawdata) { |
|
|
int32_t huacheng_pressure_sensor_get_pa(huacheng_pressure_sensor_read_c1005_t* rawdata) { |
|
|
if (rawdata->unit == 0) { |
|
|
if (rawdata->unit == 0) { |
|
|
int32_t pa = (int32_t)rawdata->value / (pow(10.0,rawdata->precision) ) * 1000000; |
|
|
|
|
|
|
|
|
int32_t pa = (int32_t)rawdata->value / (pow(10.0, rawdata->precision)) * 1000000; |
|
|
return pa; |
|
|
return pa; |
|
|
} else if (rawdata->unit == 1) { |
|
|
} else if (rawdata->unit == 1) { |
|
|
int32_t pa = (int32_t)rawdata->value / (pow(10.0,rawdata->precision) ) * 1000; |
|
|
|
|
|
|
|
|
int32_t pa = (int32_t)rawdata->value / (pow(10.0, rawdata->precision)) * 1000; |
|
|
return pa; |
|
|
return pa; |
|
|
} else if (rawdata->unit == 2) { |
|
|
} else if (rawdata->unit == 2) { |
|
|
int32_t pa = (int32_t)rawdata->value / (pow(10.0,rawdata->precision) ); |
|
|
|
|
|
|
|
|
int32_t pa = (int32_t)rawdata->value / (pow(10.0, rawdata->precision)); |
|
|
return pa; |
|
|
return pa; |
|
|
} |
|
|
} |
|
|
return -1; |
|
|
return -1; |
|
|
} |
|
|
} |
|
|
int32_t huacheng_pressure_sensor_read_c1005(int sensorid, huacheng_pressure_sensor_read_c1005_t& value); |
|
|
int32_t huacheng_pressure_sensor_read_c1005(int sensorid, huacheng_pressure_sensor_read_c1005_t& value); |
|
|
|
|
|
|
|
|
|
|
|
int32_t call(int32_t cmdid); |
|
|
|
|
|
int32_t call(int32_t cmdid, int32_t val0); |
|
|
|
|
|
int32_t call(int32_t cmdid, int32_t val0, int32_t val1); |
|
|
|
|
|
|
|
|
|
|
|
private: |
|
|
|
|
|
int32_t call(int32_t cmdid, int32_t* val0, int32_t nval); |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
} // namespace iflytop
|
|
|
} // namespace iflytop
|