diff --git a/epicardium/modules/hardware.c b/epicardium/modules/hardware.c index 91a87471ab87b518eb2297c9f009110c33e819b9..17c707217283c41f61bfad79b9b6fb69d7b20d11 100644 --- a/epicardium/modules/hardware.c +++ b/epicardium/modules/hardware.c @@ -182,6 +182,11 @@ int hardware_early_init(void) */ dispatcher_mutex_init(); + /* + * MAX30001 mutex init + */ + max30001_mutex_init(); + return 0; } diff --git a/epicardium/modules/max30001.c b/epicardium/modules/max30001.c index 5cc3ef3654e19b6ea298ab7ba8e019676dfc4332..811af4bf8aa274443abb1415a7586c2766660991 100644 --- a/epicardium/modules/max30001.c +++ b/epicardium/modules/max30001.c @@ -370,10 +370,14 @@ static void max300001_interrupt_callback(void *_) } /* }}} */ +void max30001_mutex_init(void) +{ + max30001_mutex = xSemaphoreCreateMutexStatic(&max30001_mutex_data); +} + void vMAX30001Task(void *pvParameters) { max30001_task_id = xTaskGetCurrentTaskHandle(); - max30001_mutex = xSemaphoreCreateMutexStatic(&max30001_mutex_data); int lockret = hwlock_acquire(HWLOCK_SPI_ECG, pdMS_TO_TICKS(100)); if (lockret < 0) { diff --git a/epicardium/modules/modules.h b/epicardium/modules/modules.h index 87124144fd98a5c4c230596ac4234f4f84332d98..98b0d5e9e42ff48a420da5aebfd5ed05f233896b 100644 --- a/epicardium/modules/modules.h +++ b/epicardium/modules/modules.h @@ -92,7 +92,9 @@ void disp_forcelock(); #define BHI160_MUTEX_WAIT_MS 50 void vBhi160Task(void *pvParameters); +/* ---------- MAX30001 ----------------------------------------------------- */ #define MAX30001_MUTEX_WAIT_MS 50 void vMAX30001Task(void *pvParameters); +void max30001_mutex_init(void); #endif /* MODULES_H */