From fd6486b19b949b7926f65d83d9ffe42d7219297d Mon Sep 17 00:00:00 2001 From: Benjamin Valentin Date: Wed, 12 Jul 2023 14:52:05 +0200 Subject: [PATCH] cpu/atmega_common: hook up BAT LOW irq to power bus --- cpu/atmega_common/atmega_cpu.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/cpu/atmega_common/atmega_cpu.c b/cpu/atmega_common/atmega_cpu.c index f9581dcb8f..c40047dba9 100644 --- a/cpu/atmega_common/atmega_cpu.c +++ b/cpu/atmega_common/atmega_cpu.c @@ -32,6 +32,7 @@ #include "cpu.h" #include "irq_arch.h" #include "panic.h" +#include "sys/bus.h" #define ENABLE_DEBUG 0 #include "debug.h" @@ -110,5 +111,15 @@ ISR(BADISR_vect, ISR_NAKED) } #if defined(BAT_LOW_vect) -AVR8_ISR(BAT_LOW_vect, DEBUG, "BAT_LOW\n"); +static inline void bat_low_handler(void) +{ + DEBUG("BAT_LOW\n"); + +#if MODULE_SYS_BUS_POWER + msg_bus_t *bus = sys_bus_get(SYS_BUS_POWER); + msg_bus_post(bus, SYS_BUS_POWER_EVENT_LOW_VOLTAGE, NULL); +#endif +} + +AVR8_ISR(BAT_LOW_vect, bat_low_handler); #endif