Skip to content
Prev Previous commit
Next Next commit
feat: setup hook spawning a BRIDGE.update thread
  • Loading branch information
eigen-value committed Jul 11, 2025
commit 7788eed3d4d2f237d1b05004405af3ea3f76a138
21 changes: 21 additions & 0 deletions src/bridge.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
#define RESET_METHOD "$/reset"
#define BIND_METHOD "$/register"

#define UPDATE_THREAD_STACK_SIZE 500
#define UPDATE_THREAD_PRIORITY 5

#include <zephyr/kernel.h>
#include <Arduino_RPClite.h>

Expand Down Expand Up @@ -160,6 +163,24 @@ static void safeUpdate(){
BridgeUpdater::safeUpdate(BRIDGE);
}


void updateEntryPoint(void *, void *, void *){
BRIDGE.update();
}

static k_tid_t upd_tid;
static k_thread_stack_t *upd_stack_area;
static struct k_thread upd_thread_data;

void __setupHook(){
upd_stack_area = k_thread_stack_alloc(UPDATE_THREAD_STACK_SIZE, 0);
upd_tid = k_thread_create(&upd_thread_data, upd_stack_area,
UPDATE_THREAD_STACK_SIZE,
updateEntryPoint,
NULL, NULL, NULL,
UPDATE_THREAD_PRIORITY, 0, K_NO_WAIT);
}

void __loopHook(){
safeUpdate();
}
Expand Down