refactor(build): 更新项目配置和链接器设置 - 修改GD32C103CB的ROM基地址和大小配置 - 更新系统时钟向量表偏移量设置 - 在cproject.yml中添加BIN输出格式支持 - 增加-O3优化级别和代码移除选项 - 更新csolution版本依赖 feat(device): 优化ADC采样和配置管理 - 将DengFOC依赖替换为FOC模块 - 从config.h引入配置常量 - 重命名FILTER_SIZE为ADC_FILTER_SIZE以提高清晰度 - 优化温度和电流采样滤波实现 refactor(algorithm): 简化FOC控制函数接口 - 为angle_control、velocity_control等函数移除不必要的参数 - 统一函数指针类型定义 - 优化电流计算函数的代码格式 - 调整PID控制器初始化参数
41 lines
750 B
C++
41 lines
750 B
C++
#ifndef _ADC_H
|
|
#define _ADC_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "stdint.h"
|
|
#include "config.h"
|
|
|
|
class sampler {
|
|
private:
|
|
float vbus_samples[ADC_FILTER_SIZE + 1];
|
|
float currU_samples[ADC_FILTER_SIZE + 1];
|
|
float currV_samples[ADC_FILTER_SIZE + 1];
|
|
float currW_samples[ADC_FILTER_SIZE + 1];
|
|
float mcu_temp_samples[ADC_FILTER_SIZE + 1];
|
|
float drv_temp_samples[ADC_FILTER_SIZE + 1];
|
|
u8 current_sample_index;
|
|
|
|
float tempora_sample;
|
|
|
|
public:
|
|
u8 init(void);
|
|
void update_mcu_temp(void);
|
|
void update_drv_temp(void);
|
|
void update_vbus_voltage(void);
|
|
void update_current(void);
|
|
|
|
float get_mcu_temp(void);
|
|
float get_drv_temp(void);
|
|
float get_vbus_voltage(void);
|
|
float get_current(char);
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|