重新组织了文件的防止

This commit is contained in:
NeoZng
2023-01-02 23:20:35 +08:00
parent c05513587c
commit bfaae13b59
26 changed files with 105 additions and 62 deletions

View File

@@ -126,14 +126,14 @@ static void f_PID_ErrorHandle(PIDInstance *pid)
* @param pid PID实例
* @param config PID初始化设置
*/
void PID_Init(PIDInstance *pid, PID_Init_config_s *config)
void PID_Init(PIDInstance *pid, PID_Init_Config_s *config)
{
// config的数据和pid的部分数据是连续且相同的的,所以可以直接用memcpy
// @todo: 不建议这样做,可扩展性差,不知道的开发者可能会误以为pid和config是同一个结构体
// 后续修改为逐个赋值
memset(pid, 0, sizeof(PIDInstance));
// utilize the quality of struct that its memeory is continuous
memcpy(pid, config, sizeof(PID_Init_config_s));
memcpy(pid, config, sizeof(PID_Init_Config_s));
// set rest of memory to 0
}

View File

@@ -28,7 +28,7 @@
// PID 优化环节使能标志位
typedef enum
{
PID_IMPROVE_NONE = 0b00000000, // 0000 0000
PID_IMPROVE_NONE = 0b00000000, // 0000 0000
Integral_Limit = 0b00000001, // 0000 0001
Derivative_On_Measurement = 0b00000010, // 0000 0010
Trapezoid_Intergral = 0b00000100, // 0000 0100
@@ -112,7 +112,7 @@ typedef struct
float Derivative_LPF_RC;
PID_Improvement_e Improve;
} PID_Init_config_s;
} PID_Init_Config_s;
/**
* @brief 初始化PID实例
@@ -120,7 +120,7 @@ typedef struct
* @param pid PID实例指针
* @param config PID初始化配置
*/
void PID_Init(PIDInstance *pid, PID_Init_config_s *config);
void PID_Init(PIDInstance *pid, PID_Init_Config_s *config);
/**
* @brief 计算PID输出