From d6869d1ec4bd24cd2c3eafa534f0849b25ec5607 Mon Sep 17 00:00:00 2001
From: Clyne Sullivan <tullivan99@gmail.com>
Date: Thu, 28 Feb 2019 17:04:22 -0500
Subject: added basic code

---
 arduino/variants/feather_nrf52832/variant.cpp |  82 +++++++++++++++++
 arduino/variants/feather_nrf52832/variant.h   | 124 ++++++++++++++++++++++++++
 2 files changed, 206 insertions(+)
 create mode 100755 arduino/variants/feather_nrf52832/variant.cpp
 create mode 100755 arduino/variants/feather_nrf52832/variant.h

(limited to 'arduino/variants/feather_nrf52832')

diff --git a/arduino/variants/feather_nrf52832/variant.cpp b/arduino/variants/feather_nrf52832/variant.cpp
new file mode 100755
index 0000000..8870938
--- /dev/null
+++ b/arduino/variants/feather_nrf52832/variant.cpp
@@ -0,0 +1,82 @@
+/*
+  Copyright (c) 2014-2015 Arduino LLC.  All right reserved.
+  Copyright (c) 2016 Sandeep Mistry All right reserved.
+  Copyright (c) 2018, Adafruit Industries (adafruit.com)
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 2.1 of the License, or (at your option) any later version.
+
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+  See the GNU Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public
+  License along with this library; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#include "variant.h"
+
+#include "wiring_constants.h"
+#include "wiring_digital.h"
+#include "nrf.h"
+
+const uint32_t g_ADigitalPinMap[] = {
+  // D0 - D7
+  0,  // xtal 1
+  1,  // xtal 2
+  2,  // a0
+  3,  // a1
+  4,  // a2
+  5,  // a3
+  6,  // TXD
+  7,  // GPIO #7
+
+  // D8 - D13
+  8,  // RXD
+
+  9,  // NFC1
+  10, // NFC2
+
+  11, // GPIO11
+
+  12, // SCK
+  13, // MOSI
+  14, // MISO
+
+  15, // GPIO #15
+  16, // GPIO #16
+
+  // function set pins
+  17, // LED #1 (red)
+  18, // SWO
+  19, // LED #2 (blue)
+  20, // DFU
+  21, // Reset
+  22, // Factory Reset
+  23, // N/A
+  24, // N/A
+
+  25, // SDA
+  26, // SCL
+  27, // GPIO #27
+  28, // A4
+  29, // A5
+  30, // A6
+  31, // A7
+
+};
+
+void initVariant()
+{
+  // LED1 & LED2
+  pinMode(PIN_LED1, OUTPUT);
+  ledOff(PIN_LED1);
+
+  pinMode(PIN_LED2, OUTPUT);
+  ledOff(PIN_LED2);
+}
+
diff --git a/arduino/variants/feather_nrf52832/variant.h b/arduino/variants/feather_nrf52832/variant.h
new file mode 100755
index 0000000..079cbba
--- /dev/null
+++ b/arduino/variants/feather_nrf52832/variant.h
@@ -0,0 +1,124 @@
+ /*
+  Copyright (c) 2014-2015 Arduino LLC.  All right reserved.
+  Copyright (c) 2016 Sandeep Mistry All right reserved.
+  Copyright (c) 2018, Adafruit Industries (adafruit.com)
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 2.1 of the License, or (at your option) any later version.
+  This library is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+  See the GNU Lesser General Public License for more details.
+  You should have received a copy of the GNU Lesser General Public
+  License along with this library; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#ifndef _VARIANT_FEATHER52832_
+#define _VARIANT_FEATHER52832_
+
+/** Master clock frequency */
+#define VARIANT_MCK       (64000000ul)
+
+#define USE_LFXO      // Board uses 32khz crystal for LF
+// define USE_LFRC    // Board uses RC for LF
+
+/*----------------------------------------------------------------------------
+ *        Headers
+ *----------------------------------------------------------------------------*/
+
+#include "WVariant.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif // __cplusplus
+
+// Number of pins defined in PinDescription array
+#define PINS_COUNT           (32u)
+#define NUM_DIGITAL_PINS     (32u)
+#define NUM_ANALOG_INPUTS    (8u)
+#define NUM_ANALOG_OUTPUTS   (0u)
+
+// LEDs
+#define PIN_LED1             (17)
+#define PIN_LED2             (19)
+
+#define LED_BUILTIN          PIN_LED1
+#define LED_CONN             PIN_LED2
+
+#define LED_RED              PIN_LED1
+#define LED_BLUE             PIN_LED2
+
+#define LED_STATE_ON         1         // State when LED is litted
+
+/*
+ * Analog pins
+ */
+#define PIN_A0               (2)
+#define PIN_A1               (3)
+#define PIN_A2               (4)
+#define PIN_A3               (5)
+#define PIN_A4               (28)
+#define PIN_A5               (29)
+#define PIN_A6               (30)
+#define PIN_A7               (31)
+
+static const uint8_t A0  = PIN_A0 ;
+static const uint8_t A1  = PIN_A1 ;
+static const uint8_t A2  = PIN_A2 ;
+static const uint8_t A3  = PIN_A3 ;
+static const uint8_t A4  = PIN_A4 ;
+static const uint8_t A5  = PIN_A5 ;
+static const uint8_t A6  = PIN_A6 ;
+static const uint8_t A7  = PIN_A7 ;
+#define ADC_RESOLUTION    14
+
+// Other pins
+#define PIN_AREF           (24)
+#define PIN_DFU            (20)
+#define PIN_NFC1           (9)
+#define PIN_NFC2           (10)
+
+static const uint8_t AREF = PIN_AREF;
+
+/*
+ * Serial interfaces
+ */
+// Serial
+#define PIN_SERIAL_RX       (8)
+#define PIN_SERIAL_TX       (6)
+
+/*
+ * SPI Interfaces
+ */
+#define SPI_INTERFACES_COUNT 1
+
+#define PIN_SPI_MISO         (14)
+#define PIN_SPI_MOSI         (13)
+#define PIN_SPI_SCK          (12)
+
+static const uint8_t SS   = 18 ;
+static const uint8_t MOSI = PIN_SPI_MOSI ;
+static const uint8_t MISO = PIN_SPI_MISO ;
+static const uint8_t SCK  = PIN_SPI_SCK ;
+
+/*
+ * Wire Interfaces
+ */
+#define WIRE_INTERFACES_COUNT 1
+
+#define PIN_WIRE_SDA         (25u)
+#define PIN_WIRE_SCL         (26u)
+
+#ifdef __cplusplus
+}
+#endif
+
+/*----------------------------------------------------------------------------
+ *        Arduino objects - C++ only
+ *----------------------------------------------------------------------------*/
+
+#endif
-- 
cgit v1.2.3