]> mj.ucw.cz Git - home-hw.git/blobdiff - lib/util-debug.c
Power daemon: A new daemon for relaying power meter data to MQTT
[home-hw.git] / lib / util-debug.c
index 59ee644709c81bee1806d9ae7bb952db8bd74d51..b61ace51e670b7ada29e342dead9a226f38cccb8 100644 (file)
@@ -6,6 +6,7 @@
 
 #include "util.h"
 
+#include <libopencm3/stm32/gpio.h>
 #include <libopencm3/stm32/usart.h>
 
 #include <stdarg.h>
 // Use this USART for debugging messages
 // #define DEBUG_USART USART1
 
+// Use this LED for debugging
+#ifdef DEBUG_LED_BLUEPILL
+#define DEBUG_LED_GPIO GPIOC
+#define DEBUG_LED_PIN GPIO13
+#define DEBUG_LED_INVERSE
+#endif
+
 /*** Implementation ***/
 
 #ifdef DEBUG_SEMIHOSTING
@@ -182,3 +190,23 @@ void debug_printf(const char *fmt, ...)
 
        va_end(args);
 }
+
+void debug_led(bool light)
+{
+#ifdef DEBUG_LED_GPIO
+#ifdef DEBUG_LED_INVERSE
+       light = !light;
+#endif
+       if (light)
+               gpio_set(DEBUG_LED_GPIO, DEBUG_LED_PIN);
+       else
+               gpio_clear(DEBUG_LED_GPIO, DEBUG_LED_PIN);
+#endif
+}
+
+void debug_led_toggle(void)
+{
+#ifdef DEBUG_LED_GPIO
+       gpio_toggle(DEBUG_LED_GPIO, DEBUG_LED_PIN);
+#endif
+}