|
| 1 | +/* |
| 2 | + Copyright (c) 2014-2015 Arduino LLC. All right reserved. |
| 3 | + Copyright (c) 2016 Sandeep Mistry All right reserved. |
| 4 | + Copyright (c) 2018, Adafruit Industries (adafruit.com) |
| 5 | +
|
| 6 | + This library is free software; you can redistribute it and/or |
| 7 | + modify it under the terms of the GNU Lesser General Public |
| 8 | + License as published by the Free Software Foundation; either |
| 9 | + version 2.1 of the License, or (at your option) any later version. |
| 10 | +
|
| 11 | + This library is distributed in the hope that it will be useful, |
| 12 | + but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 13 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| 14 | + See the GNU Lesser General Public License for more details. |
| 15 | +
|
| 16 | + You should have received a copy of the GNU Lesser General Public |
| 17 | + License along with this library; if not, write to the Free Software |
| 18 | + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 19 | +*/ |
| 20 | + |
| 21 | +#include "variant.h" |
| 22 | +#include "wiring_constants.h" |
| 23 | +#include "wiring_digital.h" |
| 24 | +#include "nrf.h" |
| 25 | + |
| 26 | +#define PINNUM(port, pin) ((port)*32 + (pin)) |
| 27 | + |
| 28 | +const uint32_t g_ADigitalPinMap[] = { |
| 29 | + // D0 .. D13 |
| 30 | + PINNUM(1, 11), // D0 is P1.11 (UART TX) |
| 31 | + PINNUM(1, 13), // D1 is P1.13 (UART RX) |
| 32 | + PINNUM(1, 10), // D2 is P1.10 (DFU) |
| 33 | + PINNUM(1, 6), // D3 is P1.06 (Button) |
| 34 | + PINNUM(0, 6), // D4 is P0.06 (LSM6DS3 IRQ) |
| 35 | + PINNUM(0, 20), // D5 is P0.20 |
| 36 | + PINNUM(0, 16), // D6 is P0.16 |
| 37 | + PINNUM(1, 2), // D7 is P1.02 (Neopixel Power) |
| 38 | + PINNUM(1, 8), // D8 is P1.08 (NeoPixel) |
| 39 | + PINNUM(0, 15), // D9 is P0.15 |
| 40 | + PINNUM(0, 13), // D10 is P0.13 |
| 41 | + PINNUM(0, 14), // D11 is P0.14 |
| 42 | + PINNUM(0, 12), // D12 is P0.12 |
| 43 | + PINNUM(0, 11), // D13 is P0.11 (LED1) |
| 44 | + |
| 45 | + // D14 .. D20 (aka A0 .. A6) |
| 46 | + PINNUM(0, 3), // D14 is P0.03 (A0) |
| 47 | + PINNUM(0, 2), // D15 is P0.02 (A1) |
| 48 | + PINNUM(0, 28), // D16 is P0.28 (A2) |
| 49 | + PINNUM(0, 30), // D17 is P0.30 (A3) |
| 50 | + PINNUM(0, 31), // D18 is P0.31 (A4) |
| 51 | + PINNUM(0, 29), // D19 is P0.29 (A5) |
| 52 | + PINNUM(0, 4), // D20 is P0.04 (A6, Battery) |
| 53 | + |
| 54 | + PINNUM(1, 7), // D21 is P1.07 (Sensor Power) |
| 55 | + |
| 56 | + // D22 .. D23 (aka I2C pins) |
| 57 | + PINNUM(0, 25), // D22 is P0.25 (SDA) |
| 58 | + PINNUM(0, 24), // D23 is P0.24 (SCL) |
| 59 | + |
| 60 | + // D24 .. D26 (aka SPI pins) |
| 61 | + PINNUM(0, 7), // D24 is P0.07 (SPI MISO) |
| 62 | + PINNUM(0, 5), // D25 is P0.05 (SPI MOSI) |
| 63 | + PINNUM(0, 26), // D26 is P0.26 (SPI SCK ) |
| 64 | + |
| 65 | + // D27 .. D32 QSPI pins (not exposed via any header / test point) |
| 66 | + PINNUM(0, 19), // D27 is P0.19 (QSPI CLK) |
| 67 | + PINNUM(0, 23), // D28 is P0.23 (QSPI CS) |
| 68 | + PINNUM(0, 21), // D29 is P0.21 (QSPI Data 0) |
| 69 | + PINNUM(0, 22), // D30 is P0.22 (QSPI Data 1) |
| 70 | + PINNUM(1, 0), // D31 is P1.00 (QSPI Data 2) |
| 71 | + PINNUM(0, 17), // D32 is P0.17 (QSPI Data 3) |
| 72 | + |
| 73 | + // D33 .. D34 PDM pins |
| 74 | + PINNUM(0, 8), // D33 P0.08 is PDM Data |
| 75 | + PINNUM(1, 9), // D34 P1.09 is PDM Clock |
| 76 | + |
| 77 | + // D35 .. D38 TFT |
| 78 | + PINNUM(1, 5), // D35 P1.05 is TFT CS |
| 79 | + PINNUM(1, 1), // D36 P1.01 is TFT DC |
| 80 | + PINNUM(1, 3), // D37 P1.03 is TFT Reset |
| 81 | + PINNUM(0, 27), // D38 P0.27 is TFT Backlight |
| 82 | + |
| 83 | + // D39 .. D40 NFC |
| 84 | + PINNUM(0, 9), // D39 is P0.09 (NFC1) |
| 85 | + PINNUM(0, 10), // D40 is P0.10 (NFC2) |
| 86 | +}; |
| 87 | + |
| 88 | +void initVariant() |
| 89 | +{ |
| 90 | + // power off LED, neopixel, sensor, tft backlight |
| 91 | + pinMode(PIN_LED1, OUTPUT); |
| 92 | + pinMode(PIN_NEOPIXEL_POWER, OUTPUT); |
| 93 | + pinMode(PIN_SENSOR_POWER, OUTPUT); |
| 94 | + pinMode(PIN_TFT_LITE, OUTPUT); |
| 95 | + |
| 96 | + ledOff(PIN_LED1); |
| 97 | + digitalWrite(PIN_NEOPIXEL_POWER, LOW); |
| 98 | + digitalWrite(PIN_SENSOR_POWER, LOW); |
| 99 | + digitalWrite(PIN_TFT_LITE, LOW); |
| 100 | +} |
| 101 | + |
0 commit comments