diff --git a/firmware/src_simtrace/main.c b/firmware/src_simtrace/main.c index 95adb7e7..faba1472 100644 --- a/firmware/src_simtrace/main.c +++ b/firmware/src_simtrace/main.c @@ -4,6 +4,8 @@ *------------------------------------------------------------------------------*/ #include "board.h" +#include "utils.h" +#include "req_ctx.h" /*------------------------------------------------------------------------------ * Internal variables @@ -95,6 +97,8 @@ extern int main( void ) /* Disable watchdog*/ WDT_Disable( WDT ) ; + req_ctx_init(); + PIO_InitializeInterrupts(0); SIMtrace_USB_Initialize(); diff --git a/firmware/src_simtrace/req_ctx.c b/firmware/src_simtrace/req_ctx.c index 40774fe8..7e9cffd5 100644 --- a/firmware/src_simtrace/req_ctx.c +++ b/firmware/src_simtrace/req_ctx.c @@ -52,6 +52,7 @@ req_ctx_find_get(int large, uint32_t old_state, uint32_t new_state) if (req_ctx[i].state == old_state) { toReturn = &req_ctx[i]; toReturn->state = new_state; + break; } } local_irq_restore(flags); diff --git a/firmware/src_simtrace/req_ctx.h b/firmware/src_simtrace/req_ctx.h index be964ca7..67090a1b 100644 --- a/firmware/src_simtrace/req_ctx.h +++ b/firmware/src_simtrace/req_ctx.h @@ -52,6 +52,7 @@ struct req_ctx { uint8_t *data; }; +extern void req_ctx_init(void); extern struct req_ctx __ramfunc *req_ctx_find_get(int large, uint32_t old_state, uint32_t new_state); extern struct req_ctx *req_ctx_find_busy(void); extern void req_ctx_set_state(struct req_ctx *ctx, uint32_t new_state);