From 7d0c8b48708391210fae1610c1c2c9cfb88077ca Mon Sep 17 00:00:00 2001 From: rusefi Date: Sun, 6 Sep 2020 21:45:17 -0400 Subject: [PATCH] microRusEFI used as Body Control Module BCM BCU got stack too low warning with DBG_CAN --- firmware/controllers/engine_controller.cpp | 2 +- firmware/hw_layer/drivers/can/can_hw.cpp | 2 +- firmware/util/datalogging.cpp | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index 72fc3a5f94..680ce4b068 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -708,7 +708,7 @@ void initEngineContoller(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) * UNUSED_SIZE constants. */ #ifndef RAM_UNUSED_SIZE -#define RAM_UNUSED_SIZE 6400 +#define RAM_UNUSED_SIZE 6200 #endif #ifndef CCM_UNUSED_SIZE #define CCM_UNUSED_SIZE 2900 diff --git a/firmware/hw_layer/drivers/can/can_hw.cpp b/firmware/hw_layer/drivers/can/can_hw.cpp index 1c8fe1b0aa..88f69eb88e 100644 --- a/firmware/hw_layer/drivers/can/can_hw.cpp +++ b/firmware/hw_layer/drivers/can/can_hw.cpp @@ -80,7 +80,7 @@ CAN_BTR_1k0 }; static const CANConfig *canConfig = &canConfig500; -class CanRead final : public ThreadController<256> { +class CanRead final : public ThreadController { public: CanRead() : ThreadController("CAN RX", NORMALPRIO) diff --git a/firmware/util/datalogging.cpp b/firmware/util/datalogging.cpp index dffb844dbc..44afbc81b7 100644 --- a/firmware/util/datalogging.cpp +++ b/firmware/util/datalogging.cpp @@ -124,7 +124,9 @@ void appendFast(Logging *logging, const char *text) { */ void Logging::vappendPrintf(const char *fmt, va_list arg) { #if ! EFI_UNIT_TEST - efiAssertVoid(CUSTOM_ERR_6604, getCurrentRemainingStack() > 128, "lowstck#5b"); + if (getCurrentRemainingStack() < 128) { + firmwareError(CUSTOM_ERR_6604, "lowstck#5b %s", chThdGetSelfX()->name); + } int wasLocked = lockAnyContext(); intermediateLogging.vappendPrintfI(this, fmt, arg); if (!wasLocked) {