aboutsummaryrefslogtreecommitdiffstats
path: root/arduino/variants/metro_nrf52840_express/variant.h
diff options
context:
space:
mode:
authorClyne Sullivan <tullivan99@gmail.com>2019-02-28 17:04:22 -0500
committerClyne Sullivan <tullivan99@gmail.com>2019-02-28 17:04:22 -0500
commitd6869d1ec4bd24cd2c3eafa534f0849b25ec5607 (patch)
tree79e54ed27b39c31864895535d11399708d5a45c0 /arduino/variants/metro_nrf52840_express/variant.h
parent614ee97bf3a2270c413527a7f35c54cbecd9e601 (diff)
added basic code
Diffstat (limited to 'arduino/variants/metro_nrf52840_express/variant.h')
-rwxr-xr-xarduino/variants/metro_nrf52840_express/variant.h147
1 files changed, 147 insertions, 0 deletions
diff --git a/arduino/variants/metro_nrf52840_express/variant.h b/arduino/variants/metro_nrf52840_express/variant.h
new file mode 100755
index 0000000..89bafdb
--- /dev/null
+++ b/arduino/variants/metro_nrf52840_express/variant.h
@@ -0,0 +1,147 @@
+ /*
+ 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_METRO52840
+#define _VARIANT_METRO52840
+
+/** 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 (48)
+#define NUM_DIGITAL_PINS (48)
+#define NUM_ANALOG_INPUTS (6)
+#define NUM_ANALOG_OUTPUTS (0)
+
+// LEDs
+#define PIN_LED1 (33)
+#define PIN_LED2 (34)
+#define PIN_NEOPIXEL (35)
+
+#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
+
+// Buttons
+/*
+#define PIN_BUTTON1 (2)
+#define PIN_BUTTON2 (3)
+#define PIN_BUTTON3 (4)
+#define PIN_BUTTON4 (5)
+*/
+
+/*
+ * Analog pins
+ */
+#define PIN_A0 (14)
+#define PIN_A1 (15)
+#define PIN_A2 (16)
+#define PIN_A3 (17)
+#define PIN_A4 (18)
+#define PIN_A5 (19)
+#define PIN_A6 (20)
+#define PIN_A7 (21)
+
+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 (PIN_A7)
+#define PIN_DFU (7)
+#define PIN_NFC1 (2)
+#define PIN_NFC2 (51)
+
+static const uint8_t AREF = PIN_AREF;
+
+/*
+ * Serial interfaces
+ */
+// Serial
+#define PIN_SERIAL_RX (1)
+#define PIN_SERIAL_TX (0)
+
+/*
+ * SPI Interfaces
+ */
+#define SPI_INTERFACES_COUNT 1
+
+#define PIN_SPI_MISO (24)
+#define PIN_SPI_MOSI (25)
+#define PIN_SPI_SCK (26)
+
+static const uint8_t SS = (5);
+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 (22)
+#define PIN_WIRE_SCL (23)
+
+/*
+ * QSPI interface for external flash
+ */
+#define PIN_QSPI_SCK 27
+#define PIN_QSPI_CS 28
+#define PIN_QSPI_DATA0 29
+#define PIN_QSPI_DATA1 30
+#define PIN_QSPI_DATA2 31
+#define PIN_QSPI_DATA3 32
+
+// On-board QSPI Flash
+// If EXTERNAL_FLASH_DEVICES is not defined, all supported devices will be used
+#define EXTERNAL_FLASH_DEVICES GD25Q16C
+
+#ifdef __cplusplus
+}
+#endif
+
+/*----------------------------------------------------------------------------
+ * Arduino objects - C++ only
+ *----------------------------------------------------------------------------*/
+
+#endif