From ed6dc701b28296ee01d9fb616da6351d42a28e69 Mon Sep 17 00:00:00 2001
From: Francois Berder <fberder@outlook.fr>
Date: Fri, 5 May 2017 13:42:29 +0200
Subject: [PATCH] boards: pic32-clicker: Add LEDs support

Signed-off-by: Francois Berder <fberder@outlook.fr>
---
 boards/pic32-clicker/clicker.c       |  7 +++++++
 boards/pic32-clicker/include/board.h | 19 +++++++++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/boards/pic32-clicker/clicker.c b/boards/pic32-clicker/clicker.c
index 82dacf50b6..f67273e860 100644
--- a/boards/pic32-clicker/clicker.c
+++ b/boards/pic32-clicker/clicker.c
@@ -9,6 +9,7 @@
  */
 #include <stdio.h>
 #include <stdint.h>
+#include "periph/gpio.h"
 #include "periph/uart.h"
 #include "bitarithm.h"
 #include "board.h"
@@ -29,6 +30,12 @@ void board_init(void)
     uart_init(DEBUG_VIA_UART, DEBUG_UART_BAUD, NULL, 0);
 #endif
 
+    /* Turn off all LED's */
+    gpio_init(LED1_PIN, GPIO_OUT);
+    gpio_init(LED2_PIN, GPIO_OUT);
+    LED1_OFF;
+    LED2_OFF;
+
     /* Stop the linker from throwing away the PIC32 config register settings */
     dummy();
 }
diff --git a/boards/pic32-clicker/include/board.h b/boards/pic32-clicker/include/board.h
index a45788e2cb..6d3b65ceff 100644
--- a/boards/pic32-clicker/include/board.h
+++ b/boards/pic32-clicker/include/board.h
@@ -47,6 +47,25 @@ extern "C" {
  */
 #define EIC_IRQ (1)
 
+/**
+ * @brief   LED pin configuration
+ * @{
+ */
+#define LED1_PIN            GPIO_PIN(PORT_B, 1)
+#define LED2_PIN            GPIO_PIN(PORT_B, 2)
+
+#define LED1_MASK           (1 << 1)
+#define LED2_MASK           (1 << 2)
+
+#define LED1_ON             (LATBSET = LED1_MASK)
+#define LED1_OFF            (LATBCLR = LED1_MASK)
+#define LED1_TOGGLE         (LATBINV = LED1_MASK)
+
+#define LED2_ON             (LATBSET = LED2_MASK)
+#define LED2_OFF            (LATBCLR = LED2_MASK)
+#define LED2_TOGGLE         (LATBINV = LED2_MASK)
+/** @} */
+
 /**
  * @brief   Board level initialisation
  */
-- 
GitLab