mirror of
https://github.com/meshtastic/firmware.git
synced 2025-04-23 17:13:38 +00:00
Cleanup build for NRF52 targets
This commit is contained in:
parent
2fa595523f
commit
8b911aba7f
46
boards/nrf52840_dk_modified.json
Normal file
46
boards/nrf52840_dk_modified.json
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"build": {
|
||||||
|
"arduino": {
|
||||||
|
"ldscript": "nrf52840_s140_v6.ld"
|
||||||
|
},
|
||||||
|
"core": "nRF5",
|
||||||
|
"cpu": "cortex-m4",
|
||||||
|
"extra_flags": "-DARDUINO_NRF52840_PCA10056 -DNRF52840_XXAA",
|
||||||
|
"f_cpu": "64000000L",
|
||||||
|
"hwids": [["0x239A", "0x4404"]],
|
||||||
|
"usb_product": "SimPPR",
|
||||||
|
"mcu": "nrf52840",
|
||||||
|
"variant": "pca10056-rc-clock",
|
||||||
|
"variants_dir": "variants",
|
||||||
|
"bsp": {
|
||||||
|
"name": "adafruit"
|
||||||
|
},
|
||||||
|
"softdevice": {
|
||||||
|
"sd_flags": "-DS140",
|
||||||
|
"sd_name": "s140",
|
||||||
|
"sd_version": "6.1.1",
|
||||||
|
"sd_fwid": "0x00B6"
|
||||||
|
},
|
||||||
|
"bootloader": {
|
||||||
|
"settings_addr": "0xFF000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"connectivity": ["bluetooth"],
|
||||||
|
"debug": {
|
||||||
|
"jlink_device": "nRF52840_xxAA",
|
||||||
|
"onboard_tools": ["jlink"],
|
||||||
|
"svd_path": "nrf52840.svd"
|
||||||
|
},
|
||||||
|
"frameworks": ["arduino"],
|
||||||
|
"name": "A modified NRF52840-DK devboard (Adafruit BSP)",
|
||||||
|
"upload": {
|
||||||
|
"maximum_ram_size": 248832,
|
||||||
|
"maximum_size": 815104,
|
||||||
|
"require_upload_port": true,
|
||||||
|
"speed": 115200,
|
||||||
|
"protocol": "jlink",
|
||||||
|
"protocols": ["jlink", "nrfjprog", "stlink"]
|
||||||
|
},
|
||||||
|
"url": "https://meshtastic.org/",
|
||||||
|
"vendor": "Nordic Semi"
|
||||||
|
}
|
@ -10,7 +10,7 @@
|
|||||||
"hwids": [["0x239A", "0x4403"]],
|
"hwids": [["0x239A", "0x4403"]],
|
||||||
"usb_product": "PPR",
|
"usb_product": "PPR",
|
||||||
"mcu": "nrf52840",
|
"mcu": "nrf52840",
|
||||||
"variant": "pca10056-rc-clock",
|
"variant": "ppr",
|
||||||
"variants_dir": "variants",
|
"variants_dir": "variants",
|
||||||
"bsp": {
|
"bsp": {
|
||||||
"name": "adafruit"
|
"name": "adafruit"
|
||||||
|
@ -11,9 +11,9 @@ TODO:
|
|||||||
- DONE read about mesh routing solutions (DSR and AODV)
|
- DONE read about mesh routing solutions (DSR and AODV)
|
||||||
- DONE read about general mesh flooding solutions (naive, MPR, geo assisted)
|
- DONE read about general mesh flooding solutions (naive, MPR, geo assisted)
|
||||||
- DONE reread the disaster radio protocol docs - seems based on Babel (which is AODVish)
|
- DONE reread the disaster radio protocol docs - seems based on Babel (which is AODVish)
|
||||||
- possibly dash7? https://www.slideshare.net/MaartenWeyn1/dash7-alliance-protocol-technical-presentation https://github.com/MOSAIC-LoPoW/dash7-ap-open-source-stack - does the opensource stack implement multihop routing? flooding? their discussion mailing list looks dead-dead
|
- REJECTED - seems dying - possibly dash7? https://www.slideshare.net/MaartenWeyn1/dash7-alliance-protocol-technical-presentation https://github.com/MOSAIC-LoPoW/dash7-ap-open-source-stack - does the opensource stack implement multihop routing? flooding? their discussion mailing list looks dead-dead
|
||||||
- update duty cycle spreadsheet for our typical usecase
|
- update duty cycle spreadsheet for our typical usecase
|
||||||
- generalize naive flooding on top of radiohead or disaster.radio? (and fix radiohead to use my new driver)
|
- DONE generalize naive flooding
|
||||||
|
|
||||||
a description of DSR: https://tools.ietf.org/html/rfc4728 good slides here: https://www.slideshare.net/ashrafmath/dynamic-source-routing
|
a description of DSR: https://tools.ietf.org/html/rfc4728 good slides here: https://www.slideshare.net/ashrafmath/dynamic-source-routing
|
||||||
good description of batman protocol: https://www.open-mesh.org/projects/open-mesh/wiki/BATMANConcept
|
good description of batman protocol: https://www.open-mesh.org/projects/open-mesh/wiki/BATMANConcept
|
||||||
@ -77,7 +77,6 @@ look into the literature for this idea specifically.
|
|||||||
|
|
||||||
FIXME, merge into the above:
|
FIXME, merge into the above:
|
||||||
|
|
||||||
|
|
||||||
good description of batman protocol: https://www.open-mesh.org/projects/open-mesh/wiki/BATMANConcept
|
good description of batman protocol: https://www.open-mesh.org/projects/open-mesh/wiki/BATMANConcept
|
||||||
|
|
||||||
interesting paper on lora mesh: https://portal.research.lu.se/portal/files/45735775/paper.pdf
|
interesting paper on lora mesh: https://portal.research.lu.se/portal/files/45735775/paper.pdf
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
Minimum items needed to make sure hardware is good.
|
Minimum items needed to make sure hardware is good.
|
||||||
|
|
||||||
- add a hard fault handler
|
- add a hard fault handler
|
||||||
- use "variants" to get all gpio bindings
|
|
||||||
- plug in correct variants for the real board
|
|
||||||
- Use the PMU driver on real hardware
|
- Use the PMU driver on real hardware
|
||||||
- Use new radio driver on real hardware
|
- Use new radio driver on real hardware
|
||||||
- Use UC1701 LCD driver on real hardware. Still need to create at startup and probe on SPI
|
- Use UC1701 LCD driver on real hardware. Still need to create at startup and probe on SPI
|
||||||
@ -62,6 +60,8 @@ Needed to be fully functional at least at the same level of the ESP32 boards. At
|
|||||||
|
|
||||||
Nice ideas worth considering someday...
|
Nice ideas worth considering someday...
|
||||||
|
|
||||||
|
- Hook Segger RTT to the nordic logging framework. https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/debugging-with-real-time-terminal
|
||||||
|
- Use nordic logging for DEBUG_MSG
|
||||||
- use the Jumper simulator to run meshes of simulated hardware: https://docs.jumper.io/docs/install.html
|
- use the Jumper simulator to run meshes of simulated hardware: https://docs.jumper.io/docs/install.html
|
||||||
- make/find a multithread safe debug logging class (include remote logging and timestamps and levels). make each log event atomic.
|
- make/find a multithread safe debug logging class (include remote logging and timestamps and levels). make each log event atomic.
|
||||||
- turn on freertos stack size checking
|
- turn on freertos stack size checking
|
||||||
@ -102,6 +102,8 @@ Nice ideas worth considering someday...
|
|||||||
- DONE remove unused sx1262 lib from github
|
- DONE remove unused sx1262 lib from github
|
||||||
- at boot we are starting our message IDs at 1, rather we should start them at a random number. also, seed random based on timer. this could be the cause of our first message not seen bug.
|
- at boot we are starting our message IDs at 1, rather we should start them at a random number. also, seed random based on timer. this could be the cause of our first message not seen bug.
|
||||||
- add a NEMA based GPS driver to test GPS
|
- add a NEMA based GPS driver to test GPS
|
||||||
|
- DONE use "variants" to get all gpio bindings
|
||||||
|
- DONE plug in correct variants for the real board
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -122,11 +122,9 @@ board = ttgo-lora32-v1
|
|||||||
build_flags =
|
build_flags =
|
||||||
${esp32_base.build_flags} -D TTGO_LORA_V2
|
${esp32_base.build_flags} -D TTGO_LORA_V2
|
||||||
|
|
||||||
|
; Common settings for NRF52 based targets
|
||||||
; The NRF52840-dk development board
|
[nrf52_base]
|
||||||
[env:nrf52dk]
|
|
||||||
platform = nordicnrf52
|
platform = nordicnrf52
|
||||||
board = ppr
|
|
||||||
framework = arduino
|
framework = arduino
|
||||||
debug_tool = jlink
|
debug_tool = jlink
|
||||||
build_type = debug ; I'm debugging with ICE a lot now
|
build_type = debug ; I'm debugging with ICE a lot now
|
||||||
@ -136,10 +134,6 @@ src_filter =
|
|||||||
${env.src_filter} -<esp32/>
|
${env.src_filter} -<esp32/>
|
||||||
lib_ignore =
|
lib_ignore =
|
||||||
BluetoothOTA
|
BluetoothOTA
|
||||||
lib_deps =
|
|
||||||
${env.lib_deps}
|
|
||||||
UC1701
|
|
||||||
https://github.com/meshtastic/BQ25703A.git
|
|
||||||
monitor_port = /dev/ttyACM1
|
monitor_port = /dev/ttyACM1
|
||||||
|
|
||||||
debug_extra_cmds =
|
debug_extra_cmds =
|
||||||
@ -150,3 +144,19 @@ debug_init_break =
|
|||||||
;debug_init_break = tbreak loop
|
;debug_init_break = tbreak loop
|
||||||
;debug_init_break = tbreak Reset_Handler
|
;debug_init_break = tbreak Reset_Handler
|
||||||
|
|
||||||
|
; The NRF52840-dk development board
|
||||||
|
[env:nrf52dk]
|
||||||
|
extends = nrf52_base
|
||||||
|
board = nrf52840_dk_modified
|
||||||
|
|
||||||
|
; The PPR board
|
||||||
|
[env:ppr]
|
||||||
|
extends = nrf52_base
|
||||||
|
board = ppr
|
||||||
|
lib_deps =
|
||||||
|
${env.lib_deps}
|
||||||
|
UC1701
|
||||||
|
https://github.com/meshtastic/BQ25703A.git
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,27 +51,31 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define xstr(s) str(s)
|
#define xstr(s) str(s)
|
||||||
#define str(s) #s
|
#define str(s) #s
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
#ifdef NRF52840_XXAA // All of the NRF52 targets are configured using variant.h, so this section shouldn't need to be
|
||||||
// OLED
|
// board specific
|
||||||
// -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#define SSD1306_ADDRESS 0x3C
|
//
|
||||||
|
// Standard definitions for NRF52 targets
|
||||||
|
//
|
||||||
|
|
||||||
// Flip the screen upside down by default as it makes more sense on T-BEAM
|
#define NO_ESP32 // Don't use ESP32 libs (mainly bluetooth)
|
||||||
// devices. Comment this out to not rotate screen 180 degrees.
|
|
||||||
#define FLIP_SCREEN_VERTICALLY
|
|
||||||
|
|
||||||
// DEBUG LED
|
// We bind to the GPS using variant.h instead for this platform (Serial1)
|
||||||
|
|
||||||
#define LED_INVERTED 0 // define as 1 if LED is active low (on)
|
// FIXME, not yet ready for NRF52
|
||||||
|
#define RTC_DATA_ATTR
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
#define LED_PIN PIN_LED1 // LED1 on nrf52840-DK
|
||||||
// GPS
|
#define BUTTON_PIN PIN_BUTTON1
|
||||||
// -----------------------------------------------------------------------------
|
|
||||||
|
// FIXME, use variant.h defs for all of this!!! (even on the ESP32 targets)
|
||||||
|
#else
|
||||||
|
|
||||||
|
//
|
||||||
|
// Standard definitions for ESP32 targets
|
||||||
|
//
|
||||||
|
|
||||||
#define GPS_SERIAL_NUM 1
|
#define GPS_SERIAL_NUM 1
|
||||||
#define GPS_BAUDRATE 9600
|
|
||||||
|
|
||||||
#define GPS_RX_PIN 34
|
#define GPS_RX_PIN 34
|
||||||
#ifdef USE_JTAG
|
#ifdef USE_JTAG
|
||||||
#define GPS_TX_PIN -1
|
#define GPS_TX_PIN -1
|
||||||
@ -88,6 +92,27 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define MOSI_GPIO 27
|
#define MOSI_GPIO 27
|
||||||
#define NSS_GPIO 18
|
#define NSS_GPIO 18
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------------
|
||||||
|
// OLED
|
||||||
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#define SSD1306_ADDRESS 0x3C
|
||||||
|
|
||||||
|
// Flip the screen upside down by default as it makes more sense on T-BEAM
|
||||||
|
// devices. Comment this out to not rotate screen 180 degrees.
|
||||||
|
#define FLIP_SCREEN_VERTICALLY
|
||||||
|
|
||||||
|
// DEBUG LED
|
||||||
|
#define LED_INVERTED 0 // define as 1 if LED is active low (on)
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------------
|
||||||
|
// GPS
|
||||||
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#define GPS_BAUDRATE 9600
|
||||||
|
|
||||||
#if defined(TBEAM_V10)
|
#if defined(TBEAM_V10)
|
||||||
// This string must exactly match the case used in release file names or the android updater won't work
|
// This string must exactly match the case used in release file names or the android updater won't work
|
||||||
#define HW_VENDOR "tbeam"
|
#define HW_VENDOR "tbeam"
|
||||||
@ -188,35 +213,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
0 // If defined, this will be used for user button presses, if your board doesn't have a physical switch, you can wire one
|
0 // If defined, this will be used for user button presses, if your board doesn't have a physical switch, you can wire one
|
||||||
// between this pin and ground
|
// between this pin and ground
|
||||||
|
|
||||||
#define RESET_GPIO 14 // If defined, this pin will be used to reset the LORA radio
|
#define RESET_GPIO 14 // If defined, this pin will be used to reset the LORA radio
|
||||||
#define RF95_IRQ_GPIO 26 // IRQ line for the LORA radio
|
#define RF95_IRQ_GPIO 26 // IRQ line for the LORA radio
|
||||||
#define DIO1_GPIO 35 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
#define DIO1_GPIO 35 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
||||||
#define DIO2_GPIO 34 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
#define DIO2_GPIO 34 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
||||||
#elif defined(NRF52840_XXAA) // All of the NRF52 targets are configured using variant.h, so this section shouldn't need to be
|
#endif
|
||||||
// board specific
|
|
||||||
|
|
||||||
// FIXME, use variant.h defs for all of this!!!
|
#ifdef ARDUINO_NRF52840_PCA10056
|
||||||
|
|
||||||
// This string must exactly match the case used in release file names or the android updater won't work
|
// This string must exactly match the case used in release file names or the android updater won't work
|
||||||
#define HW_VENDOR "nrf52"
|
#define HW_VENDOR "nrf52dk"
|
||||||
|
|
||||||
#define NO_ESP32 // Don't use ESP32 libs (mainly bluetooth)
|
|
||||||
|
|
||||||
// We bind to the GPS using variant.h instead for this platform (Serial1)
|
|
||||||
#undef GPS_RX_PIN
|
|
||||||
#undef GPS_TX_PIN
|
|
||||||
|
|
||||||
// FIXME, not yet ready for NRF52
|
|
||||||
#define RTC_DATA_ATTR
|
|
||||||
|
|
||||||
#define LED_PIN PIN_LED1 // LED1 on nrf52840-DK
|
|
||||||
#define BUTTON_PIN PIN_BUTTON1
|
|
||||||
|
|
||||||
// This board uses 0 to be mean LED on
|
// This board uses 0 to be mean LED on
|
||||||
#undef LED_INVERTED
|
#undef LED_INVERTED
|
||||||
#define LED_INVERTED 1
|
#define LED_INVERTED 1
|
||||||
|
|
||||||
// Temporarily testing if we can build the RF95 driver for NRF52
|
// Uncomment to confirm if we can build the RF95 driver for NRF52
|
||||||
#if 0
|
#if 0
|
||||||
#define RESET_GPIO 14 // If defined, this pin will be used to reset the LORA radio
|
#define RESET_GPIO 14 // If defined, this pin will be used to reset the LORA radio
|
||||||
#define RF95_IRQ_GPIO 26 // IRQ line for the LORA radio
|
#define RF95_IRQ_GPIO 26 // IRQ line for the LORA radio
|
||||||
@ -224,6 +236,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define DIO2_GPIO 34 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
#define DIO2_GPIO 34 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#elif defined(ARDUINO_NRF52840_PPR)
|
||||||
|
|
||||||
|
#define HW_VENDOR "ppr"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
@ -189,6 +189,8 @@ void setup()
|
|||||||
|
|
||||||
readFromRTC(); // read the main CPU RTC at first (in case we can't get GPS time)
|
readFromRTC(); // read the main CPU RTC at first (in case we can't get GPS time)
|
||||||
|
|
||||||
|
// If we know we have a L80 GPS, don't try UBLOX
|
||||||
|
#ifndef L80_RESET
|
||||||
// Init GPS - first try ublox
|
// Init GPS - first try ublox
|
||||||
gps = new UBloxGPS();
|
gps = new UBloxGPS();
|
||||||
if (!gps->setup()) {
|
if (!gps->setup()) {
|
||||||
@ -199,6 +201,10 @@ void setup()
|
|||||||
gps = new NEMAGPS();
|
gps = new NEMAGPS();
|
||||||
gps->setup();
|
gps->setup();
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
gps = new NEMAGPS();
|
||||||
|
gps->setup();
|
||||||
|
#endif
|
||||||
|
|
||||||
service.init();
|
service.init();
|
||||||
|
|
||||||
|
@ -19,31 +19,24 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#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[] = {
|
||||||
{
|
// P0
|
||||||
// P0
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0xff, 12, 13, 0xff, 15, 0xff, 17, 18, 0xff, 20, 0xff, 22, 0xff, 24, 0xff, 26, 0xff, 28, 29,
|
||||||
0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ,
|
30, 31,
|
||||||
8 , 9 , 10, 11, 12, 13, 14, 15,
|
|
||||||
16, 17, 18, 19, 20, 21, 22, 23,
|
|
||||||
24, 25, 26, 27, 28, 29, 30, 31,
|
|
||||||
|
|
||||||
// P1
|
|
||||||
32, 33, 34, 35, 36, 37, 38, 39,
|
|
||||||
40, 41, 42, 43, 44, 45, 46, 47
|
|
||||||
};
|
|
||||||
|
|
||||||
|
// P1
|
||||||
|
32, 0xff, 34, 0xff, 36, 0xff, 38, 0xff, 0xff, 41, 42, 43, 0xff, 45};
|
||||||
|
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,40 +39,44 @@ 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 (46)
|
||||||
#define NUM_DIGITAL_PINS (48)
|
#define NUM_DIGITAL_PINS (46)
|
||||||
#define NUM_ANALOG_INPUTS (6)
|
#define NUM_ANALOG_INPUTS (0)
|
||||||
#define NUM_ANALOG_OUTPUTS (0)
|
#define NUM_ANALOG_OUTPUTS (0)
|
||||||
|
|
||||||
// LEDs
|
// LEDs
|
||||||
#define PIN_LED1 (13)
|
#define PIN_LED1 (0)
|
||||||
#define PIN_LED2 (14)
|
#define PIN_LED2 (1)
|
||||||
|
|
||||||
#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_GREEN PIN_LED2
|
||||||
|
|
||||||
#define LED_STATE_ON 0 // State when LED is litted
|
// FIXME, bluefruit automatically blinks this led while connected. call AdafruitBluefruit::autoConnLed to change this.
|
||||||
|
#define LED_BLUE LED_GREEN
|
||||||
|
|
||||||
|
#define LED_STATE_ON 1 // State when LED is litted
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Buttons
|
* Buttons
|
||||||
*/
|
*/
|
||||||
#define PIN_BUTTON1 11
|
#define PIN_BUTTON1 4 // center
|
||||||
#define PIN_BUTTON2 12
|
#define PIN_BUTTON2 2
|
||||||
#define PIN_BUTTON3 24
|
#define PIN_BUTTON3 3
|
||||||
#define PIN_BUTTON4 25
|
#define PIN_BUTTON4 5
|
||||||
|
#define PIN_BUTTON5 6
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Analog pins
|
* Analog pins
|
||||||
*/
|
*/
|
||||||
#define PIN_A0 (3)
|
#define PIN_A0 (0xff)
|
||||||
#define PIN_A1 (4)
|
#define PIN_A1 (0xff)
|
||||||
#define PIN_A2 (28)
|
#define PIN_A2 (0xff)
|
||||||
#define PIN_A3 (29)
|
#define PIN_A3 (0xff)
|
||||||
#define PIN_A4 (30)
|
#define PIN_A4 (0xff)
|
||||||
#define PIN_A5 (31)
|
#define PIN_A5 (0xff)
|
||||||
#define PIN_A6 (0xff)
|
#define PIN_A6 (0xff)
|
||||||
#define PIN_A7 (0xff)
|
#define PIN_A7 (0xff)
|
||||||
|
|
||||||
@ -87,9 +91,9 @@ static const uint8_t A7 = PIN_A7;
|
|||||||
#define ADC_RESOLUTION 14
|
#define ADC_RESOLUTION 14
|
||||||
|
|
||||||
// Other pins
|
// Other pins
|
||||||
#define PIN_AREF (2)
|
#define PIN_AREF (0xff)
|
||||||
#define PIN_NFC1 (9)
|
//#define PIN_NFC1 (9)
|
||||||
#define PIN_NFC2 (10)
|
//#define PIN_NFC2 (10)
|
||||||
|
|
||||||
static const uint8_t AREF = PIN_AREF;
|
static const uint8_t AREF = PIN_AREF;
|
||||||
|
|
||||||
@ -97,24 +101,24 @@ static const uint8_t AREF = PIN_AREF;
|
|||||||
* Serial interfaces
|
* Serial interfaces
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Arduino Header D0, D1
|
// GPS is on Serial1
|
||||||
#define PIN_SERIAL1_RX (33) // P1.01
|
#define PIN_SERIAL1_RX (8)
|
||||||
#define PIN_SERIAL1_TX (34) // P1.02
|
#define PIN_SERIAL1_TX (9)
|
||||||
|
|
||||||
// Connected to Jlink CDC
|
// Connected to Jlink CDC
|
||||||
#define PIN_SERIAL2_RX (8)
|
//#define PIN_SERIAL2_RX (8)
|
||||||
#define PIN_SERIAL2_TX (6)
|
//#define PIN_SERIAL2_TX (6)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SPI Interfaces
|
* SPI Interfaces
|
||||||
*/
|
*/
|
||||||
#define SPI_INTERFACES_COUNT 1
|
#define SPI_INTERFACES_COUNT 1
|
||||||
|
|
||||||
#define PIN_SPI_MISO (46)
|
#define PIN_SPI_MISO (15)
|
||||||
#define PIN_SPI_MOSI (45)
|
#define PIN_SPI_MOSI (13)
|
||||||
#define PIN_SPI_SCK (47)
|
#define PIN_SPI_SCK (12)
|
||||||
|
|
||||||
static const uint8_t SS = 44;
|
// static const uint8_t SS = 44;
|
||||||
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;
|
||||||
@ -124,8 +128,27 @@ static const uint8_t SCK = PIN_SPI_SCK;
|
|||||||
*/
|
*/
|
||||||
#define WIRE_INTERFACES_COUNT 1
|
#define WIRE_INTERFACES_COUNT 1
|
||||||
|
|
||||||
#define PIN_WIRE_SDA (26)
|
#define PIN_WIRE_SDA (32 + 2)
|
||||||
#define PIN_WIRE_SCL (27)
|
#define PIN_WIRE_SCL (32)
|
||||||
|
|
||||||
|
// CUSTOM GPIOs the SX1262
|
||||||
|
#define SX1262_CS (10)
|
||||||
|
#define SX1262_DIO1 (20)
|
||||||
|
#define SX1262_DIO2 (26)
|
||||||
|
#define SX1262_BUSY (18)
|
||||||
|
#define SX1262_RESET (17)
|
||||||
|
// #define SX1262_ANT_SW (32 + 10)
|
||||||
|
#define SX1262_RXEN (22)
|
||||||
|
#define SX1262_TXEN (24)
|
||||||
|
|
||||||
|
// ERC12864-10 LCD
|
||||||
|
#define ERC12864_CS (32 + 4)
|
||||||
|
#define ERC12864_RESET (32 + 6)
|
||||||
|
#define ERC12864_CD (32 + 9)
|
||||||
|
|
||||||
|
// L80 GPS
|
||||||
|
#define L80_PPS (28)
|
||||||
|
#define L80_RESET (29)
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user