Merge branch 'meshtastic:develop' into develop
This commit is contained in:
@@ -12,4 +12,4 @@ build_flags =
|
||||
lib_deps =
|
||||
${esp32_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
|
||||
@@ -5,7 +5,9 @@ custom_esp32_kind =
|
||||
custom_mtjson_part =
|
||||
platform =
|
||||
# TODO renovate
|
||||
https://github.com/pioarduino/platform-espressif32/releases/download/55.03.39/platform-espressif32.zip
|
||||
; Using forked pioarduino to fix --force-reinstall CI issue
|
||||
https://github.com/meshtastic/pioarduino-platform-espressif32/archive/refs/heads/55.03.39.zip
|
||||
; https://github.com/pioarduino/platform-espressif32/releases/download/55.03.39/platform-espressif32.zip
|
||||
; https://github.com/pioarduino/platform-espressif32.git#develop
|
||||
platform_packages =
|
||||
# renovate: datasource=custom.pio depName=platformio/tool-mklittlefs packageName=platformio/tool/tool-mklittlefs
|
||||
@@ -70,7 +72,7 @@ lib_deps =
|
||||
https://github.com/mverch67/libpax/archive/6f52ee989301cdabaeef00bcbf93bff55708ce2f.zip
|
||||
# renovate: datasource=custom.pio depName=XPowersLib packageName=lewisxhe/library/XPowersLib
|
||||
lewisxhe/XPowersLib@0.3.3
|
||||
# renovate: datasource=git-refs depName=meshtastic/Crypto packageName=https://github.com/meshtastic/Crypto gitBranch=master
|
||||
# renovate: datasource=git-refs depName=meshtastic/Crypto packageName=https://github.com/meshtastic/Crypto gitBranch=main
|
||||
https://github.com/meshtastic/Crypto/archive/591ff9a690e8168ccb7a36abde8d7783e448d395.zip
|
||||
|
||||
lib_ignore =
|
||||
|
||||
@@ -19,7 +19,6 @@ build_flags =
|
||||
-DMESHTASTIC_EXCLUDE_ACCELEROMETER=1
|
||||
-DMESHTASTIC_EXCLUDE_PAXCOUNTER=1
|
||||
-DMESHTASTIC_EXCLUDE_WEBSERVER=1
|
||||
-DMESHTASTIC_EXCLUDE_RANGETEST=1
|
||||
; HACK HACK HACK this is just a proof of concept ESP32+NimBLE but these
|
||||
; includes need to be done properly somehow
|
||||
; Quotes keep Windows packages_dir backslashes intact through POSIX flag parsing
|
||||
@@ -56,5 +55,5 @@ lib_deps =
|
||||
https://github.com/mverch67/libpax/archive/6f52ee989301cdabaeef00bcbf93bff55708ce2f.zip
|
||||
# renovate: datasource=custom.pio depName=XPowersLib packageName=lewisxhe/library/XPowersLib
|
||||
lewisxhe/XPowersLib@0.3.3
|
||||
# renovate: datasource=git-refs depName=meshtastic/Crypto packageName=https://github.com/meshtastic/Crypto gitBranch=master
|
||||
# renovate: datasource=git-refs depName=meshtastic/Crypto packageName=https://github.com/meshtastic/Crypto gitBranch=main
|
||||
https://github.com/meshtastic/Crypto/archive/591ff9a690e8168ccb7a36abde8d7783e448d395.zip
|
||||
|
||||
@@ -35,4 +35,4 @@ lib_ignore =
|
||||
lib_deps =
|
||||
${esp32_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
|
||||
@@ -18,6 +18,5 @@ build_flags =
|
||||
-I variants/esp32/rak11200
|
||||
-DMESHTASTIC_EXCLUDE_WEBSERVER=1
|
||||
-DMESHTASTIC_EXCLUDE_PAXCOUNTER=1
|
||||
-DMESHTASTIC_EXCLUDE_RANGETEST=1
|
||||
-DMESHTASTIC_EXCLUDE_MQTT=1
|
||||
upload_speed = 115200
|
||||
|
||||
@@ -11,7 +11,7 @@ build_flags =
|
||||
lib_deps =
|
||||
${esp32_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
# renovate: datasource=custom.pio depName=SX1509 IO Expander packageName=sparkfun/library/SX1509 IO Expander
|
||||
sparkfun/SX1509 IO Expander@3.0.6
|
||||
# renovate: datasource=custom.pio depName=APA102 packageName=pololu/library/APA102
|
||||
|
||||
@@ -104,7 +104,7 @@ lib_deps =
|
||||
${networking_extra.lib_deps}
|
||||
${environmental_base.lib_deps}
|
||||
${radiolib_base.lib_deps}
|
||||
# renovate: datasource=git-refs depName=meshtastic/Crypto packageName=https://github.com/meshtastic/Crypto gitBranch=master
|
||||
# renovate: datasource=git-refs depName=meshtastic/Crypto packageName=https://github.com/meshtastic/Crypto gitBranch=main
|
||||
https://github.com/meshtastic/Crypto/archive/591ff9a690e8168ccb7a36abde8d7783e448d395.zip
|
||||
# renovate: datasource=git-refs depName=meshtastic-ESP32_Codec2 packageName=https://github.com/meshtastic/ESP32_Codec2 gitBranch=master
|
||||
https://github.com/meshtastic/ESP32_Codec2/archive/633326c78ac251c059ab3a8c430fcdf25b41672f.zip
|
||||
|
||||
@@ -51,7 +51,7 @@ lib_deps = ${esp32s3_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=TCA9534 packageName=hideakitai/library/TCA9534
|
||||
hideakitai/TCA9534@0.1.1
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
|
||||
[crowpanel_small_esp32s3_base] ; 2.4, 2.8, 3.5 inch
|
||||
extends = crowpanel_base
|
||||
|
||||
@@ -134,6 +134,6 @@ build_flags =
|
||||
lib_deps = ${heltec_v4_base.lib_deps}
|
||||
${device-ui_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
# renovate: datasource=git-refs depName=Quency-D_chsc6x packageName=https://github.com/Quency-D/chsc6x gitBranch=master
|
||||
https://github.com/Quency-D/chsc6x/archive/3b2b6cebf3177b3e2c33d06e07909b0b10159516.zip
|
||||
|
||||
@@ -140,6 +140,6 @@ build_flags =
|
||||
lib_deps = ${heltec_v4_r8_base.lib_deps}
|
||||
${device-ui_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
# renovate: datasource=git-refs depName=Quency-D_chsc6x packageName=https://github.com/Quency-D/chsc6x gitBranch=master
|
||||
https://github.com/Quency-D/chsc6x/archive/3b2b6cebf3177b3e2c33d06e07909b0b10159516.zip
|
||||
@@ -26,4 +26,4 @@ build_flags =
|
||||
lib_deps =
|
||||
${esp32s3_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
|
||||
@@ -22,4 +22,4 @@ build_flags =
|
||||
lib_deps =
|
||||
${esp32s3_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
|
||||
@@ -21,4 +21,4 @@ build_flags =
|
||||
lib_deps =
|
||||
${esp32s3_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
|
||||
@@ -55,7 +55,7 @@ lib_deps =
|
||||
${esp32s3_base.lib_deps}
|
||||
${device-ui_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
|
||||
[mesh_tab_xpt2046]
|
||||
extends = mesh_tab_base
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
// Meshnology W12 - shadows the generic esp32s3 pins, minus RGB_BUILTIN/LED_BUILTIN so
|
||||
// digitalWrite() does not pull in the RMT RGB HAL, which fails to link in this build.
|
||||
#ifndef Pins_Arduino_h
|
||||
#define Pins_Arduino_h
|
||||
|
||||
#include "soc/soc_caps.h"
|
||||
#include <stdint.h>
|
||||
|
||||
#define USB_VID 0x303a
|
||||
#define USB_PID 0x1001
|
||||
|
||||
static const uint8_t TX = 43;
|
||||
static const uint8_t RX = 44;
|
||||
|
||||
static const uint8_t SDA = 17;
|
||||
static const uint8_t SCL = 18;
|
||||
|
||||
// LR2021 SPI bus
|
||||
static const uint8_t SS = 8;
|
||||
static const uint8_t MOSI = 10;
|
||||
static const uint8_t MISO = 11;
|
||||
static const uint8_t SCK = 9;
|
||||
|
||||
static const uint8_t A0 = 1;
|
||||
static const uint8_t A1 = 2;
|
||||
static const uint8_t A2 = 3;
|
||||
static const uint8_t A3 = 4;
|
||||
static const uint8_t A4 = 5;
|
||||
static const uint8_t A5 = 6;
|
||||
static const uint8_t A6 = 7;
|
||||
static const uint8_t A7 = 8;
|
||||
static const uint8_t A8 = 9;
|
||||
static const uint8_t A9 = 10;
|
||||
static const uint8_t A10 = 11;
|
||||
static const uint8_t A11 = 12;
|
||||
static const uint8_t A12 = 13;
|
||||
static const uint8_t A13 = 14;
|
||||
static const uint8_t A14 = 15;
|
||||
static const uint8_t A15 = 16;
|
||||
static const uint8_t A16 = 17;
|
||||
static const uint8_t A17 = 18;
|
||||
static const uint8_t A18 = 19;
|
||||
static const uint8_t A19 = 20;
|
||||
|
||||
static const uint8_t T1 = 1;
|
||||
static const uint8_t T2 = 2;
|
||||
static const uint8_t T3 = 3;
|
||||
static const uint8_t T4 = 4;
|
||||
static const uint8_t T5 = 5;
|
||||
static const uint8_t T6 = 6;
|
||||
static const uint8_t T7 = 7;
|
||||
static const uint8_t T8 = 8;
|
||||
static const uint8_t T9 = 9;
|
||||
static const uint8_t T10 = 10;
|
||||
static const uint8_t T11 = 11;
|
||||
static const uint8_t T12 = 12;
|
||||
static const uint8_t T13 = 13;
|
||||
static const uint8_t T14 = 14;
|
||||
|
||||
#endif /* Pins_Arduino_h */
|
||||
@@ -0,0 +1,26 @@
|
||||
; Meshnology W12 "WiFi LoRa 32 V5" - ESP32-S3R8 + LR2021 dual-band LoRa + SSD1315 OLED
|
||||
; No MESHNOLOGY_W12 hardware model exists in the protobufs yet, so this reports PRIVATE_HW.
|
||||
[env:meshnology_w12]
|
||||
custom_meshtastic_hw_model = 255
|
||||
custom_meshtastic_hw_model_slug = MESHNOLOGY_W12
|
||||
custom_meshtastic_architecture = esp32-s3
|
||||
custom_meshtastic_actively_supported = true
|
||||
custom_meshtastic_support_level = 1
|
||||
custom_meshtastic_display_name = Meshnology W12
|
||||
custom_meshtastic_requires_dfu = true
|
||||
custom_meshtastic_partition_scheme = 16MB
|
||||
|
||||
extends = esp32s3_base
|
||||
board = esp32-s3-devkitc-1
|
||||
board_level = pr
|
||||
; ESP32-S3R8: 8 MB OPI PSRAM, 16 MB QIO flash
|
||||
board_build.partitions = default_16MB.csv
|
||||
board_upload.flash_size = 16MB
|
||||
board_build.flash_mode = qio
|
||||
board_build.psram_type = opi
|
||||
board_build.arduino.memory_type = qio_opi
|
||||
build_flags =
|
||||
${esp32s3_base.build_flags}
|
||||
-D MESHNOLOGY_W12
|
||||
-D ARDUINO_USB_CDC_ON_BOOT=1
|
||||
-I variants/esp32s3/meshnology-w12
|
||||
@@ -0,0 +1,45 @@
|
||||
#pragma once
|
||||
|
||||
// Meshnology W12 "WiFi LoRa 32 V5" - ESP32-S3R8 (8 MB PSRAM) + 16 MB flash + Semtech LR2021
|
||||
// dual-band LoRa (sub-GHz + 2.4 GHz) + SSD1315 0.96" OLED. Heltec V3-style pinout.
|
||||
|
||||
// ─── OLED ─────────────────────────────────────────────────────────────────────
|
||||
// SSD1315 (SSD1306-compatible) 128x64 at 0x3C
|
||||
#define USE_SSD1306
|
||||
#define I2C_SDA 17
|
||||
#define I2C_SCL 18
|
||||
|
||||
// Powers the OLED/peripheral rail; active LOW
|
||||
#define VEXT_ENABLE 45
|
||||
|
||||
// ─── User input ───────────────────────────────────────────────────────────────
|
||||
#define BUTTON_PIN 0 // BOOT doubles as user button
|
||||
|
||||
// ─── Battery ──────────────────────────────────────────────────────────────────
|
||||
// GPIO2 monitors a second (solar/VUSB) divider and is not used here
|
||||
#define BATTERY_PIN 1
|
||||
#define ADC_CHANNEL ADC_CHANNEL_0 // GPIO1 = ADC1_CH0
|
||||
#define ADC_MULTIPLIER 2.0
|
||||
|
||||
// ─── LoRa radio ───────────────────────────────────────────────────────────────
|
||||
// RF switching is hardwired to the radio's CTX/CPS pins, and the external PA enables
|
||||
// (IO3 sub-GHz, IO4 2.4GHz) are pulled high, so no RF-switch DIO table is needed.
|
||||
#define USE_LR2021
|
||||
#define LORA_SCK 9
|
||||
#define LORA_MISO 11
|
||||
#define LORA_MOSI 10
|
||||
#define LORA_CS 8
|
||||
#define LORA_DIO1 14 // radio DIO8; also the LoRa sleep-wake pin
|
||||
|
||||
#define LR2021_SPI_NSS_PIN LORA_CS
|
||||
#define LR2021_IRQ_PIN LORA_DIO1
|
||||
#define LR2021_NRESET_PIN 12
|
||||
#define LR2021_BUSY_PIN 13
|
||||
// Must be 8, not RadioLib's default of 5: DIO5 is not bonded out here, so the default
|
||||
// points every interrupt at a floating pin and scanChannel() never returns.
|
||||
#define LR2021_IRQ_DIO_NUM 8
|
||||
// DIO7 -> IO7 is a second, unused IRQ line. Plain crystal on XTA/XTB, so no TCXO voltage.
|
||||
|
||||
// ─── Not wired up yet ─────────────────────────────────────────────────────────
|
||||
// RGB LED on GPIO46 stays off: HAS_NEOPIXEL pulls in the RMT HAL, which fails to link here.
|
||||
// L76K GNSS header (RX=39, TX=38, CTRL=48 active low, WAKE=40, PPS=41, RST=42) is unpopulated.
|
||||
@@ -25,7 +25,7 @@ build_flags =
|
||||
lib_deps =
|
||||
${esp32s3_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
|
||||
build_src_filter =
|
||||
${esp32s3_base.build_src_filter}
|
||||
|
||||
@@ -37,7 +37,7 @@ build_flags =
|
||||
lib_deps =
|
||||
${esp32s3_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
|
||||
[env:rak_wismesh_tap_v2-tft]
|
||||
extends = env:rak_wismesh_tap_v2
|
||||
|
||||
@@ -29,7 +29,7 @@ build_flags = ${esp32s3_base.build_flags}
|
||||
|
||||
lib_deps = ${esp32s3_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
# renovate: datasource=git-refs depName=ESP8266Audio packageName=https://github.com/meshtastic/ESP8266Audio gitBranch=meshtastic-2.0.0-dacfix
|
||||
https://github.com/meshtastic/ESP8266Audio/archive/343024632ee78d6216907b2353fc943a62422d80.zip
|
||||
# renovate: datasource=custom.pio depName=ESP8266SAM packageName=earlephilhower/library/ESP8266SAM
|
||||
|
||||
@@ -22,7 +22,7 @@ build_flags = ${esp32s3_base.build_flags}
|
||||
|
||||
lib_deps = ${esp32s3_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
# renovate: datasource=custom.pio depName=SensorLib packageName=lewisxhe/library/SensorLib
|
||||
lewisxhe/SensorLib@0.3.4
|
||||
# renovate: datasource=custom.pio depName=Adafruit DRV2605 packageName=adafruit/library/Adafruit DRV2605 Library
|
||||
|
||||
@@ -28,6 +28,14 @@ lib_deps =
|
||||
https://github.com/mverch67/BQ27220/archive/07d92be846abd8a0258a50c23198dac0858b22ed.zip
|
||||
https://github.com/mverch67/FastEPD/archive/0df1bff329b6fc782e062f611758880762340647.zip
|
||||
|
||||
; This board's 3.3V octal (AP_3v3) 8MB PSRAM is unreliable at the qio_opi default 80MHz
|
||||
; (Total PSRAM reads 0); 40MHz makes it enumerate. Forces a from-source build as no
|
||||
; precompiled 40MHz-octal libs exist; bandwidth is immaterial for an e-paper node.
|
||||
custom_sdkconfig =
|
||||
${esp32s3_base.custom_sdkconfig}
|
||||
CONFIG_SPIRAM_SPEED_40M=y
|
||||
CONFIG_SPIRAM_SPEED=40
|
||||
|
||||
[env:t5s3_epaper_inkhud]
|
||||
extends = t5s3_epaper_base, inkhud
|
||||
board_level = extra
|
||||
|
||||
@@ -33,7 +33,7 @@ build_flags = ${esp32s3_base.build_flags}
|
||||
|
||||
lib_deps = ${esp32s3_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
# renovate: datasource=git-refs depName=ESP8266Audio packageName=https://github.com/meshtastic/ESP8266Audio gitBranch=meshtastic-2.0.0-dacfix
|
||||
https://github.com/meshtastic/ESP8266Audio/archive/343024632ee78d6216907b2353fc943a62422d80.zip
|
||||
# renovate: datasource=custom.pio depName=ESP8266SAM packageName=earlephilhower/library/ESP8266SAM
|
||||
|
||||
@@ -22,7 +22,7 @@ build_flags =
|
||||
lib_deps =
|
||||
${esp32s3_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
|
||||
[env:tracksenger-lcd]
|
||||
custom_meshtastic_hw_model = 48
|
||||
@@ -48,7 +48,7 @@ build_flags =
|
||||
lib_deps =
|
||||
${esp32s3_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
|
||||
[env:tracksenger-oled]
|
||||
custom_meshtastic_hw_model = 48
|
||||
|
||||
@@ -36,7 +36,7 @@ build_src_filter =
|
||||
|
||||
lib_deps = ${esp32s3_base.lib_deps}
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
# TODO renovate https://gitlab.com/hamishcunningham/unphonelibrary#meshtastic@9.0.0
|
||||
https://gitlab.com/hamishcunningham/unphonelibrary/-/archive/meshtastic/unphonelibrary-meshtastic.zip
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
[portduino_base]
|
||||
platform =
|
||||
# renovate: datasource=git-refs depName=platform-native packageName=https://github.com/meshtastic/platform-native gitBranch=develop
|
||||
https://github.com/meshtastic/platform-native/archive/61067ac3774e4fe27aa9762c72cebea507f116c8.zip
|
||||
https://github.com/meshtastic/platform-native/archive/86c62edfb7084d11669aa255411a70580e83823b.zip
|
||||
framework = arduino
|
||||
|
||||
build_src_filter =
|
||||
@@ -23,12 +23,12 @@ lib_deps =
|
||||
${networking_extra.lib_deps}
|
||||
${radiolib_base.lib_deps}
|
||||
${environmental_base.lib_deps}
|
||||
# renovate: datasource=git-refs depName=meshtastic/Crypto packageName=https://github.com/meshtastic/Crypto gitBranch=master
|
||||
# renovate: datasource=git-refs depName=meshtastic/Crypto packageName=https://github.com/meshtastic/Crypto gitBranch=main
|
||||
https://github.com/meshtastic/Crypto/archive/591ff9a690e8168ccb7a36abde8d7783e448d395.zip
|
||||
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
||||
lovyan03/LovyanGFX@1.2.25
|
||||
; # renovate: datasource=git-refs depName=libch341-spi-userspace packageName=https://github.com/pine64/libch341-spi-userspace gitBranch=main
|
||||
https://github.com/pine64/libch341-spi-userspace/archive/2e5ff751d0c39667993df672cb683740ed5c9394.zip
|
||||
lovyan03/LovyanGFX@1.2.26
|
||||
; # renovate: datasource=git-refs depName=libch341-spi-userspace packageName=https://github.com/meshtastic/libch341-spi-userspace gitBranch=main
|
||||
https://github.com/meshtastic/libch341-spi-userspace/archive/03bf505d6e5904092c1c389c45b01098f7a302fe.zip
|
||||
# renovate: datasource=custom.pio depName=adafruit/Adafruit seesaw Library packageName=adafruit/library/Adafruit seesaw Library
|
||||
adafruit/Adafruit seesaw Library@1.7.9
|
||||
# renovate: datasource=git-refs depName=RAK12034-BMX160 packageName=https://github.com/RAKWireless/RAK12034-BMX160 gitBranch=main
|
||||
@@ -56,7 +56,6 @@ build_flags_common =
|
||||
-luv
|
||||
-std=gnu17
|
||||
-std=gnu++17
|
||||
-DBASEUI_HAS_GAMES=1
|
||||
-DMAX_TFT_COLOR_REGIONS=64
|
||||
|
||||
build_flags =
|
||||
|
||||
@@ -251,6 +251,83 @@ build_flags = ${env:native-macos.build_flags}
|
||||
build_src_filter = ${env:native-macos.build_src_filter}
|
||||
lib_ignore = ${env:native-macos.lib_ignore}
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Native build for Windows (x86_64) via the MSYS2 UCRT64 MinGW-w64 toolchain.
|
||||
; Headless meshtasticd.exe running in SimRadio mode (`-s`). No BlueZ, libgpiod or
|
||||
; Linux I2C, and no UDP multicast: the framework's AsyncUDP.cpp is BSD sockets,
|
||||
; so HAS_UDP_MULTICAST stays unset here as it does on macOS.
|
||||
;
|
||||
; MSVC is not an option: platform-native's builder calls env.Tool("gcc") and the
|
||||
; firmware builds as gnu17/gnu++17 with GNU extensions throughout.
|
||||
;
|
||||
; Prerequisites (MSYS2, https://www.msys2.org/):
|
||||
; pacman -S --needed mingw-w64-ucrt-x86_64-{gcc,pkgconf,yaml-cpp,libuv,jsoncpp,openssl,libusb}
|
||||
;
|
||||
; argp is not packaged for MSYS2's mingw environments (msys/libargp links the
|
||||
; msys-2.0.dll emulation layer and can't be used for a native binary), yet
|
||||
; Arduino.h includes <argp.h> and main.cpp calls argp_parse(). Build it once from
|
||||
; source, the same dependency macOS meets with `brew install argp-standalone`:
|
||||
; git clone https://github.com/tom42/argp-standalone
|
||||
; cd argp-standalone && cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release .
|
||||
; cmake --build build
|
||||
; cp include/argp-standalone/argp.h /ucrt64/include/argp.h ; ships no install() rules
|
||||
; cp build/src/libargp-standalone.a /ucrt64/lib/libargp.a
|
||||
;
|
||||
; Build from any shell with /ucrt64/bin on PATH:
|
||||
; pio run -e native-windows
|
||||
; .pio/build/native-windows/meshtasticd.exe -s
|
||||
; ---------------------------------------------------------------------------
|
||||
[env:native-windows]
|
||||
extends = native_base
|
||||
build_flags = ${portduino_base.build_flags_common}
|
||||
-I variants/native/portduino
|
||||
; Our drop-in libpinedio-usb.h, replacing the libusb one: libusb can only reach
|
||||
; a device bound to WinUSB, which means Zadig on every machine. See
|
||||
; src/platform/portduino/windows/libpinedio_ch341dll.c.
|
||||
-I src/platform/portduino/windows/include
|
||||
-largp
|
||||
-lws2_32 ; GpsdSerial.cpp's TCP client
|
||||
-lbcrypt ; BCryptGenRandom() in HardwareRNG.cpp
|
||||
-liphlpapi ; GetAdaptersAddresses() host-MAC fallback in PortduinoGlue.cpp
|
||||
; libch341's libpinedio-usb.h pulls in libusb.h and so <windows.h>, which
|
||||
; collides with the Arduino API: winuser.h's `typedef struct tagINPUT INPUT` vs
|
||||
; the PinMode enumerator, and rpcndr.h's `typedef unsigned char boolean` vs
|
||||
; Arduino's `typedef bool boolean`. NOUSER and WIN32_LEAN_AND_MEAN keep those
|
||||
; headers out, NOMINMAX stops min/max being macroed over std::min/std::max.
|
||||
-DWIN32_LEAN_AND_MEAN
|
||||
-DNOMINMAX
|
||||
-DNOUSER
|
||||
-DNOGDI
|
||||
; yaml-cpp declares its API __declspec(dllimport) unless told the link is
|
||||
; static, leaving every YAML symbol undefined as __imp_*.
|
||||
-DYAML_CPP_STATIC_DEFINE
|
||||
; Headless: variant.h would otherwise default HAS_SCREEN to 1 and pull in the
|
||||
; screen renderer; EXCLUDE_SCREEN gates the `screen->...` hooks in the sensors.
|
||||
-DHAS_SCREEN=0
|
||||
-DMESHTASTIC_EXCLUDE_SCREEN=1
|
||||
!pkg-config --cflags --libs openssl --silence-errors || :
|
||||
build_unflags =
|
||||
-fPIC ; ignored on Windows, where all code is position-independent
|
||||
; Static link, so meshtasticd.exe stands alone and can't be hijacked by a stray
|
||||
; System32 DLL. PlatformIO only feeds build_flags to the compile step, hence the script.
|
||||
extra_scripts =
|
||||
${env.extra_scripts}
|
||||
post:extra_scripts/windows_link_flags.py
|
||||
; LinuxInput drives evdev; Panel_sdl/TFTDisplay pull LovyanGFX. Neither is needed
|
||||
; for the headless build.
|
||||
build_src_filter = ${native_base.build_src_filter}
|
||||
-<input/LinuxInput.cpp>
|
||||
-<input/LinuxInputImpl.cpp>
|
||||
-<graphics/Panel_sdl.cpp>
|
||||
-<graphics/TFTDisplay.cpp>
|
||||
; LovyanGFX includes <malloc.h> and is only needed by the TFT variants. The pine64
|
||||
; libch341 is the libusb backend that libpinedio_ch341dll.c replaces; keeping both
|
||||
; would duplicate every pinedio_* symbol.
|
||||
lib_ignore =
|
||||
${portduino_base.lib_ignore}
|
||||
LovyanGFX
|
||||
Pine libch341-spi Userspace library
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; WASM (Emscripten) - the portduino node compiled to WebAssembly, driving a real
|
||||
; LoRa radio over WebUSB through a CH341 (src/platform/portduino/wasm/). The same
|
||||
@@ -324,7 +401,7 @@ lib_ldf_mode = chain+
|
||||
lib_deps =
|
||||
${env.lib_deps}
|
||||
${radiolib_base.lib_deps}
|
||||
# renovate: datasource=git-refs depName=meshtastic/Crypto packageName=https://github.com/meshtastic/Crypto gitBranch=master
|
||||
# renovate: datasource=git-refs depName=meshtastic/Crypto packageName=https://github.com/meshtastic/Crypto gitBranch=main
|
||||
https://github.com/meshtastic/Crypto/archive/591ff9a690e8168ccb7a36abde8d7783e448d395.zip
|
||||
# renovate: datasource=custom.pio depName=Melopero RV3028 packageName=melopero/library/Melopero RV3028
|
||||
melopero/Melopero RV3028@1.2.0
|
||||
|
||||
@@ -11,7 +11,7 @@ lib_deps =
|
||||
${nrf52840_base.lib_deps}
|
||||
${networking_base.lib_deps}
|
||||
# renovate: datasource=github-tags depName=RAK13800-W5100S packageName=RAKWireless/RAK13800-W5100S
|
||||
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.2.zip
|
||||
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.3.zip
|
||||
debug_tool = jlink
|
||||
; If not set we will default to uploading over serial (first it forces bootloader entry by talking 1200bps to cdcacm)
|
||||
;upload_protocol = jlink
|
||||
|
||||
@@ -6,7 +6,7 @@ platform =
|
||||
extends = arduino_base
|
||||
platform_packages =
|
||||
; our custom Git version with C++17 support in platform.txt
|
||||
# renovate: datasource=git-refs depName=meshtastic/Adafruit_nRF52_Arduino packageName=meshtastic/Adafruit_nRF52_Arduino gitBranch=master
|
||||
# renovate: datasource=git-refs depName=meshtastic/Adafruit_nRF52_Arduino packageName=https://github.com/meshtastic/Adafruit_nRF52_Arduino gitBranch=master
|
||||
platformio/framework-arduinoadafruitnrf52 @ https://github.com/meshtastic/Adafruit_nRF52_Arduino#0fd295f13203e93df19d578073646ec32f2bf45a
|
||||
; Don't renovate toolchain-gccarmnoneeabi
|
||||
platformio/toolchain-gccarmnoneeabi@~1.90301.0
|
||||
@@ -30,6 +30,13 @@ build_flags =
|
||||
; 2048 words = 8 KB, validated on hardware. Value is in WORDS; requires the #ifndef guard
|
||||
; from meshtastic/Adafruit_nRF52_Arduino#7 (harmless redefinition warning until it merges).
|
||||
-DLOOP_STACK_SZ=2048
|
||||
; The Bluefruit BLE task runs the ENTIRE phone-API chain inline (toRadioWriteCb ->
|
||||
; handleToRadio -> admin set-config -> radio reconfigure -> LittleFS save): its stock
|
||||
; 5 KB (1280-word) stack overflows during pairing/first-sync, resetting mid-flash-write
|
||||
; and tearing LittleFS (auto-format -> total config/key wipe, critical fault #13).
|
||||
; Reproduced on Wio Tracker L1 @ develop 6908d27. Same rationale as LOOP_STACK_SZ above;
|
||||
; bluefruit.cpp's #ifndef guard makes the -D take effect without a framework patch.
|
||||
-DCFG_BLE_TASK_STACKSIZE=2048
|
||||
-DLFS_NO_ASSERT ; Disable LFS assertions , see https://github.com/meshtastic/firmware/pull/3818
|
||||
-DMESHTASTIC_EXCLUDE_AUDIO=1
|
||||
-DMESHTASTIC_EXCLUDE_PAXCOUNTER=1
|
||||
@@ -58,7 +65,7 @@ build_src_filter =
|
||||
lib_deps=
|
||||
${arduino_base.lib_deps}
|
||||
${radiolib_base.lib_deps}
|
||||
# renovate: datasource=github-tags depName=meshtastic/Crypto packageName=meshtastic/Crypto
|
||||
# renovate: datasource=git-refs depName=meshtastic/Crypto packageName=https://github.com/meshtastic/Crypto gitBranch=main
|
||||
https://github.com/meshtastic/Crypto/archive/591ff9a690e8168ccb7a36abde8d7783e448d395.zip
|
||||
|
||||
lib_ignore =
|
||||
|
||||
@@ -24,7 +24,7 @@ lib_deps =
|
||||
${nrf52840_base.lib_deps}
|
||||
${networking_base.lib_deps}
|
||||
# renovate: datasource=github-tags depName=RAK13800-W5100S packageName=RAKWireless/RAK13800-W5100S
|
||||
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.2.zip
|
||||
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.3.zip
|
||||
# renovate: datasource=custom.pio depName=RAK NCP5623 RGB LED packageName=rakwireless/library/RAKwireless NCP5623 RGB LED library
|
||||
rakwireless/RAKwireless NCP5623 RGB LED library@1.0.3
|
||||
# renovate: datasource=custom.pio depName=ArtronShop_RX8130CE packageName=artronshop/library/ArtronShop_RX8130CE
|
||||
|
||||
@@ -36,7 +36,7 @@ lib_deps =
|
||||
# renovate: datasource=custom.pio depName=Melopero RV3028 packageName=melopero/library/Melopero RV3028
|
||||
melopero/Melopero RV3028@1.2.0
|
||||
# renovate: datasource=github-tags depName=RAK13800-W5100S packageName=RAKWireless/RAK13800-W5100S
|
||||
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.2.zip
|
||||
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.3.zip
|
||||
# renovate: datasource=custom.pio depName=RAK NCP5623 RGB LED packageName=rakwireless/library/RAKwireless NCP5623 RGB LED library
|
||||
rakwireless/RAKwireless NCP5623 RGB LED library@1.0.3
|
||||
# renovate: datasource=custom.pio depName=RAK12035_SoilMoisture packageName=beegee-tokyo/library/RAK12035_SoilMoisture
|
||||
|
||||
@@ -28,7 +28,7 @@ lib_deps =
|
||||
# renovate: datasource=custom.pio depName=Melopero RV3028 packageName=melopero/library/Melopero RV3028
|
||||
melopero/Melopero RV3028@1.2.0
|
||||
# renovate: datasource=github-tags depName=RAK13800-W5100S packageName=RAKWireless/RAK13800-W5100S
|
||||
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.2.zip
|
||||
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.3.zip
|
||||
# renovate: datasource=custom.pio depName=RAK NCP5623 RGB LED packageName=rakwireless/library/RAKwireless NCP5623 RGB LED library
|
||||
rakwireless/RAKwireless NCP5623 RGB LED library@1.0.3
|
||||
# renovate: datasource=git-refs depName=RAK12034-BMX160 packageName=https://github.com/RAKWireless/RAK12034-BMX160 gitBranch=main
|
||||
|
||||
@@ -31,7 +31,7 @@ lib_deps =
|
||||
# renovate: datasource=custom.pio depName=Melopero RV3028 packageName=melopero/library/Melopero RV3028
|
||||
melopero/Melopero RV3028@1.2.0
|
||||
# renovate: datasource=github-tags depName=RAK13800-W5100S packageName=RAKWireless/RAK13800-W5100S
|
||||
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.2.zip
|
||||
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.3.zip
|
||||
# renovate: datasource=custom.pio depName=RAK NCP5623 RGB LED packageName=rakwireless/library/RAKwireless NCP5623 RGB LED library
|
||||
rakwireless/RAKwireless NCP5623 RGB LED library@1.0.3
|
||||
# renovate: datasource=custom.pio depName=TFT_eSPI packageName=bodmer/library/TFT_eSPI
|
||||
|
||||
@@ -49,7 +49,7 @@ lib_compat_mode = off
|
||||
lib_deps =
|
||||
${arduino_base.lib_deps}
|
||||
${radiolib_base.lib_deps}
|
||||
# renovate: datasource=git-refs depName=meshtastic/Crypto packageName=https://github.com/meshtastic/Crypto gitBranch=master
|
||||
# renovate: datasource=git-refs depName=meshtastic/Crypto packageName=https://github.com/meshtastic/Crypto gitBranch=main
|
||||
https://github.com/meshtastic/Crypto/archive/591ff9a690e8168ccb7a36abde8d7783e448d395.zip
|
||||
; Cherry-picked sensor libs from environmental_base. The full
|
||||
; environmental_base pulls Adafruit_SSD1306 / GFX which need Arduino
|
||||
|
||||
@@ -28,6 +28,6 @@ lib_deps =
|
||||
# renovate: datasource=custom.pio depName=Melopero RV3028 packageName=melopero/library/Melopero RV3028
|
||||
melopero/Melopero RV3028@1.2.0
|
||||
# renovate: datasource=github-tags depName=RAK13800-W5100S packageName=RAKWireless/RAK13800-W5100S
|
||||
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.2.zip
|
||||
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.3.zip
|
||||
debug_build_flags = ${rp2040_base.build_flags}, -g
|
||||
debug_tool = cmsis-dap ; for e.g. Picotool
|
||||
|
||||
@@ -16,5 +16,8 @@ build_flags =
|
||||
-DMESHTASTIC_EXCLUDE_AIR_QUALITY_SENSOR=1
|
||||
-DMESHTASTIC_EXCLUDE_I2C=1
|
||||
-DMESHTASTIC_EXCLUDE_GPS=1
|
||||
build_unflags =
|
||||
${arduino_base.build_unflags}
|
||||
-DMESHTASTIC_EXCLUDE_XEDDSA=1
|
||||
|
||||
upload_port = stlink
|
||||
upload_port = stlink
|
||||
|
||||
@@ -15,6 +15,9 @@ build_flags =
|
||||
-DMESHTASTIC_EXCLUDE_AIR_QUALITY_SENSOR=1
|
||||
-DMESHTASTIC_EXCLUDE_I2C=1
|
||||
-DMESHTASTIC_EXCLUDE_GPS=1
|
||||
build_unflags =
|
||||
${arduino_base.build_unflags}
|
||||
-DMESHTASTIC_EXCLUDE_XEDDSA=1
|
||||
|
||||
lib_deps =
|
||||
${stm32_base.lib_deps}
|
||||
|
||||
@@ -25,9 +25,8 @@ build_flags =
|
||||
-DMESHTASTIC_EXCLUDE_BLUETOOTH=1
|
||||
-DMESHTASTIC_EXCLUDE_WIFI=1
|
||||
-DMESHTASTIC_EXCLUDE_TZ=1 ; Exclude TZ to save some flash space.
|
||||
-DMESHTASTIC_EXCLUDE_XEDDSA=1 ; The Ed25519 signing code does not fit in the 256KB flash. Packets are sent unsigned, like pre-XEdDSA firmware.
|
||||
-DMESHTASTIC_EXCLUDE_XEDDSA=1 ; Individual STM32WL variants opt in after size validation.
|
||||
-DMESHTASTIC_EXCLUDE_PKT_HISTORY_HASH=1
|
||||
-DMESHTASTIC_EXCLUDE_RANGETEST=1
|
||||
-DMESHTASTIC_EXCLUDE_WAYPOINT=1
|
||||
-DMESHTASTIC_EXCLUDE_POWER_TELEMETRY=1
|
||||
-DSERIAL_RX_BUFFER_SIZE=256 ; For GPS - the default of 64 is too small.
|
||||
@@ -65,4 +64,4 @@ lib_ignore =
|
||||
OneButton
|
||||
|
||||
; Set a custom linker script with a higher MinStackSize value, to match NRF52.
|
||||
board_build.ldscript = $PROJECT_DIR/variants/stm32/stm32wle5xx.ld
|
||||
board_build.ldscript = $PROJECT_DIR/variants/stm32/stm32wle5xx.ld
|
||||
|
||||
Reference in New Issue
Block a user