diff --git a/epicardium/api/control.c b/epicardium/api/control.c index 99c99953344d6b2700e5c657cc4c6ade1fbe9b4e..f599788426eef36c601925f6929bc91e40a83b76 100644 --- a/epicardium/api/control.c +++ b/epicardium/api/control.c @@ -1,6 +1,5 @@ #include "epicardium.h" #include "api/dispatcher.h" -#include "api/interrupt-sender.h" #include "modules/log.h" #include "card10.h" @@ -10,6 +9,7 @@ #include "tmr.h" static void __core1_init(void); +extern void interrupt_trigger(api_int_id_t id); struct core1_info { /* Location of core1's interrupt vector table */ @@ -207,7 +207,7 @@ void core1_boot(void) void core1_trigger_reset(void) { /* Signal core 1 that we intend to load a new payload. */ - api_interrupt_trigger(EPIC_INT_RESET); + interrupt_trigger(EPIC_INT_RESET); } void core1_wait_ready(void) diff --git a/epicardium/modules/bhi.c b/epicardium/modules/bhi.c index 5a5528f5f2ce1c5dde700866847240eb6c69bc5a..baa2d16220be0754bcbb321ef04fa852a43d7a85 100644 --- a/epicardium/modules/bhi.c +++ b/epicardium/modules/bhi.c @@ -11,7 +11,6 @@ #include "task.h" #include "queue.h" -#include "api/interrupt-sender.h" #include "epicardium.h" #include "modules/log.h" #include "modules/modules.h" @@ -320,7 +319,7 @@ bhi160_handle_packet(bhy_data_type_t data_type, bhy_data_generic_t *sensor_data) } if (wakeup) { - api_interrupt_trigger(epic_int); + interrupt_trigger(epic_int); } break; default: diff --git a/epicardium/modules/lifecycle.c b/epicardium/modules/lifecycle.c index bce448e69442c6f9b6db81cd71814527caf02246..76c5648cc20120eca6de28fad2ed4329404943da 100644 --- a/epicardium/modules/lifecycle.c +++ b/epicardium/modules/lifecycle.c @@ -4,7 +4,6 @@ #include "modules/config.h" #include "modules/mutex.h" #include "api/dispatcher.h" -#include "api/interrupt-sender.h" #include "l0der/l0der.h" #include "card10.h" diff --git a/epicardium/modules/max30001.c b/epicardium/modules/max30001.c index 5c2ff10f8965e7a9e28c30ab51bbc00fd0af0c45..39379703ec292458a404a63346d4bf6258b04d84 100644 --- a/epicardium/modules/max30001.c +++ b/epicardium/modules/max30001.c @@ -11,7 +11,6 @@ #include "task.h" #include "queue.h" -#include "api/interrupt-sender.h" #include "epicardium.h" #include "modules/log.h" #include "modules/modules.h" @@ -141,7 +140,7 @@ static void max30001_handle_samples(int16_t *sensor_data, int16_t n) LOG_WARN("max30001", "queue full"); } } - api_interrupt_trigger(EPIC_INT_MAX30001_ECG); + interrupt_trigger(EPIC_INT_MAX30001_ECG); } /***** Functions *****/ diff --git a/epicardium/modules/max86150.c b/epicardium/modules/max86150.c index 0de234a8730a5d441cfd223ba9638637df639581..03527052c5b372d4a9ca30ae64d767d5ce51a79c 100644 --- a/epicardium/modules/max86150.c +++ b/epicardium/modules/max86150.c @@ -13,7 +13,6 @@ #include "task.h" #include "queue.h" -#include "api/interrupt-sender.h" #include "modules/modules.h" static const gpio_cfg_t max86150_interrupt_pin = { @@ -141,7 +140,7 @@ static int max86150_handle_sample(struct max86150_sensor_data *data) return -EIO; } - api_interrupt_trigger(EPIC_INT_MAX86150); + interrupt_trigger(EPIC_INT_MAX86150); return 0; } diff --git a/epicardium/modules/rtc.c b/epicardium/modules/rtc.c index b563462dbc242194e7f931721d82fcd21d0b344e..7d75fd169ca88aebb80e3d4def52b586b2684581 100644 --- a/epicardium/modules/rtc.c +++ b/epicardium/modules/rtc.c @@ -1,6 +1,6 @@ #include "epicardium.h" #include "modules/log.h" -#include "api/interrupt-sender.h" +#include "modules/modules.h" #include "FreeRTOS.h" #include "task.h" @@ -84,19 +84,23 @@ void epic_rtc_set_milliseconds(uint64_t milliseconds) monotonic_offset += diff; } +/* We need to use interrupt_trigger_unsafe() here */ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" void RTC_IRQHandler(void) { int flags = RTC_GetFlags(); if (flags & MXC_F_RTC_CTRL_ALDF) { RTC_ClearFlags(MXC_F_RTC_CTRL_ALDF); - api_interrupt_trigger(EPIC_INT_RTC_ALARM); + interrupt_trigger_unsafe(EPIC_INT_RTC_ALARM); } else { LOG_WARN("rtc", "Unknown IRQ caught!"); /* Disable IRQ so it does not retrigger */ NVIC_DisableIRQ(RTC_IRQn); } } +#pragma GCC diagnostic pop int epic_rtc_schedule_alarm(uint32_t timestamp) { @@ -107,7 +111,7 @@ int epic_rtc_schedule_alarm(uint32_t timestamp) * immediately. */ if (epic_rtc_get_seconds() >= timestamp) { - api_interrupt_trigger(EPIC_INT_RTC_ALARM); + interrupt_trigger(EPIC_INT_RTC_ALARM); return 0; } diff --git a/epicardium/modules/serial.c b/epicardium/modules/serial.c index 25dd91846c9ea60a2aa26faa67cfce357ada7e9c..e80e30f75f2b718028238dd5270a0d4690b846c0 100644 --- a/epicardium/modules/serial.c +++ b/epicardium/modules/serial.c @@ -1,5 +1,4 @@ #include "epicardium.h" -#include "api/interrupt-sender.h" #include "modules/log.h" #include "modules/modules.h" @@ -280,7 +279,7 @@ void serial_enqueue_char(char chr) { if (chr == 0x3) { /* Control-C */ - api_interrupt_trigger(EPIC_INT_CTRL_C); + interrupt_trigger(EPIC_INT_CTRL_C); } if (xQueueSend(read_queue, &chr, 100) == errQUEUE_FULL) { @@ -288,7 +287,7 @@ void serial_enqueue_char(char chr) vTaskDelay(portTICK_PERIOD_MS * 50); } - api_interrupt_trigger(EPIC_INT_UART_RX); + interrupt_trigger(EPIC_INT_UART_RX); } void vSerialTask(void *pvParameters)