1.2-legacy
geeksville 2020-08-16 14:07:01 -07:00
rodzic 0cfeeba2e2
commit 08e5bd728b
2 zmienionych plików z 141 dodań i 144 usunięć

Wyświetl plik

@ -19,89 +19,87 @@
*/ */
#include "variant.h" #include "variant.h"
#include "nrf.h"
#include "wiring_constants.h" #include "wiring_constants.h"
#include "wiring_digital.h" #include "wiring_digital.h"
#include "nrf.h"
const uint32_t g_ADigitalPinMap[] = const uint32_t g_ADigitalPinMap[] = {
{ // D0 .. D13
// D0 .. D13 25, // D0 is P0.25 (UART TX)
25, // D0 is P0.25 (UART TX) 24, // D1 is P0.24 (UART RX
24, // D1 is P0.24 (UART RX 10, // D2 is P0.10 (NFC2)
10, // D2 is P0.10 (NFC2) 47, // D3 is P1.15 (LED1)
47, // D3 is P1.15 (LED1) 42, // D4 is P1.10 (LED2)
42, // D4 is P1.10 (LED2) 40, // D5 is P1.08
40, // D5 is P1.08 7, // D6 is P0.07
7, // D6 is P0.07 34, // D7 is P1.02 (Button)
34, // D7 is P1.02 (Button) 16, // D8 is P0.16 (NeoPixel)
16, // D8 is P0.16 (NeoPixel) 26, // D9 is P0.26
26, // D9 is P0.26 27, // D10 is P0.27
27, // D10 is P0.27 6, // D11 is P0.06 D_RES (IPS display reset)
6, // D11 is P0.06 8, // D12 is P0.08 D_CS (IPS display chip select)
8, // D12 is P0.08 41, // D13 is P1.09 BLT (IPS display backlight)
41, // D13 is P1.09
// D14 .. D21 (aka A0 .. A7) // D14 .. D21 (aka A0 .. A7)
4, // D14 is P0.04 (A0) 4, // D14 is P0.04 (A0)
5, // D15 is P0.05 (A1) 5, // D15 is P0.05 (A1)
30, // D16 is P0.30 (A2) 30, // D16 is P0.30 (A2)
28, // D17 is P0.28 (A3) 28, // D17 is P0.28 (A3)
2, // D18 is P0.02 (A4) 2, // D18 is P0.02 (A4)
3, // D19 is P0.03 (A5) 3, // D19 is P0.03 (A5)
29, // D20 is P0.29 (A6, Battery) 29, // D20 is P0.29 (A6, Battery)
31, // D21 is P0.31 (A7, ARef) 31, // D21 is P0.31 (A7, ARef)
// D22 .. D23 (aka I2C pins) // D22 .. D23 (aka I2C pins)
12, // D22 is P0.12 (SDA) 12, // D22 is P0.12 (SDA)
11, // D23 is P0.11 (SCL) 11, // D23 is P0.11 (SCL)
// D24 .. D26 (aka SPI pins) // D24 .. D26 (aka SPI pins)
15, // D24 is P0.15 (SPI MISO) 15, // D24 is P0.15 (SPI MISO)
13, // D25 is P0.13 (SPI MOSI) 13, // D25 is P0.13 (SPI MOSI)
14, // D26 is P0.14 (SPI SCK ) 14, // D26 is P0.14 (SPI SCK )
// QSPI pins (not exposed via any header / test point) // QSPI pins (not exposed via any header / test point)
19, // D27 is P0.19 (QSPI CLK) // 19, // P0.19 (QSPI CLK)
20, // D28 is P0.20 (QSPI CS) // 20, // P0.20 (QSPI CS)
17, // D29 is P0.17 (QSPI Data 0) // 17, // P0.17 (QSPI Data 0)
22, // D30 is P0.22 (QSPI Data 1) // 22, // P0.22 (QSPI Data 1)
23, // D31 is P0.23 (QSPI Data 2) // 23, // P0.23 (QSPI Data 2)
21, // D32 is P0.21 (QSPI Data 3) // 21, // P0.21 (QSPI Data 3)
// The remaining NFC pin // The remaining NFC pin
9, // D33 is P0.09 (NFC1, exposed only via test point on bottom of board) 9, // D27 P0.09 (NFC1, exposed only via test point on bottom of board)
// Thus, there are 34 defined pins // The following pins were never listed as they were considered unusable
// 0, // P0.00 is XL1 (attached to 32.768kHz crystal) Never expose as GPIOs
// 1, // P0.01 is XL2 (attached to 32.768kHz crystal)
18, // D28 P0.18 is RESET (attached to switch)
// 32, // P1.00 is SWO (attached to debug header)
// The remaining pins are not usable: // D29-D43
// 27, // P0.27 E22-SX1262 DIO1
// 28, // P0.28 E22-SX1262 DIO2
// The following pins were never listed as they were considered unusable 30, // P0.30 E22-SX1262 TXEN
0, // P0.00 is XL1 (attached to 32.768kHz crystal) 32 + 1, // P1.01 BTN_UP
1, // P0.01 is XL2 (attached to 32.768kHz crystal) 32 + 2, // P1.02 SWITCH
18, // P0.18 is RESET (attached to switch) 35, // P1.03 E22-SX1262 NSS
32, // P1.00 is SWO (attached to debug header) 36, // P1.04 is not connected per schematic
37, // P1.05 is not connected per schematic
// The remaining pins are not connected (per schematic) 38, // P1.06 is not connected per schematic
33, //D38 is P1.01 is not connected per schematic 39, // P1.07 is not connected per schematic
35, //D39 is P1.03 is not connected per schematic 32 + 8, // P1.08 E22-SX1262 BUSY
36, //D40 P1.04 is not connected per schematic 43, // P1.11 is not connected per schematic
37, //D41 P1.05 is not connected per schematic 32 + 12, // P1.12 E22-SX1262 RESET
38, //D42 P1.06 is not connected per schematic 45, // P1.13 is not connected per schematic
39, //D43 P1.07 is not connected per schematic 46, // P1.14 is not connected per schematic
43, //D44 P1.11 is not connected per schematic
44, //D45 is P1.12 is not connected per schematic
45, //D46 P1.13 is not connected per schematic
46, //D47 is P1.14 is not connected per schematic
}; };
void initVariant() void initVariant()
{ {
// LED1 & LED2 // LED1 & LED2
pinMode(PIN_LED1, OUTPUT); pinMode(PIN_LED1, OUTPUT);
ledOff(PIN_LED1); ledOff(PIN_LED1);
pinMode(PIN_LED2, OUTPUT); pinMode(PIN_LED2, OUTPUT);
ledOff(PIN_LED2); ledOff(PIN_LED2);
} }

Wyświetl plik

@ -1,28 +1,28 @@
/* /*
Copyright (c) 2014-2015 Arduino LLC. All right reserved. Copyright (c) 2014-2015 Arduino LLC. All right reserved.
Copyright (c) 2016 Sandeep Mistry All right reserved. Copyright (c) 2016 Sandeep Mistry All right reserved.
Copyright (c) 2018, Adafruit Industries (adafruit.com) Copyright (c) 2018, Adafruit Industries (adafruit.com)
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version. 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, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Lesser General Public License for more details. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#ifndef _VARIANT_FEATHER52840_ #ifndef _VARIANT_LORA_RELAY_V1_
#define _VARIANT_FEATHER52840_ #define _VARIANT_LORA_RELAY_V1_
/** Master clock frequency */ /** Master clock frequency */
#define VARIANT_MCK (64000000ul) #define VARIANT_MCK (64000000ul)
#define USE_LFXO // Board uses 32khz crystal for LF #define USE_LFXO // Board uses 32khz crystal for LF
// define USE_LFRC // Board uses RC for LF // define USE_LFRC // Board uses RC for LF
/*---------------------------------------------------------------------------- /*----------------------------------------------------------------------------
@ -32,103 +32,102 @@
#include "WVariant.h" #include "WVariant.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif // __cplusplus #endif // __cplusplus
// Number of pins defined in PinDescription array // Number of pins defined in PinDescription array
#define PINS_COUNT (48) #define PINS_COUNT (43)
#define NUM_DIGITAL_PINS (48) #define NUM_DIGITAL_PINS (43)
#define NUM_ANALOG_INPUTS (6) // A6 is used for battery, A7 is analog reference #define NUM_ANALOG_INPUTS (8) // A6 is used for battery, A7 is analog reference
#define NUM_ANALOG_OUTPUTS (0) #define NUM_ANALOG_OUTPUTS (0)
// LEDs // LEDs
#define PIN_LED1 (3) #define PIN_LED1 (3)
#define PIN_LED2 (4) #define PIN_LED2 (4)
#define PIN_NEOPIXEL (8) #define PIN_NEOPIXEL (8)
#define LED_BUILTIN PIN_LED1 #define LED_BUILTIN PIN_LED1
#define LED_CONN PIN_LED2 #define LED_CONN PIN_LED2
#define LED_RED PIN_LED1 #define LED_RED PIN_LED1
#define LED_BLUE PIN_LED2 #define LED_BLUE PIN_LED2
#define LED_STATE_ON 1 // State when LED is litted #define LED_STATE_ON 1 // State when LED is litted
/* /*
* Buttons * Buttons
*/ */
#define PIN_BUTTON1 (7) #define PIN_BUTTON1 (7)
/* /*
* Analog pins * Analog pins
*/ */
#define PIN_A0 (14) #define PIN_A0 (14)
#define PIN_A1 (15) #define PIN_A1 (15)
#define PIN_A2 (16) #define PIN_A2 (16)
#define PIN_A3 (17) #define PIN_A3 (17)
#define PIN_A4 (18) #define PIN_A4 (18)
#define PIN_A5 (19) #define PIN_A5 (19)
#define PIN_A6 (20) #define PIN_A6 (20)
#define PIN_A7 (21) #define PIN_A7 (21)
static const uint8_t A0 = PIN_A0 ; static const uint8_t A0 = PIN_A0;
static const uint8_t A1 = PIN_A1 ; static const uint8_t A1 = PIN_A1;
static const uint8_t A2 = PIN_A2 ; static const uint8_t A2 = PIN_A2;
static const uint8_t A3 = PIN_A3 ; static const uint8_t A3 = PIN_A3;
static const uint8_t A4 = PIN_A4 ; static const uint8_t A4 = PIN_A4;
static const uint8_t A5 = PIN_A5 ; static const uint8_t A5 = PIN_A5;
static const uint8_t A6 = PIN_A6 ; static const uint8_t A6 = PIN_A6;
static const uint8_t A7 = PIN_A7 ; static const uint8_t A7 = PIN_A7;
#define ADC_RESOLUTION 14 #define ADC_RESOLUTION 14
// Other pins // Other pins
#define PIN_AREF PIN_A7 #define PIN_AREF PIN_A7
#define PIN_VBAT PIN_A6 #define PIN_VBAT PIN_A6
#define PIN_NFC1 (33) #define PIN_NFC1 (33)
#define PIN_NFC2 (2) #define PIN_NFC2 (2)
static const uint8_t AREF = PIN_AREF; static const uint8_t AREF = PIN_AREF;
/* /*
* Serial interfaces * Serial interfaces
*/ */
#define PIN_SERIAL1_RX (1) #define PIN_SERIAL1_RX (1)
#define PIN_SERIAL1_TX (0) #define PIN_SERIAL1_TX (0)
/* /*
* SPI Interfaces * SPI Interfaces
*/ */
#define SPI_INTERFACES_COUNT 1 #define SPI_INTERFACES_COUNT 1
#define PIN_SPI_MISO (24) #define PIN_SPI_MISO (24)
#define PIN_SPI_MOSI (25) #define PIN_SPI_MOSI (25)
#define PIN_SPI_SCK (26) #define PIN_SPI_SCK (26)
static const uint8_t SS = (5); static const uint8_t SS = (5);
static const uint8_t MOSI = PIN_SPI_MOSI ; static const uint8_t MOSI = PIN_SPI_MOSI;
static const uint8_t MISO = PIN_SPI_MISO ; static const uint8_t MISO = PIN_SPI_MISO;
static const uint8_t SCK = PIN_SPI_SCK ; static const uint8_t SCK = PIN_SPI_SCK;
/* /*
* Wire Interfaces * Wire Interfaces
*/ */
#define WIRE_INTERFACES_COUNT 1 #define WIRE_INTERFACES_COUNT 1
#define PIN_WIRE_SDA (22) #define PIN_WIRE_SDA (22)
#define PIN_WIRE_SCL (23) #define PIN_WIRE_SCL (23)
// QSPI Pins // QSPI Pins
#define PIN_QSPI_SCK 27 //#define PIN_QSPI_SCK 27
#define PIN_QSPI_CS 28 //#define PIN_QSPI_CS 28
#define PIN_QSPI_IO0 29 //#define PIN_QSPI_IO0 29
#define PIN_QSPI_IO1 30 //#define PIN_QSPI_IO1 30
#define PIN_QSPI_IO2 31 //#define PIN_QSPI_IO2 31
#define PIN_QSPI_IO3 32 //#define PIN_QSPI_IO3 32
// On-board QSPI Flash // On-board QSPI Flash
#define EXTERNAL_FLASH_DEVICES GD25Q16C //#define EXTERNAL_FLASH_DEVICES GD25Q16C
#define EXTERNAL_FLASH_USE_QSPI //#define EXTERNAL_FLASH_USE_QSPI
#ifdef __cplusplus #ifdef __cplusplus
} }