72bf925f470d3f7041b39f07041df25551c89702
台架调试时 CAN 设备(尤其 Pitch)掉线会按 legacy 语义每 2s 响 n 下,连续 滴滴声很吵且影响听其它声音,故加一个开关: robot_param.h -> 台架调试开关 #define DEBUG_BUZZER_MELODY 1 // 1=警告音换旋律;0=legacy 报警(比赛用) 实现分三处: - robot_param.h: 新增开关,与 DEBUG_SHOOT_WITHOUT_REFEREE 放在同一分区 - modules/BUZZER: 新增 buzzer_play_melody(step) —— 按固定 100ms/步 推进, 内部对旋律总步数取模自动循环;旋律表 buzzer_melody[] 用"上行分解和弦 + 回落"共 14 步(1.4s),空拍 BUZZER_P 作断音,选音限定中音3~高音2 避免刺耳。 驱动层本身不判断开关,保持纯外设职责,只是多了一个音符序列接口。 - monitor_task.c: CAN 掉线分支按开关二选一。旋律模式下步进用本任务自身的 100ms 节拍(与文件里已有的遥控器连接音效同一写法),不用 HAL_GetTick 采样,避免周期抖动漏掉或重复音符。 设计取舍: 只替换"声音",不替换"灯语" —— 红灯常亮、遥控器掉线红灯双闪、 BMI088 失败绿灯双闪等 LED 语义完全不变,因此调试时仍能一眼看出是哪台 设备掉线;linkcheck_first_offline() 也保留调用,方便在调试器里直接看结果。 比赛前把 DEBUG_BUZZER_MELODY 改回 0 即恢复 legacy 报警。 两个工程同步修改,内容保持一致。
Description
No description provided
2.7 MiB
Languages
C
99.7%
Assembly
0.3%