第一版代码,为了在EEPROM保存参数的时候走STM32的CRC,让Codex修改了一下,现在的效果是无法存储,codex表示原因是CRC方法不同,修改到一半今天的额度使用完了,有待后续解决CRC的bug
This commit is contained in:
51
Application/app_motor.h
Normal file
51
Application/app_motor.h
Normal file
@@ -0,0 +1,51 @@
|
||||
#ifndef __APP_MOTOR_H__
|
||||
#define __APP_MOTOR_H__
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include "CANopen.h"
|
||||
#include "OD.h"
|
||||
#include "Int_TMC2209.h"
|
||||
#include "Com_debug.h"
|
||||
#include "CiA402_defs.h"
|
||||
#include "app_CiA402.h"
|
||||
#include <stdlib.h>
|
||||
#include "Int_Encoder.h"
|
||||
|
||||
// --- 全局变量引用 ---
|
||||
|
||||
extern Stepper_t stepper_1; // 引用在 app_main.c 中定义的电机对象
|
||||
extern Encoder_t encoder_1; // 引用在 app_main.c 中定义的编码器对象
|
||||
extern CO_t *CO; // 引用在 CO_app_STM32.c 中定义的 CANopen 对象
|
||||
|
||||
// 记录当前的绝对位置 (mm)
|
||||
extern float current_absolute_pos_mm; // 当前绝对位置
|
||||
extern float last_move_start_pos_mm; // 每次动作开始时的绝对位置
|
||||
|
||||
// 两个状态机,分别对应位置模式和回零模式,枚举类型的定义在CiA402_defs.h 中定义
|
||||
extern Motor_State_t internal_state;
|
||||
extern Homing_State_t homing_state;
|
||||
|
||||
// --- 函数声明 ---
|
||||
/**
|
||||
* @brief 电机应用层初始化
|
||||
*/
|
||||
void App_Motor_Init(void);
|
||||
|
||||
/**
|
||||
* @brief 电机应用层周期性处理函数
|
||||
*/
|
||||
void App_Motor_Process(void);
|
||||
|
||||
/**
|
||||
* @brief 在定时器终端中周期判断电机是否丢步
|
||||
*
|
||||
*/
|
||||
void App_Motor_StepLossCheck(void);
|
||||
|
||||
/**
|
||||
* @brief 获取“停止后延时窗口”评估出的误差(mm),读取成功返回 true
|
||||
*/
|
||||
bool App_Motor_TryGetStopError(float *err_mm);
|
||||
|
||||
#endif /* __APP_MOTOR_H__ */
|
||||
Reference in New Issue
Block a user