diff --git a/firmware/hw_layer/stm32f4/mpu_util.cpp b/firmware/hw_layer/stm32f4/mpu_util.cpp index a6ef7bd8d4..f180ee4f2d 100644 --- a/firmware/hw_layer/stm32f4/mpu_util.cpp +++ b/firmware/hw_layer/stm32f4/mpu_util.cpp @@ -42,11 +42,14 @@ int getRemainingStack(Thread *otp) { #else /* __GNUC__ */ +extern uint32_t CSTACK$$Base; /* symbol created by the IAR linker */ +extern uint32_t IRQSTACK$$Base; /* symbol created by the IAR linker */ + int getRemainingStack(Thread *otp) { #if CH_DBG_ENABLE_STACK_CHECK || defined(__DOXYGEN__) int remainingStack; if (dbg_isr_cnt > 0) { - remainingStack = 999; // todo + remainingStack = (__get_SP() - sizeof(struct intctx)) - (int)&IRQSTACK$$Base; } else { remainingStack = (stkalign_t *)(__get_SP() - sizeof(struct intctx)) - otp->p_stklimit; } diff --git a/java_console/autotest/src/com/rusefi/AutoTest.java b/java_console/autotest/src/com/rusefi/AutoTest.java index 9985c6358c..905f307e1c 100644 --- a/java_console/autotest/src/com/rusefi/AutoTest.java +++ b/java_console/autotest/src/com/rusefi/AutoTest.java @@ -34,6 +34,7 @@ public class AutoTest { private static void testDodgeNeon() { sendCommand("set_engine_type 2"); WaveChart chart; + sendCommand("set_whole_fuel_map 3"); IoUtil.changeRpm(2000); sendCommand("set_ignition_mode 1"); chart = nextChart(); @@ -45,7 +46,7 @@ public class AutoTest { assertWave(msg, chart, WaveChart.INJECTOR_1, 0.133, x + 180); assertWave(msg, chart, WaveChart.INJECTOR_3, 0.133, x + 360); - x = 122; + x = 106; assertWave(msg, chart, WaveChart.SPARK_4, 0.13333, x + 540); assertWave(msg, chart, WaveChart.SPARK_2, 0.13333, x); assertWave(msg, chart, WaveChart.SPARK_1, 0.13333, x + 180);