适配110V美标控制盒过热复位流程:过热帧后低位强制下降触发复位,复位帧后先停2s再下降完成复位;新增报错观测日志(已关闭)

This commit is contained in:
2026-09-09 17:34:33 +08:00
parent 130904e0a2
commit 24f8231308
6 changed files with 275 additions and 40 deletions
+9 -2
View File
@@ -31,6 +31,10 @@ typedef struct{
DebugExec DBGExec;
}DBGFunType;
/* 控制盒信息帧→复位→恢复 观测打印: ISR推事件, 主循环打印完整时间线(未知帧全记录用于捕捉过热报错) */
void Uart3ErrLog_Push(uint8_t type, const uint8_t *pFrame, uint16_t height); /* type:0首次信息帧 1复位中回应 2复位完成 3未知帧 */
void Uart3ErrLogLoopHandler(void); /* 主循环调用: 打印报错/复位事件 */
void DebugUartIRQ(char Data);
void DebugLoopHandler(void);
void Dbg1msRoutine(void);
@@ -38,8 +42,11 @@ void Dbg1msRoutine(void);
#define DBG_LOG2(x, y)
#define DBG_LOG(...)
#define DBG_LOG_F(fmt,arg...)
#define DBG_ARRAY(ARRAY,SIZE)
#define DBG_LOG_F(fmt,arg...)
#define DBG_ARRAY(ARRAY,SIZE)
#define Uart3ErrLog_Push(type, pFrame, height) (0)
#define Uart3ErrLogLoopHandler() (0)
#endif
#endif
+4 -2
View File
@@ -33,8 +33,8 @@
#define PEAK 1430 //最高高度mm
#define VALLEY 1000 //最低高度mm
/*高度转应力表索引: 补偿表431点覆盖1000~1430mm(430个步进), 接收范围已保证不越界*/
#define HEIGHT_TO_IDX(h) ((h) - 1000)
/*高度转应力表索引: 补偿表431点覆盖1000~1430mm(430个步进), h<1000时钳位到0防止越界*/
#define HEIGHT_TO_IDX(h) ((h) < 1000 ? 0 : ((h) - 1000))
#define BDC_STOP() (SET_TWIN_BIT0(),SET_TWIN_BIT1())
#define BDC_DOWN() (SET_TWIN_BIT0(),CLR_TWIN_BIT1())
@@ -76,6 +76,7 @@ typedef struct{
typedef struct{//电机参数
bool InitialFlag;//初始标志位
bool RestFlag;
bool OverheatFlag;//过热标志: 收到过热帧后置true, 持续下降触发控制盒复位
bool CaliFlag;
bool LoopOne;//循环一次标志位
int16_t Current_height;//当前高度mm(控制盒上报1000~1430)
@@ -150,6 +151,7 @@ typedef struct {
uint32_t SlopeCollDelay1mSCnt;
uint32_t CailUp1mSCnt;
uint32_t HeightContRolCnt;
uint32_t RestStop1mSCnt;//复位停顿计时: 收到复位帧后先停止电机, 计时结束再下降触发复位
uint8_t FeedDogDlyCnt;
bool CaliZeroFlag;//校零标志位