mirror of
https://github.com/meshtastic/firmware.git
synced 2026-01-08 02:47:35 +00:00
RAK11310 (#2299)
* POC. Board definition JSON upcoming. Generic for now * side-effect: RP2040 is building again. * WIP Pico Targets * current state of affairs * ahem * POC. Board definition JSON upcoming. Generic for now * side-effect: RP2040 is building again. * WIP Pico Targets * current state of affairs * ahem * fmt * update toolkit and fmt * Add built in LED pin * Use arduino pins * init SPI bus on right pins. * Use SPI1 and control chip select manually * Use macro define for SPI selection. This needs to be defined in the ini file since portduino needs it inside the framework source * Remove manual CS; works when not using setCS() * Remove whoopsie debug line * we are not ARDUINO_AVR_NANO_EVERY any more * fix rp2040 compilation * fix RadioLibHAL * Use new arduino-pico core * Use cortex-m0plus for BSEC2 library * Forgot RAK11310 target for BSEC2 library * That branch was merged * RAK11310 is working too --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com> Co-authored-by: GUVWAF <thijs@havinga.eu>
This commit is contained in:
68
variants/rak11310/pins_arduino.h
Normal file
68
variants/rak11310/pins_arduino.h
Normal file
@@ -0,0 +1,68 @@
|
||||
#pragma once
|
||||
|
||||
// Pin definitions taken from:
|
||||
// https://datasheets.raspberrypi.org/pico/pico-datasheet.pdf
|
||||
|
||||
static const uint8_t WB_IO1 = 6; // SLOT_A SLOT_B
|
||||
static const uint8_t WB_IO2 = 22; // SLOT_A SLOT_B
|
||||
static const uint8_t WB_IO3 = 7; // SLOT_C
|
||||
static const uint8_t WB_IO4 = 28; // SLOT_C
|
||||
static const uint8_t WB_IO5 = 9; // SLOT_D
|
||||
static const uint8_t WB_IO6 = 8; // SLOT_D
|
||||
static const uint8_t WB_A0 = 26; // IO_SLOT
|
||||
static const uint8_t WB_A1 = 27; // IO_SLOT
|
||||
|
||||
#define PIN_A0 (26u)
|
||||
#define PIN_A1 (27u)
|
||||
#define PIN_A2 (28u)
|
||||
#define PIN_A3 (29u)
|
||||
|
||||
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;
|
||||
|
||||
// LEDs
|
||||
#define PIN_LED (23u)
|
||||
#define PIN_LED1 PIN_LED
|
||||
#define PIN_LED2 (24u)
|
||||
#define LED_BUILTIN PIN_LED
|
||||
|
||||
#define ADC_RESOLUTION 12
|
||||
|
||||
// Serial
|
||||
#define PIN_SERIAL1_TX (0ul)
|
||||
#define PIN_SERIAL1_RX (1ul)
|
||||
|
||||
#define PIN_SERIAL2_TX (4ul)
|
||||
#define PIN_SERIAL2_RX (5ul)
|
||||
|
||||
// SPI
|
||||
#define PIN_SPI0_MISO (12u)
|
||||
#define PIN_SPI0_MOSI (11u)
|
||||
#define PIN_SPI0_SCK (10u)
|
||||
#define PIN_SPI0_SS (13u)
|
||||
|
||||
#define PIN_SPI1_MISO (16u)
|
||||
#define PIN_SPI1_MOSI (19u)
|
||||
#define PIN_SPI1_SCK (18u)
|
||||
#define PIN_SPI1_SS (17u)
|
||||
|
||||
// Wire
|
||||
#define PIN_WIRE0_SDA (2u)
|
||||
#define PIN_WIRE0_SCL (3u)
|
||||
|
||||
#define PIN_WIRE1_SDA (20u)
|
||||
#define PIN_WIRE1_SCL (21u)
|
||||
|
||||
#define SERIAL_HOWMANY (3u)
|
||||
#define SPI_HOWMANY (2u)
|
||||
#define WIRE_HOWMANY (2u)
|
||||
|
||||
static const uint8_t SS = PIN_SPI0_SS;
|
||||
static const uint8_t MOSI = PIN_SPI0_MOSI;
|
||||
static const uint8_t MISO = PIN_SPI0_MISO;
|
||||
static const uint8_t SCK = PIN_SPI0_SCK;
|
||||
|
||||
static const uint8_t SDA = PIN_WIRE0_SDA;
|
||||
static const uint8_t SCL = PIN_WIRE0_SCL;
|
||||
15
variants/rak11310/platformio.ini
Normal file
15
variants/rak11310/platformio.ini
Normal file
@@ -0,0 +1,15 @@
|
||||
[env:rak11310]
|
||||
extends = rp2040_base
|
||||
board = wiscore_rak11300
|
||||
board_level = extra
|
||||
upload_protocol = picotool
|
||||
|
||||
# add our variants files to the include and src paths
|
||||
build_flags = ${rp2040_base.build_flags}
|
||||
-DPRIVATE_HW
|
||||
-Ivariants/rak11310
|
||||
-DDEBUG_RP2040_PORT=Serial
|
||||
-DUSE_TINYUSB
|
||||
-L "${platformio.libdeps_dir}/${this.__env__}/BSEC2 Software Library/src/cortex-m0plus"
|
||||
lib_deps =
|
||||
${rp2040_base.lib_deps}
|
||||
55
variants/rak11310/variant.h
Normal file
55
variants/rak11310/variant.h
Normal file
@@ -0,0 +1,55 @@
|
||||
// #define RADIOLIB_CUSTOM_ARDUINO 1
|
||||
// #define RADIOLIB_TONE_UNSUPPORTED 1
|
||||
// #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED 1
|
||||
|
||||
#define ARDUINO_ARCH_AVR
|
||||
|
||||
#undef CBC
|
||||
#define CBC 0
|
||||
#undef CTR
|
||||
#define CTR 1
|
||||
#undef ECB
|
||||
#define ECB 0
|
||||
|
||||
#undef GPS_SERIAL_NUM
|
||||
|
||||
#define LED_CONN PIN_LED2
|
||||
|
||||
#define BUTTON_PIN 9
|
||||
#define BUTTON_NEED_PULLUP
|
||||
// #define EXT_NOTIFY_OUT 4
|
||||
|
||||
#define BATTERY_PIN 26
|
||||
// ratio of voltage divider = 3.0 (R17=200k, R18=100k)
|
||||
#define ADC_MULTIPLIER 3.1 // 3.0 + a bit for being optimistic
|
||||
|
||||
#define USE_SX1262
|
||||
|
||||
#undef RF95_SCK
|
||||
#undef RF95_MISO
|
||||
#undef RF95_MOSI
|
||||
#undef RF95_NSS
|
||||
|
||||
// RAK BSP somehow uses SPI1 instead of SPI0
|
||||
#define HW_SPI1_DEVICE
|
||||
#define RF95_SCK PIN_SPI0_SCK
|
||||
#define RF95_MOSI PIN_SPI0_MOSI
|
||||
#define RF95_MISO PIN_SPI0_MISO
|
||||
#define RF95_NSS PIN_SPI0_SS
|
||||
|
||||
#define LORA_DIO0 RADIOLIB_NC
|
||||
#define LORA_RESET 14
|
||||
#define LORA_DIO1 29
|
||||
#define LORA_DIO2 15
|
||||
#define LORA_DIO3 RADIOLIB_NC
|
||||
|
||||
#ifdef USE_SX1262
|
||||
#define SX126X_CS RF95_NSS
|
||||
#define SX126X_DIO1 LORA_DIO1
|
||||
#define SX126X_BUSY LORA_DIO2
|
||||
#define SX126X_RESET LORA_RESET
|
||||
#define SX126X_POWER_EN 25
|
||||
#define SX126X_E22 // DIO2 controlls an antenna switch and the TCXO voltage is controlled by DIO3
|
||||
#endif
|
||||
|
||||
#include <Adafruit_TinyUSB.h>
|
||||
@@ -8,11 +8,9 @@ upload_protocol = picotool
|
||||
build_flags = ${rp2040_base.build_flags}
|
||||
-DPRIVATE_HW
|
||||
-Ivariants/rpipico
|
||||
-DARDUINO_AVR_NANO_EVERY
|
||||
-DDEBUG_RP2040_WIRE
|
||||
-DDEBUG_RP2040_SPI
|
||||
-DDEBUG_RP2040_CORE
|
||||
-DDEBUG_RP2040_PORT=Serial
|
||||
-DUSE_TINYUSB
|
||||
-DHW_SPI1_DEVICE
|
||||
-L "${platformio.libdeps_dir}/${this.__env__}/BSEC2 Software Library/src/cortex-m0plus"
|
||||
lib_deps =
|
||||
${rp2040_base.lib_deps}
|
||||
@@ -4,8 +4,11 @@
|
||||
|
||||
#define ARDUINO_ARCH_AVR
|
||||
|
||||
#undef CBC
|
||||
#define CBC 0
|
||||
#undef CTR
|
||||
#define CTR 1
|
||||
#undef ECB
|
||||
#define ECB 0
|
||||
|
||||
#define NO_GPS 1
|
||||
@@ -18,11 +21,12 @@
|
||||
#define BUTTON_PIN 17
|
||||
#define EXT_NOTIFY_OUT 4
|
||||
|
||||
#define LED_PIN PIN_LED
|
||||
|
||||
#define BATTERY_PIN 26
|
||||
// ratio of voltage divider = 3.0 (R17=200k, R18=100k)
|
||||
#define ADC_MULTIPLIER 3.1 // 3.0 + a bit for being optimistic
|
||||
|
||||
#define USE_RF95
|
||||
#define USE_SX1262
|
||||
|
||||
#undef RF95_SCK
|
||||
|
||||
@@ -8,11 +8,9 @@ upload_protocol = picotool
|
||||
build_flags = ${rp2040_base.build_flags}
|
||||
-DPRIVATE_HW
|
||||
-Ivariants/rpipicow
|
||||
-DARDUINO_AVR_NANO_EVERY
|
||||
-DDEBUG_RP2040_WIRE
|
||||
-DDEBUG_RP2040_SPI
|
||||
-DDEBUG_RP2040_CORE
|
||||
-DDEBUG_RP2040_PORT=Serial
|
||||
-DUSE_TINYUSB
|
||||
-DHW_SPI1_DEVICE
|
||||
-L "${platformio.libdeps_dir}/${this.__env__}/BSEC2 Software Library/src/cortex-m0plus"
|
||||
lib_deps =
|
||||
${rp2040_base.lib_deps}
|
||||
@@ -4,8 +4,11 @@
|
||||
|
||||
#define ARDUINO_ARCH_AVR
|
||||
|
||||
#undef CBC
|
||||
#define CBC 0
|
||||
#undef CTR
|
||||
#define CTR 1
|
||||
#undef ECB
|
||||
#define ECB 0
|
||||
|
||||
#define NO_GPS 1
|
||||
@@ -22,7 +25,6 @@
|
||||
// ratio of voltage divider = 3.0 (R17=200k, R18=100k)
|
||||
#define ADC_MULTIPLIER 3.1 // 3.0 + a bit for being optimistic
|
||||
|
||||
#define USE_RF95
|
||||
#define USE_SX1262
|
||||
|
||||
#undef RF95_SCK
|
||||
|
||||
Reference in New Issue
Block a user