From c3bc4650b57bfa179a136532d3c40c7a2c682eee Mon Sep 17 00:00:00 2001 From: zhaohe Date: Sun, 29 Oct 2023 10:57:35 +0800 Subject: [PATCH] udpate --- .../water_cooling_temperature_control_module.cpp | 18 +++++++++ .../water_cooling_temperature_control_module.hpp | 3 ++ ...o_computer_module_device_script_cmder_paser.cpp | 47 ++++++++++++++++++++-- components/zprotocols/zcancmder_v2 | 2 +- 4 files changed, 65 insertions(+), 5 deletions(-) diff --git a/components/water_cooling_temperature_control_module/water_cooling_temperature_control_module.cpp b/components/water_cooling_temperature_control_module/water_cooling_temperature_control_module.cpp index 04af080..9f0cb76 100644 --- a/components/water_cooling_temperature_control_module/water_cooling_temperature_control_module.cpp +++ b/components/water_cooling_temperature_control_module/water_cooling_temperature_control_module.cpp @@ -124,6 +124,9 @@ int32_t WaterCoolingTemperatureControlModule::module_get_reg(int32_t param_id, i GET_REG(kreg_module_errorbitflag0, geterrorbitflag0(), 1); GET_REG(kreg_module_errorbitflag1, geterrorbitflag1(), 1); + GET_REG(kreg_module_input_state, read_input_state(), 1); + GET_REG(kreg_module_output_state, read_output_io_state(), 1); + GET_REG(kreg_sensor_temperature0, getTemperatureSensorVal(0), 0.1); GET_REG(kreg_sensor_temperature1, getTemperatureSensorVal(1), 0.1); GET_REG(kreg_sensor_temperature2, getTemperatureSensorVal(2), 0.1); @@ -296,4 +299,19 @@ int32_t WaterCoolingTemperatureControlModule::module_writeio(int32_t idindex, in } m_ext_output[idindex].setState(io); return 0; +} + +int32_t WaterCoolingTemperatureControlModule::read_input_state() { + uint32_t iostate = 0; + for (int32_t i = 0; i < m_n_ext_input; i++) { + iostate |= m_ext_input[i].getStateUint32() << i; + } + return (int32_t)iostate; +} +int32_t WaterCoolingTemperatureControlModule::read_output_io_state() { + uint32_t iostate = 0; + for (int32_t i = 0; i < m_n_ext_output; i++) { + iostate |= m_ext_output[i].getStateUint32() << i; + } + return (int32_t)iostate; } \ No newline at end of file diff --git a/components/water_cooling_temperature_control_module/water_cooling_temperature_control_module.hpp b/components/water_cooling_temperature_control_module/water_cooling_temperature_control_module.hpp index 62dcdd5..2107fe4 100644 --- a/components/water_cooling_temperature_control_module/water_cooling_temperature_control_module.hpp +++ b/components/water_cooling_temperature_control_module/water_cooling_temperature_control_module.hpp @@ -103,6 +103,9 @@ class WaterCoolingTemperatureControlModule : public ZIModule { virtual int32_t module_readio(int32_t* io) override; virtual int32_t module_writeio(int32_t idindex, int32_t io) override; + int32_t read_input_state(); + int32_t read_output_io_state(); + private: void workloop(); diff --git a/components/zprotocol_helper/micro_computer_module_device_script_cmder_paser.cpp b/components/zprotocol_helper/micro_computer_module_device_script_cmder_paser.cpp index 97b6417..941203b 100644 --- a/components/zprotocol_helper/micro_computer_module_device_script_cmder_paser.cpp +++ b/components/zprotocol_helper/micro_computer_module_device_script_cmder_paser.cpp @@ -18,6 +18,16 @@ void MicroComputerModuleDeviceScriptCmderPaser::do_dumpreg(int32_t moduleId) { do_dumpreg(1, (const char**)paraV, &ack); } +static const char* dumpbit(int32_t bit) { + static char buf[100]; + sprintf(buf, "%d%d%d%d(0:3) %d%d%d%d(4:7) %d%d%d%d(8:11) %d%d%d%d(12:15)", // + (bit >> 0) & 0x1, (bit >> 1) & 0x1, (bit >> 2) & 0x1, (bit >> 3) & 0x1, // + (bit >> 4) & 0x1, (bit >> 5) & 0x1, (bit >> 6) & 0x1, (bit >> 7) & 0x1, // + (bit >> 8) & 0x1, (bit >> 9) & 0x1, (bit >> 10) & 0x1, (bit >> 11) & 0x1, // + (bit >> 12) & 0x1, (bit >> 13) & 0x1, (bit >> 14) & 0x1, (bit >> 15) & 0x1); + return buf; +} + void MicroComputerModuleDeviceScriptCmderPaser::do_dumpreg(int32_t paramN, const char* paraV[], ICmdParserACK* ack) { // ack->ecode = 0; @@ -27,10 +37,16 @@ void MicroComputerModuleDeviceScriptCmderPaser::do_dumpreg(int32_t paramN, const int32_t ecode = 0; ZLOGI(TAG, "dumpconfig %s", paraV[0]); -#define DUMP_CONFIG(tag, configid) \ +#define DUMP_CONFIG(tag, configid) \ + ecode = m_deviceManager->module_get_reg(moduleId, configid, &configval); \ + if (ecode == 0) { \ + ZLOGI(TAG, "%-30s :%d", tag, configval); \ + } + +#define DUMP_CONFIG_BIT(tag, configid) \ ecode = m_deviceManager->module_get_reg(moduleId, configid, &configval); \ - if (ecode == 0) { \ - ZLOGI(TAG, "%-30s :%d", tag, configval); \ + if (ecode == 0) { \ + ZLOGI(TAG, "%-30s :%s", tag, dumpbit(configval)); \ } /******************************************************************************* @@ -42,6 +58,10 @@ void MicroComputerModuleDeviceScriptCmderPaser::do_dumpreg(int32_t paramN, const DUMP_CONFIG("module_errorcode", kreg_module_errorcode); DUMP_CONFIG("module_initflag", kreg_module_initflag); DUMP_CONFIG("module_enableflag", kreg_module_enableflag); + DUMP_CONFIG_BIT("module_errorbitflag0", kreg_module_errorbitflag0); + DUMP_CONFIG_BIT("module_errorbitflag1", kreg_module_errorbitflag1); + DUMP_CONFIG_BIT("module_input_state", kreg_module_input_state); + DUMP_CONFIG_BIT("module_output_state", kreg_module_output_state); DUMP_CONFIG("module_last_cmd_exec_status", kreg_module_last_cmd_exec_status); DUMP_CONFIG("module_last_cmd_exec_val0", kreg_module_last_cmd_exec_val0); DUMP_CONFIG("module_last_cmd_exec_val1", kreg_module_last_cmd_exec_val1); @@ -181,10 +201,29 @@ void MicroComputerModuleDeviceScriptCmderPaser::do_dumpreg(int32_t paramN, const DUMP_CONFIG("pid_target", kreg_pid_target); DUMP_CONFIG("pid_nowoutput", kreg_pid_nowoutput); DUMP_CONFIG("pid_feedbackval", kreg_pid_feedbackval); - /******************************************************************************* * ·Ç±ê״̬ * *******************************************************************************/ + DUMP_CONFIG("fan0_ctrl_speed_level", kreg_fan0_ctrl_speed_level) + DUMP_CONFIG("fan1_ctrl_speed_level", kreg_fan1_ctrl_speed_level) + DUMP_CONFIG("fan2_ctrl_speed_level", kreg_fan2_ctrl_speed_level) + DUMP_CONFIG("fan3_ctrl_speed_level", kreg_fan3_ctrl_speed_level) + DUMP_CONFIG("fan4_ctrl_speed_level", kreg_fan4_ctrl_speed_level) + DUMP_CONFIG("fan0_speed_level", kreg_fan0_speed_level) + DUMP_CONFIG("fan1_speed_level", kreg_fan1_speed_level) + DUMP_CONFIG("fan2_speed_level", kreg_fan2_speed_level) + DUMP_CONFIG("fan3_speed_level", kreg_fan3_speed_level) + DUMP_CONFIG("fan4_speed_level", kreg_fan4_speed_level) + DUMP_CONFIG("pwm_pump0_ctrl_speed_level", kreg_pwm_pump0_ctrl_speed_level) + DUMP_CONFIG("pwm_pump1_ctrl_speed_level", kreg_pwm_pump1_ctrl_speed_level) + DUMP_CONFIG("pwm_pump2_ctrl_speed_level", kreg_pwm_pump2_ctrl_speed_level) + DUMP_CONFIG("pwm_pump3_ctrl_speed_level", kreg_pwm_pump3_ctrl_speed_level) + DUMP_CONFIG("pwm_pump4_ctrl_speed_level", kreg_pwm_pump4_ctrl_speed_level) + DUMP_CONFIG("pwm_pump0_speed_level", kreg_pwm_pump0_speed_level) + DUMP_CONFIG("pwm_pump1_speed_level", kreg_pwm_pump1_speed_level) + DUMP_CONFIG("pwm_pump2_speed_level", kreg_pwm_pump2_speed_level) + DUMP_CONFIG("pwm_pump3_speed_level", kreg_pwm_pump3_speed_level) + DUMP_CONFIG("pwm_pump4_speed_level", kreg_pwm_pump4_speed_level) } void MicroComputerModuleDeviceScriptCmderPaser::initialize(ICmdParser* cancmder, ZModuleDeviceManager* deviceManager) { diff --git a/components/zprotocols/zcancmder_v2 b/components/zprotocols/zcancmder_v2 index 59fdf6a..0f9409e 160000 --- a/components/zprotocols/zcancmder_v2 +++ b/components/zprotocols/zcancmder_v2 @@ -1 +1 @@ -Subproject commit 59fdf6a80d2504ee170ea8921642c35027ca6e11 +Subproject commit 0f9409ebe63d00be964d5573cb34dc79b94de24f