From 412d82caebecb787bae5267e7bf378f5acb68cce Mon Sep 17 00:00:00 2001 From: Peter Poetzi Date: Wed, 29 Dec 2021 04:36:22 +0100 Subject: [PATCH 1/2] can bus error count fix --- main/can.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/main/can.cpp b/main/can.cpp index 72b350b..1f5f896 100644 --- a/main/can.cpp +++ b/main/can.cpp @@ -282,6 +282,10 @@ void parseCanInput() void sendCanCommands() { + + static uint32_t can_total_error_cnt = 0; + static uint32_t can_sequential_error_cnt = 0; + constexpr auto send = [](uint32_t addr, auto value){ twai_message_t message; message.identifier = addr; @@ -300,12 +304,11 @@ void sendCanCommands() } - static uint32_t can_total_error_cnt = 0; - static uint32_t can_sequential_error_cnt = 0; if (result == ESP_ERR_TIMEOUT) { ++can_sequential_error_cnt; ++can_total_error_cnt; + ESP_LOGW(TAG, "twai_transmit() took %lld ms, seq err: %d, total err: %d", espchrono::ago(timestamp_before).count(), can_sequential_error_cnt, From a5831c2ab65db9b9d9bfc429055266d1d0b3c803 Mon Sep 17 00:00:00 2001 From: Peter Poetzi Date: Wed, 29 Dec 2021 04:41:10 +0100 Subject: [PATCH 2/2] improve can bus logging --- main/can.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/main/can.cpp b/main/can.cpp index 1f5f896..8a152b6 100644 --- a/main/can.cpp +++ b/main/can.cpp @@ -321,11 +321,8 @@ void sendCanCommands() if (can_sequential_error_cnt > 3) { can_sequential_error_cnt = 0; if (configs.canBusResetOnError.value) { - if (const auto err = twai_stop(); err != ESP_OK) - ESP_LOGE(TAG, "ERROR: twai_stop() failed with %s", esp_err_to_name(err)); - - if (const auto err = twai_start(); err != ESP_OK) - ESP_LOGE(TAG, "ERROR: twai_start() failed with %s", esp_err_to_name(err)); + ESP_LOGE(TAG, "CAN BUS RESET: twai_stop(): %s", esp_err_to_name(twai_stop())); + ESP_LOGE(TAG, "CAN BUS RESET: twai_start(): %s", esp_err_to_name(twai_start())); } }