This repository has been archived on 2025-02-28. You can view files and clone it, but cannot push or open issues or pull requests.
controller-hd/User/application/mode/mode_control.h

73 lines
2.0 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* @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