From 3b5a0ef169821fbab146aa6f987322c7a2724ac7 Mon Sep 17 00:00:00 2001
From: Avon Gingell <fishandmicrochips@disroot.org>
Date: Mon, 5 Dec 2022 16:23:27 +0000
Subject: [PATCH] Implemented callback

---
 src/rfm12.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/rfm12.c b/src/rfm12.c
index ec74b25..f2ff9cb 100644
--- a/src/rfm12.c
+++ b/src/rfm12.c
@@ -55,7 +55,7 @@
 
 //for uart debugging
 #if RFM12_UART_DEBUG
-	#include "../examples/uart_lib/uart.h"
+	#include "../../uart.h"
 #endif
 
 #if RFM12_USE_RX_CALLBACK
@@ -135,7 +135,7 @@ rfm12_control_t ctrl;
 #if (RFM12_USE_POLLING)
 void rfm12_poll(void)
 #else
-ISR(RFM12_INT_VECT, ISR_NOBLOCK)
+ISR(RFM12_INT_VECT)
 #endif
 {
 	#ifdef USE_INT_PIN_CHECK
@@ -278,6 +278,13 @@ ISR(RFM12_INT_VECT, ISR_NOBLOCK)
                     UART_DEBUG_PUTC('D');
 
 					rf_rx_buffers[ctrl.buffer_in_num].status = STATUS_OCCUPIED;
+					/* Call the callback function */
+					#if RFM12_USE_RX_CALLBACK
+					if (rfm12_rx_callback_func != 0x0000) {
+						rfm12_rx_callback_func(ctrl.rf_buffer_in->len,
+											   ctrl.rf_buffer_in.buffer);
+					}
+					#endif
 					//switch to other buffer
 					ctrl.buffer_in_num ^= 1;
 
-- 
GitLab