73 lines
2.0 KiB
C
73 lines
2.0 KiB
C
/**
|
||
* @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 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
|