/** * @file mode_control.h * @author xushenghao * @date 2024-03-01 00:30:20 * @brief 多重控制模块:DAC、PWM变频 * @copyright Copyright (c) 2024 by xxx, All Rights Reserved. */ #ifndef __MODE_CONTROL_H #define __MODE_CONTROL_H #include "lib.h" #include "filter.h" #include "mode_def.h" #include "mode_control_def.h" #include "mode_control_adjust.h" #define MODE_CONTROL_CYCLE_25 249 // 控制周期25ms #define MODE_CONTROL_CYCLE_50 499 // 控制周期50ms #define MODE_CONTROL_CYCLE_100 999 // 控制周期100ms #define MODE_CONTROL_CYCLE MODE_CONTROL_CYCLE_25 // 控制周期 #define MODE_CONTROL_CYCLE_BASE 100 // 控制周期基准线 /** * @brief 初始化模式控制模块。 * * 该函数使用指定的定位器型号、参数和保存参数的回调函数初始化模式控制模块。 * * @param req 模式接口请求。 * @param positioner_model 定位器型号。 * @param params 模式控制参数。 * @param params_save_cb 保存参数的回调函数。 */ extern void mode_control_init(mode_interface_req_t *req, uint16_t positioner_model, mode_control_storage_t *params, void (*params_save_cb)(void)); /** * @brief 反初始化模式控制模块。 * * 该函数反初始化模式控制模块。 */ extern void mode_control_dinit(void); /** * @brief 设置模式控制模块的输出。 * * 该函数使用指定的数据设置模式控制模块的输出。 * * @param data 输出数据。 */ extern void mode_control_output(uint16_t data); /** * @brief 处理模式控制模块。 * * 该函数处理模式控制模块。 */ extern void mode_control_process(void); /** * @brief 补偿模式控制模块。 * * 该函数补偿模式控制模块。 */ extern void mode_control_compensate(void); /** * @brief 设置模式控制过程的状态。 * * 该函数使用指定的状态设置模式控制过程的状态。 * * @param state 模式控制过程的状态。 */ extern void mode_control_state_set(mode_control_process_state_e state); #endif // __MODE_CONTROL_H