feat(motor_state): 支持多通道电机状态管理并添加推送周期动态调节功能
- 实现 node×channel 双键槽位管理,支持同一节点号在不同CAN通道独立缓存 - 扩展电机状态表容量从9个槽位到27个槽位(9节点×3通道) - 添加SPI命令子命令0xFE用于动态设置0xC5推送周期(50-5000ms) - 增加运行时可调推送周期功能,默认250ms,支持50ms-5s范围调节 - 更新CAN通道配置,启用CH1和CH2通道支持 - 版本号更新至1.5.4
This commit is contained in:
@@ -33,6 +33,7 @@ void TaskManager::init()
|
||||
g_scheduler.div_can_tx = 0U;
|
||||
g_scheduler.div_heartbeat = 0U;
|
||||
g_scheduler.div_motor_state = 0U;
|
||||
g_scheduler.motor_state_period_ticks = CONFIG_TASK_PERIOD_MOTOR_STATE_TICKS;
|
||||
g_scheduler.div_diag_print = 0U;
|
||||
}
|
||||
|
||||
@@ -108,7 +109,7 @@ void TaskManager::tick100us()
|
||||
|
||||
/* 多电机状态 0xC5 推送:250ms 独立节拍。
|
||||
* 不挂在 1Hz heartbeat 上,避免连带加速 OTA Boot 轮询/CAN快照/ADC推送/checkOffline。 */
|
||||
if(++g_scheduler.div_motor_state >= CONFIG_TASK_PERIOD_MOTOR_STATE_TICKS) {
|
||||
if(++g_scheduler.div_motor_state >= g_scheduler.motor_state_period_ticks) {
|
||||
g_scheduler.div_motor_state = 0U;
|
||||
set(1UL << TASK_MOTOR_STATE_PUSH);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user