/* * @Author: mypx * @Date: 2025-07-07 14:25:47 * @LastEditTime: 2025-09-26 10:49:49 * @LastEditors: mypx mypx_coder@163.com * @Description: */ #include "pm_device.h" #include "ad7793.h" #include "data_process.h" #include "data_sampling.h" #include "et_log.h" #include "hmi_server.h" #include "pt100x.h" #include "servo.h" #include "storage.h" extern ad7793_dev_t ad7793_dev; int hmi_system_control_handler(SysCtrlCode code) { switch (code) { case SYS_CTRL_INIT_CODE: mb_sync_running_status_reg(PM_CALI_STATE); ET_WARN("SYS_CTRL_INIT_CODE"); break; case SYS_CTRL_START_MEAS_CODE: ET_WARN("SYS_CTRL_START_MEAS_CODE"); break; case SYS_CTRL_STOP_MEAS_CODE: ET_WARN("SYS_CTRL_STOP_MEAS_CODE"); break; case SYS_CTRL_CLEAR_DATA_CODE: ET_WARN("SYS_CTRL_CLEAR_DATA_CODE"); break; case SYS_CTRL_START_TEMP_CTRL_CODE: ET_WARN("SYS_CTRL_START_TEMP_CTRL_CODE"); break; case SYS_CTRL_STOP_TEMP_CTRL_CODE: ET_WARN("SYS_CTRL_STOP_TEMP_CTRL_CODE"); break; default: break; } return 0; } void hmi_measure_mode_handler(uint8_t mode) { ET_WARN("Measure mode changed to %d, but not implemented yet!", mode); } void hmi_target_temp_handler(float temp) { ET_WARN("Target temperature changed to %.1f, but not implemented yet!", temp); } void hmi_tube_length_handler(uint16_t length) { ET_WARN("Tube length changed to %d, but not implemented yet!", length); } void hmi_meas_precision_handler(uint8_t precision) { ET_WARN("Measurement precision changed to %d, but not implemented yet!", precision); } void hmi_auto_measure_count_handler(uint8_t count) { ET_WARN("Auto measure count changed to %d, but not implemented yet!", count); } mb_cmd_handler_t hmi_cmd_handler = { .system_ctrl_handler = hmi_system_control_handler, .meas_mode_handler = hmi_measure_mode_handler, .target_temp_handler = hmi_target_temp_handler, .tube_length_handler = hmi_tube_length_handler, .meas_precision_handler = hmi_meas_precision_handler, .auto_measure_count_handler = hmi_auto_measure_count_handler, }; int pm_device_start(pm_device_t *dev) { hmi_server_start(); return 0; } int pm_device_init(pm_device_t *dev) { pm_board_init(); pm_params_init(&dev->params); hmi_server_handler_register(&dev->hmi, &hmi_cmd_handler); hmi_server_init(&dev->hmi); pm_fsm_init(&dev->fz_fsm); //storage_init(); tec_control_init(&dev->tec); // if (servo_init() != 0) // { // ET_ERR("Servo init failed!"); // //return; // } // data_sampling_init(); // data_process_init(); return 0; }