mirror of
https://github.com/meshtastic/firmware.git
synced 2026-01-07 10:27:43 +00:00
corvus2 board builds
This commit is contained in:
105
variants/lora_relay_v2/variant.cpp
Normal file
105
variants/lora_relay_v2/variant.cpp
Normal file
@@ -0,0 +1,105 @@
|
||||
/*
|
||||
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 "nrf.h"
|
||||
#include "wiring_constants.h"
|
||||
#include "wiring_digital.h"
|
||||
|
||||
const uint32_t g_ADigitalPinMap[] = {
|
||||
// D0 .. D13
|
||||
25, // D0 is P0.25 (UART TX)
|
||||
24, // D1 is P0.24 (UART RX
|
||||
10, // D2 is P0.10 (NFC2)
|
||||
47, // D3 is P1.15 (LED1)
|
||||
(32 + 10), // D4 is P1.10 (LED2)
|
||||
40, // D5 is P1.08
|
||||
7, // D6 is P0.07
|
||||
34, // D7 is P1.02 (Switch)
|
||||
16, // D8 is P0.16 (NeoPixel)
|
||||
26, // D9 is P0.26 D_RS (IPS data/command control)
|
||||
27, // D10 is P0.27
|
||||
6, // D11 is P0.06 D_RES (IPS display reset)
|
||||
8, // D12 is P0.08 D_CS (IPS display chip select)
|
||||
41, // D13 is P0.23 BLT (IPS display backlight)
|
||||
4, // D14 is P0.04 SX1262 RXEN
|
||||
5, // D15 is P0.05 BOOST_EN (5V buck converter enable for the the radio power)
|
||||
|
||||
// D14 .. D21 (aka A0 .. A7)
|
||||
30, // D16 is P0.30 (A0)
|
||||
28, // D17 is P0.28 (A1)
|
||||
2, // D18 is P0.02 (A2)
|
||||
3, // D19 is P0.03 (A3)
|
||||
29, // D20 is P0.29 (A4, Battery)
|
||||
31, // D21 is P0.31 (A5, ARef)
|
||||
|
||||
// D22 .. D23 (aka I2C pins)
|
||||
12, // D22 is P0.12 (SDA)
|
||||
11, // D23 is P0.11 (SCL)
|
||||
|
||||
// D24 .. D26 (aka SPI pins)
|
||||
15, // D24 is P0.15 (SPI MISO)
|
||||
13, // D25 is P0.13 (SPI MOSI)
|
||||
14, // D26 is P0.14 (SPI SCK )
|
||||
|
||||
// QSPI pins (not exposed via any header / test point)
|
||||
// 19, // P0.19 (QSPI CLK)
|
||||
// 20, // P0.20 (QSPI CS)
|
||||
// 17, // P0.17 (QSPI Data 0)
|
||||
// 22, // P0.22 (QSPI Data 1)
|
||||
// 23, // P0.23 (QSPI Data 2)
|
||||
// 21, // P0.21 (QSPI Data 3)
|
||||
|
||||
// The remaining NFC pin
|
||||
9, // D27 P0.09 (NFC1, exposed only via test point on bottom of board)
|
||||
|
||||
// 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)
|
||||
|
||||
// D29-D43
|
||||
32 + 12, // D29 P0.27 E22-SX1262 DIO1
|
||||
28, // D30 P0.28 E22-SX1262 DIO2
|
||||
30, // D31 P0.30 E22-SX1262 TXEN
|
||||
35, // D32 P1.03 E22-SX1262 NSS
|
||||
32 + 8, // D33 P1.08 E22-SX1262 BUSY
|
||||
27, // D34 P0.27 E22-SX1262 RESET
|
||||
32 + 1, // D35 P1.01 BTN_UP
|
||||
32, // D36 P1.0 GPS power
|
||||
21, // D37 P0.21 disp_clk
|
||||
36, // P1.04 BTN_OK
|
||||
37, // D39 P0.19 disp_SDA
|
||||
38, // D40 P1.06 BUZZER
|
||||
39, // P1.07 is not connected per schematic
|
||||
43, // P1.11 is not connected per schematic
|
||||
45, // P1.13 is not connected per schematic
|
||||
};
|
||||
|
||||
void initVariant()
|
||||
{
|
||||
// LED1 & LED2
|
||||
pinMode(PIN_LED1, OUTPUT);
|
||||
ledOff(PIN_LED1);
|
||||
|
||||
pinMode(PIN_LED2, OUTPUT);
|
||||
ledOff(PIN_LED2);
|
||||
}
|
||||
176
variants/lora_relay_v2/variant.h
Normal file
176
variants/lora_relay_v2/variant.h
Normal file
@@ -0,0 +1,176 @@
|
||||
/*
|
||||
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_LORA_RELAY_V1_
|
||||
#define _VARIANT_LORA_RELAY_V1_
|
||||
|
||||
/** Master clock frequency */
|
||||
#define VARIANT_MCK (64000000ul)
|
||||
|
||||
#define USE_LFXO // Board uses 32khz crystal for LF
|
||||
// define USE_LFRC // Board uses RC for LF
|
||||
|
||||
/*
|
||||
kevinh todo
|
||||
|
||||
ok leds
|
||||
ok buttons
|
||||
ok gps power
|
||||
ok gps signal
|
||||
ok? lcd
|
||||
ok buzzer
|
||||
serial flash
|
||||
ok lora (inc boost en)
|
||||
|
||||
mention dat1 and dat2 on sd card
|
||||
|
||||
*/
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* Headers
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
#include "WVariant.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
|
||||
// Number of pins defined in PinDescription array
|
||||
#define PINS_COUNT (43)
|
||||
#define NUM_DIGITAL_PINS (43)
|
||||
#define NUM_ANALOG_INPUTS (6) // A6 is used for battery, A7 is analog reference
|
||||
#define NUM_ANALOG_OUTPUTS (0)
|
||||
|
||||
// LEDs
|
||||
#define PIN_LED1 (3)
|
||||
#define PIN_LED2 (4)
|
||||
#define PIN_NEOPIXEL (8)
|
||||
#define PIN_BUZZER (40)
|
||||
|
||||
#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 (7)
|
||||
#define PIN_BUTTON2 (35)
|
||||
#define PIN_BUTTON3 (37)
|
||||
|
||||
/*
|
||||
* Analog pins
|
||||
*/
|
||||
#define PIN_A0 (16)
|
||||
#define PIN_A1 (17)
|
||||
#define PIN_A2 (18)
|
||||
#define PIN_A3 (19)
|
||||
#define PIN_A4 (20)
|
||||
#define PIN_A5 (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;
|
||||
#define ADC_RESOLUTION 14
|
||||
|
||||
// Other pins
|
||||
#define PIN_AREF PIN_A5
|
||||
#define PIN_VBAT PIN_A4
|
||||
#define PIN_NFC1 (33)
|
||||
#define PIN_NFC2 (2)
|
||||
#define PIN_PIEZO (37)
|
||||
static const uint8_t AREF = PIN_AREF;
|
||||
|
||||
/*
|
||||
* Serial interfaces
|
||||
*/
|
||||
#define PIN_SERIAL1_RX (1)
|
||||
#define PIN_SERIAL1_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)
|
||||
|
||||
// I2C device addresses
|
||||
#define I2C_ADDR_BQ27441 0x55 // Battery gauge
|
||||
|
||||
// CUSTOM GPIOs the SX1262
|
||||
#define SX1262_CS (32)
|
||||
|
||||
// If you would prefer to get console debug output over the JTAG ICE connection rather than the CDC-ACM USB serial device, just
|
||||
// define this. #define USE_SEGGER
|
||||
|
||||
#define SX1262_DIO1 (29)
|
||||
#define SX1262_DIO2 (30)
|
||||
#define SX1262_BUSY (33) // Supposed to be P0.18 but because of reworks, now on P0.31 (18)
|
||||
#define SX1262_RESET (34)
|
||||
// #define SX1262_ANT_SW (32 + 10)
|
||||
#define SX1262_RXEN (14)
|
||||
#define SX1262_TXEN (31)
|
||||
#define SX1262_POWER_EN \
|
||||
(15) // FIXME, see warning hre https://github.com/BigCorvus/SX1262-LoRa-BLE-Relay/blob/master/LORA_RELAY_NRF52840.ino
|
||||
#define SX1262_E22 // Indicates this SX1262 is inside of an ebyte E22 module and special config should be done for that
|
||||
|
||||
// ST7565 SPI
|
||||
#define ST7735_RESET (11) // Output
|
||||
#define ST7735_CS (12)
|
||||
#define ST7735_BACKLIGHT_EN (13)
|
||||
#define ST7735_RS (9)
|
||||
#define ST7735_SDA (39) // actually spi MOSI
|
||||
#define ST7735_SCK (37) // actually spi clk
|
||||
|
||||
#define PIN_GPS_WAKE 36 // Just kill GPS power when we want it to sleep? FIXME
|
||||
|
||||
// #define LORA_DISABLE_SENDING // The board can brownout during lora TX if you don't have a battery connected. Disable sending
|
||||
// to allow USB power only based debugging
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* Arduino objects - C++ only
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user