diff --git a/firmware/hw_layer/stm32f4/mpu_util.cpp b/firmware/hw_layer/stm32f4/mpu_util.cpp index 772346ff6b..4e1d4695f8 100644 --- a/firmware/hw_layer/stm32f4/mpu_util.cpp +++ b/firmware/hw_layer/stm32f4/mpu_util.cpp @@ -42,12 +42,10 @@ int getRemainingStack(thread_t *otp) { int remainingStack; if (ch.dbg.isr_cnt > 0) { -remainingStack = 9999; // ISR context -// todo remainingStack = (int)(r13 - 1) - (int)&__main_stack_base__; + remainingStack = (int)(r13 - 1) - (int)&__main_stack_base__; } else { -remainingStack = 9999; -// todo remainingStack = (int)(r13 - 1) - (int)otp->p_stklimit; + remainingStack = (int)(r13 - 1) - (int)otp->wabase; } otp->remainingStack = remainingStack; return remainingStack; diff --git a/firmware/hw_layer/stm32f7/mpu_util.cpp b/firmware/hw_layer/stm32f7/mpu_util.cpp index db60df531e..51d572e9e4 100644 --- a/firmware/hw_layer/stm32f7/mpu_util.cpp +++ b/firmware/hw_layer/stm32f7/mpu_util.cpp @@ -39,12 +39,10 @@ int getRemainingStack(thread_t *otp) { int remainingStack; if (ch.dbg.isr_cnt > 0) { -remainingStack = 9999; // ISR context -// todo remainingStack = (int)(r13 - 1) - (int)&__main_stack_base__; + remainingStack = (int)(r13 - 1) - (int)&__main_stack_base__; } else { -remainingStack = 9999; -// todo remainingStack = (int)(r13 - 1) - (int)otp->p_stklimit; + remainingStack = (int)(r13 - 1) - (int)otp->wabase; } otp->remainingStack = remainingStack; return remainingStack;