feat(can): 添加CAN总线错误计数器和总线状态监控
添加了硬件发送错误计数器(tec)、接收错误计数器(rec)和总线状态位图(bus_state)字段, 用于更全面的CAN总线状态监控。同时新增CAN_RX_MODE_BRIDGE_0_TO_12模式,支持CAN0到 CAN1和CAN2的桥接功能。 BREAKING CHANGE: CAN反馈协议格式扩展,增加了3个字节的状态信息。
This commit is contained in:
@@ -57,19 +57,7 @@ static void taskLoop(void *)
|
||||
if (rc == 0) {
|
||||
publish(ch, fb);
|
||||
|
||||
const bool prevOk = s_prev_poll_ok[ch];
|
||||
const bool changed = (!s_prev_valid[ch]) ||
|
||||
(fb.stats.rx_count != s_prev_stats[ch].rx_count) ||
|
||||
(fb.stats.tx_count != s_prev_stats[ch].tx_count) ||
|
||||
(fb.stats.rx_drop_count != s_prev_stats[ch].rx_drop_count) ||
|
||||
(fb.stats.error_count != s_prev_stats[ch].error_count) ||
|
||||
(fb.stats.mode != s_prev_stats[ch].mode) ||
|
||||
(fb.stats.snapshot_seq != s_prev_stats[ch].snapshot_seq);
|
||||
const bool abnormal = (fb.stats.rx_drop_count != 0U) ||
|
||||
(fb.stats.error_count != 0U) ||
|
||||
(fb.stats.mode != 0U);
|
||||
|
||||
if (!prevOk || changed || abnormal) {
|
||||
if (fb.stats.error_count != 0U) {
|
||||
DEBUG_INFO(kTag,
|
||||
"CH%u seq=%lu mode=%u rx=%lu tx=%lu drop=%lu err=%lu ids=%u",
|
||||
static_cast<unsigned>(ch),
|
||||
|
||||
Reference in New Issue
Block a user