Merge branch 'master' into nomad-gemini

This commit is contained in:
Thomas Göttgens
2024-12-29 22:50:31 +01:00
committed by GitHub
224 changed files with 16932 additions and 1755 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,17 @@
#include "RadioLib.h"
// RF Switch Matrix SubG RFO_HP_LF / RFO_LP_LF / RFI_[NP]_LF0
// DIO5 -> RFSW0_V1
// DIO6 -> RFSW1_V2
// DIO7 -> ANT_CTRL_ON + ESP_IO9/LR_GPS_ANT_DC_EN -> RFI_GPS (Bias-T GPS) (LR11x0 only)
static const uint32_t rfswitch_dio_pins[] = {RADIOLIB_LR11X0_DIO5, RADIOLIB_LR11X0_DIO6, RADIOLIB_LR11X0_DIO7, RADIOLIB_NC,
RADIOLIB_NC};
static const Module::RfSwitchMode_t rfswitch_table[] = {
// mode DIO5 DIO6 DIO7
{LR11x0::MODE_STBY, {LOW, LOW, LOW}}, {LR11x0::MODE_RX, {HIGH, LOW, LOW}},
{LR11x0::MODE_TX, {LOW, HIGH, LOW}}, {LR11x0::MODE_TX_HP, {LOW, HIGH, LOW}},
{LR11x0::MODE_TX_HF, {LOW, LOW, LOW}}, {LR11x0::MODE_GNSS, {LOW, LOW, HIGH}},
{LR11x0::MODE_WIFI, {LOW, LOW, LOW}}, END_OF_MODE_TABLE,
};

View File

@@ -122,12 +122,13 @@ NRF52 PRO MICRO PIN ASSIGNMENT
#define USE_SX1262
#define USE_RF95
#define USE_SX1268
#define USE_LR1121
// RF95 CONFIG
#define LORA_DIO0 (0 + 29) // P0.10 IRQ
#define LORA_DIO0 (0 + 29) // P0.29 BUSY
#define LORA_DIO1 (0 + 10) // P0.10 IRQ
#define LORA_RESET (0 + 9) // P0.09
#define LORA_RESET (0 + 9) // P0.09 NRST
// RX/TX for RFM95/SX127x
#define RF95_RXEN (0 + 17) // P0.17
@@ -143,6 +144,19 @@ NRF52 PRO MICRO PIN ASSIGNMENT
#define SX126X_RXEN (0 + 17) // P0.17
#define SX126X_TXEN RADIOLIB_NC // Assuming that DIO2 is connected to TXEN pin. If not, TXEN must be connected.
// LR1121
#ifdef USE_LR1121
#define LR1121_IRQ_PIN (0 + 10) // P0.10 IRQ
#define LR1121_NRESET_PIN LORA_RESET // P0.09 NRST
#define LR1121_BUSY_PIN (0 + 29) // P0.29 BUSY
#define LR1121_SPI_NSS_PIN LORA_CS // P1.13
#define LR1121_SPI_SCK_PIN LORA_SCK
#define LR1121_SPI_MOSI_PIN LORA_MOSI
#define LR1121_SPI_MISO_PIN LORA_MISO
#define LR11X0_DIO3_TCXO_VOLTAGE 1.8
#define LR11X0_DIO_AS_RF_SWITCH
#endif
// #define SX126X_MAX_POWER 8 set this if using a high-power board!
/*
@@ -164,6 +178,7 @@ settings.
| Seeed | Wio-SX1262 | yes | Int | Sooooo cute! |
| AI-Thinker | RA-02 | No | Int | SX1278 **433mhz band only** |
| RF Solutions | RFM95 | No | Int | Untested |
| Ebyte | E80-900M2213S | Yes | Int | LR1121 radio |
*/
@@ -179,4 +194,4 @@ extern float tcxoVoltage; // make this available everywhere
* Arduino objects - C++ only
*----------------------------------------------------------------------------*/
#endif
#endif

View File

@@ -2,7 +2,6 @@
[env:meshtastic-diy-v1]
extends = esp32_base
board = esp32doit-devkit-v1
board_level = extra
board_check = true
build_flags =
${esp32_base.build_flags}
@@ -62,7 +61,6 @@ debug_tool = jlink
[env:nrf52_promicro_diy_tcxo]
extends = nrf52840_base
board = promicro-nrf52840
board_level = extra
build_flags = ${nrf52840_base.build_flags}
-I variants/diy/nrf52_promicro_diy_tcxo
-D NRF52_PROMICRO_DIY
@@ -89,73 +87,3 @@ build_flags =
-D ARDUINO_USB_MODE=0
-D ARDUINO_USB_CDC_ON_BOOT=1
-I variants/diy/t-energy-s3_e22
; esp32-s3 + ra-sh01 lora + 3.2" ILI9143
[env:mesh-tab]
extends = esp32s3_base
board = um_feathers3
board_level = extra
board_upload.flash_size = 16MB
board_build.partitions = default_16MB.csv
upload_protocol = esptool
build_flags = ${esp32s3_base.build_flags}
-D MESH_TAB
-D PRIVATE_HW
-D CONFIG_ARDUHAL_ESP_LOG
-D CONFIG_ARDUHAL_LOG_COLORS=1
-D CONFIG_DISABLE_HAL_LOCKS=1 ; "feels" to be a bit more stable without locks
-D MESHTASTIC_EXCLUDE_CANNEDMESSAGES=1
-D MESHTASTIC_EXCLUDE_INPUTBROKER=1
-D MESHTASTIC_EXCLUDE_BLUETOOTH=1
-D MESHTASTIC_EXCLUDE_WEBSERVER=1
-D LV_LVGL_H_INCLUDE_SIMPLE
-D LV_CONF_INCLUDE_SIMPLE
-D LV_COMP_CONF_INCLUDE_SIMPLE
-D LV_USE_SYSMON=0
-D LV_USE_PROFILER=0
-D LV_USE_PERF_MONITOR=0
-D LV_USE_MEM_MONITOR=0
-D LV_USE_LOG=0
-D LV_BUILD_TEST=0
-D USE_LOG_DEBUG
-D LOG_DEBUG_INC=\"DebugConfiguration.h\"
-D RADIOLIB_SPI_PARANOID=0
-D MAX_NUM_NODES=250
-D MAX_THREADS=40
-D HAS_SCREEN=0
-D HAS_TFT=1
-D RAM_SIZE=1024
-D LGFX_DRIVER_TEMPLATE
-D LGFX_DRIVER=LGFX_GENERIC
-D LGFX_PANEL=ILI9341
-D LGFX_OFFSET_ROTATION=1
-D LGFX_TOUCH=XPT2046
-D LGFX_PIN_SCK=12
-D LGFX_PIN_MOSI=13
-D LGFX_PIN_MISO=11
-D LGFX_PIN_DC=16
-D LGFX_PIN_CS=10
-D LGFX_PIN_RST=-1
-D LGFX_PIN_BL=42
-D LGFX_TOUCH_INT=41
-D LGFX_TOUCH_CS=7
-D LGFX_TOUCH_CLK=12
-D LGFX_TOUCH_DO=11
-D LGFX_TOUCH_DIN=13
-D LGFX_TOUCH_X_MIN=300
-D LGFX_TOUCH_X_MAX=3900
-D LGFX_TOUCH_Y_MIN=400
-D LGFX_TOUCH_Y_MAX=3900
-D VIEW_320x240
-D USE_PACKET_API
-I lib/device-ui/generated/ui_320x240
-I variants/diy/mesh-tab
build_src_filter = ${esp32_base.build_src_filter}
+<../lib/device-ui/generated/ui_320x240>
+<../lib/device-ui/resources>
+<../lib/device-ui/locale>
+<../lib/device-ui/source>
lib_deps = ${esp32_base.lib_deps}
lovyan03/LovyanGFX@^1.1.16
earlephilhower/ESP8266Audio@^1.9.7
earlephilhower/ESP8266SAM@^1.0.1

View File

@@ -7,5 +7,4 @@ build_flags =
${esp32s3_base.build_flags} -I variants/heltec_capsule_sensor_v3
-D HELTEC_CAPSULE_SENSOR_V3
-D GPS_POWER_TOGGLE ; comment this line to disable triple press function on the user button to turn off gps entirely.
;-D DEBUG_DISABLED ; uncomment this line to disable DEBUG output
;-D DEBUG_DISABLED ; uncomment this line to disable DEBUG output

View File

@@ -1,5 +1,6 @@
[env:heltec-wireless-paper-v1_0]
extends = esp32s3_base
board_level = extra
board = heltec_wifi_lora_32_V3
build_flags =
${esp32s3_base.build_flags}

View File

@@ -1,14 +1,13 @@
[env:heltec-wireless-tracker-V1-0]
extends = esp32s3_base
board_level = extra
board = heltec_wireless_tracker
upload_protocol = esptool
build_flags =
${esp32s3_base.build_flags} -I variants/heltec_wireless_tracker_V1_0
-D HELTEC_TRACKER_V1_0
-D GPS_POWER_TOGGLE ; comment this line to disable triple press function on the user button to turn off gps entirely.
;-D DEBUG_DISABLED ; uncomment this line to disable DEBUG output
lib_deps =
${esp32s3_base.lib_deps}
lovyan03/LovyanGFX@^1.1.8

View File

@@ -0,0 +1,65 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h
#include "soc/soc_caps.h"
#include <stdint.h>
#define USB_VID 0x303A
#define USB_PID 0x80D6
static const uint8_t TX = 43;
static const uint8_t RX = 44;
static const uint8_t SDA = 8;
static const uint8_t SCL = 9;
static const uint8_t SS = 5;
static const uint8_t MOSI = 35;
static const uint8_t MISO = 37;
static const uint8_t SDO = 35;
static const uint8_t SDI = 37;
static const uint8_t SCK = 36;
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 T1 = 1;
static const uint8_t T3 = 3;
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 T14 = 14;
static const uint8_t VBAT_SENSE = 2;
static const uint8_t VBUS_SENSE = 34;
// User LED
#define LED_BUILTIN 13
#define BUILTIN_LED LED_BUILTIN // backward compatibility
static const uint8_t RGB_DATA = 40;
// RGB_BUILTIN and RGB_BRIGHTNESS can be used in new Arduino API neopixelWrite()
#define RGB_BUILTIN (RGB_DATA + SOC_GPIO_PIN_COUNT)
#define RGB_BRIGHTNESS 64
static const uint8_t RGB_PWR = 39;
static const uint8_t LDO2 = 39;
static const uint8_t LED = 13;
#endif /* Pins_Arduino_h */

View File

@@ -0,0 +1,233 @@
; Base for Mesh-Tab device (esp32-s3 N16R2 + ra-sh01 lora)
; https://github.com/valzzu/Mesh-Tab
[mesh_tab_base]
extends = esp32s3_base
board = mesh-tab
board_level = extra
board_upload.flash_size = 16MB
board_build.partitions = default_16MB.csv
upload_protocol = esptool
build_flags = ${esp32s3_base.build_flags}
-D MESH_TAB
-D CONFIG_ARDUHAL_ESP_LOG
-D CONFIG_ARDUHAL_LOG_COLORS=1
-D CONFIG_DISABLE_HAL_LOCKS=1
-D MESHTASTIC_EXCLUDE_CANNEDMESSAGES=1
-D MESHTASTIC_EXCLUDE_INPUTBROKER=1
-D MESHTASTIC_EXCLUDE_BLUETOOTH=1
-D MESHTASTIC_EXCLUDE_WEBSERVER=1
-D LV_LVGL_H_INCLUDE_SIMPLE
-D LV_CONF_INCLUDE_SIMPLE
-D LV_COMP_CONF_INCLUDE_SIMPLE
-D LV_USE_SYSMON=0
-D LV_USE_PROFILER=0
-D LV_USE_PERF_MONITOR=0
-D LV_USE_MEM_MONITOR=0
-D LV_USE_LOG=0
-D LV_BUILD_TEST=0
-D USE_LOG_DEBUG
-D LOG_DEBUG_INC=\"DebugConfiguration.h\"
-D RADIOLIB_SPI_PARANOID=0
-D MAX_NUM_NODES=250
-D MAX_THREADS=40
-D HAS_SCREEN=0
-D HAS_TFT=1
-D USE_PIN_BUZZER
-D RAM_SIZE=1024
-D LGFX_DRIVER_TEMPLATE
-D LGFX_DRIVER=LGFX_GENERIC
-D LGFX_PIN_SCK=12
-D LGFX_PIN_MOSI=13
-D LGFX_PIN_MISO=11
-D LGFX_PIN_DC=16
-D LGFX_PIN_CS=10
-D LGFX_PIN_RST=-1
-D LGFX_PIN_BL=42
-D LGFX_TOUCH_INT=41
-D VIEW_320x240
-D USE_PACKET_API
-I lib/device-ui/generated/ui_320x240
-I variants/mesh-tab
build_src_filter = ${esp32_base.build_src_filter}
+<../lib/device-ui/generated/ui_320x240>
+<../lib/device-ui/resources>
+<../lib/device-ui/locale>
+<../lib/device-ui/source>
lib_deps = ${esp32_base.lib_deps}
lovyan03/LovyanGFX@^1.1.16
; 3.2" TN TFT ST7789 / XPT2046: https://vi.aliexpress.com/item/1005005933490544.html
[env:mesh-tab-3-2-TN-resistive]
extends = mesh_tab_base
build_flags = ${mesh_tab_base.build_flags}
-D LGFX_SCREEN_WIDTH=240
-D LGFX_SCREEN_HEIGHT=320
-D LGFX_PANEL=ST7789
-D LGFX_INVERT_COLOR=false
-D LGFX_RGB_ORDER=false
-D LGFX_ROTATION=3
-D LGFX_TOUCH=XPT2046
-D SPI_FREQUENCY=60000000
-D LGFX_TOUCH_SPI_FREQ=2500000
-D LGFX_TOUCH_SPI_HOST=2
-D LGFX_TOUCH_CS=7
-D LGFX_TOUCH_CLK=12
-D LGFX_TOUCH_DO=11
-D LGFX_TOUCH_DIN=13
-D LGFX_TOUCH_X_MIN=300
-D LGFX_TOUCH_X_MAX=3900
-D LGFX_TOUCH_Y_MIN=400
-D LGFX_TOUCH_Y_MAX=3900
-D LGFX_TOUCH_ROTATION=4
; 3.2" IPS TFT ILI9341 / XPT2046: https://www.aliexpress.com/item/1005006258575617.html
[env:mesh-tab-3-2-IPS-resistive]
extends = mesh_tab_base
build_flags = ${mesh_tab_base.build_flags}
-D LGFX_SCREEN_WIDTH=240
-D LGFX_SCREEN_HEIGHT=320
-D LGFX_PANEL=ILI9341
-D LGFX_INVERT_COLOR=true
-D LGFX_RGB_ORDER=false
-D LGFX_ROTATION=1
-D LGFX_TOUCH=XPT2046
-D SPI_FREQUENCY=60000000 ; if image is distorted then lower to 40 MHz
-D LGFX_TOUCH_SPI_FREQ=2500000
-D LGFX_TOUCH_SPI_HOST=2
-D LGFX_TOUCH_CS=7
-D LGFX_TOUCH_CLK=12
-D LGFX_TOUCH_DO=11
-D LGFX_TOUCH_DIN=13
-D LGFX_TOUCH_X_MIN=300
-D LGFX_TOUCH_X_MAX=3900
-D LGFX_TOUCH_Y_MIN=400
-D LGFX_TOUCH_Y_MAX=3900
-D LGFX_TOUCH_ROTATION=4
; 3.5" IPS TFT ILI9488 / XPT2046: https://vi.aliexpress.com/item/1005006333922639.html
[env:mesh-tab-3-5-IPS-resistive]
extends = mesh_tab_base
build_flags = ${mesh_tab_base.build_flags}
-D DISPLAY_SET_RESOLUTION
-D LGFX_SCREEN_WIDTH=320
-D LGFX_SCREEN_HEIGHT=480
-D LGFX_PANEL=ILI9488
-D LGFX_INVERT_COLOR=true
-D LGFX_RGB_ORDER=false
-D LGFX_DLEN_16BITS=false
-D LGFX_ROTATION=0
-D LGFX_TOUCH=XPT2046
-D SPI_FREQUENCY=40000000 ; may go higher upto 40/60/80 MHz
-D LGFX_TOUCH_SPI_FREQ=2500000
-D LGFX_TOUCH_SPI_HOST=2
-D LGFX_TOUCH_CS=7
-D LGFX_TOUCH_CLK=12
-D LGFX_TOUCH_DO=11
-D LGFX_TOUCH_DIN=13
-D LGFX_TOUCH_X_MIN=300
-D LGFX_TOUCH_X_MAX=3900
-D LGFX_TOUCH_Y_MIN=400
-D LGFX_TOUCH_Y_MAX=3900
-D LGFX_TOUCH_ROTATION=0
; 3.5" TN TFT ILI9488 / XPT2046: https://vi.aliexpress.com/item/32985467436.html
[env:mesh-tab-3-5-TN-resistive]
extends = mesh_tab_base
build_flags = ${mesh_tab_base.build_flags}
-D DISPLAY_SET_RESOLUTION
-D LGFX_SCREEN_WIDTH=320
-D LGFX_SCREEN_HEIGHT=480
-D LGFX_PANEL=HX8357B
-D SPI_FREQUENCY=60000000
-D LGFX_INVERT_COLOR=false
-D LGFX_RGB_ORDER=false
-D LGFX_DLEN_16BITS=false
-D LGFX_ROTATION=4
-D LGFX_TOUCH=XPT2046
-D LGFX_TOUCH_SPI_FREQ=2500000
-D LGFX_TOUCH_SPI_HOST=2
-D LGFX_TOUCH_CS=7
-D LGFX_TOUCH_CLK=12
-D LGFX_TOUCH_DO=11
-D LGFX_TOUCH_DIN=13
-D LGFX_TOUCH_X_MIN=300
-D LGFX_TOUCH_X_MAX=3900
-D LGFX_TOUCH_Y_MIN=400
-D LGFX_TOUCH_Y_MAX=3900
-D LGFX_TOUCH_ROTATION=2
; 3.2" IPS TFT ILI9341 / FT6236: https://vi.aliexpress.com/item/1005006624072350.html
[env:mesh-tab-3-2-IPS-capacitive]
extends = mesh_tab_base
build_flags = ${mesh_tab_base.build_flags}
-D LGFX_SCREEN_WIDTH=240
-D LGFX_SCREEN_HEIGHT=320
-D LGFX_PANEL=ILI9341
-D LGFX_INVERT_COLOR=true
-D LGFX_RGB_ORDER=false
-D LGFX_ROTATION=1
-D LGFX_TOUCH=FT5x06
-D SPI_FREQUENCY=40000000 ; may go higher upto 60/80 MHz
-D LGFX_TOUCH_I2C_PORT=0
-D LGFX_TOUCH_I2C_ADDR=0x38
-D LGFX_TOUCH_I2C_SDA=8
-D LGFX_TOUCH_I2C_SCL=9
-D LGFX_TOUCH_RST=7
-D LGFX_TOUCH_X_MIN=0
-D LGFX_TOUCH_X_MAX=319
-D LGFX_TOUCH_Y_MIN=0
-D LGFX_TOUCH_Y_MAX=479
-D LGFX_TOUCH_ROTATION=0
-D LGFX_TOUCH_I2C_FREQ=1000000
; 3.5" IPS TFT ILI9488 / FT6236: https://vi.aliexpress.com/item/1005006893699919.html
[env:mesh-tab-3-5-IPS-capacitive]
extends = mesh_tab_base
build_flags = ${mesh_tab_base.build_flags}
-D DISPLAY_SET_RESOLUTION
-D LGFX_SCREEN_WIDTH=320
-D LGFX_SCREEN_HEIGHT=480
-D LGFX_PANEL=ILI9488
-D LGFX_INVERT_COLOR=true
-D LGFX_RGB_ORDER=false
-D LGFX_DLEN_16BITS=false
-D LGFX_ROTATION=1
-D LGFX_TOUCH=FT5x06
-D SPI_FREQUENCY=30000000 ; may go higher upto 40/60/80 MHz
-D LGFX_TOUCH_I2C_PORT=0
-D LGFX_TOUCH_I2C_ADDR=0x38
-D LGFX_TOUCH_I2C_SDA=8
-D LGFX_TOUCH_I2C_SCL=9
-D LGFX_TOUCH_RST=7
-D LGFX_TOUCH_X_MIN=0
-D LGFX_TOUCH_X_MAX=319
-D LGFX_TOUCH_Y_MIN=0
-D LGFX_TOUCH_Y_MAX=479
-D LGFX_TOUCH_ROTATION=1
-D LGFX_TOUCH_I2C_FREQ=1000000
; 4.0" IPS TFT ILI9488 / FT6236: https://vi.aliexpress.com/item/1005007082906950.html
[env:mesh-tab-4-0-IPS-capacitive]
extends = mesh_tab_base
build_flags = ${mesh_tab_base.build_flags}
-D DISPLAY_SET_RESOLUTION
-D LGFX_SCREEN_WIDTH=320
-D LGFX_SCREEN_HEIGHT=480
-D LGFX_PANEL=HX8357B
-D LGFX_INVERT_COLOR=true
-D LGFX_RGB_ORDER=false
-D LGFX_DLEN_16BITS=false
-D LGFX_ROTATION=4
-D LGFX_TOUCH=FT5x06
-D SPI_FREQUENCY=30000000 ; may go higher upto 40/60/80 MHz
-D LGFX_TOUCH_I2C_PORT=0
-D LGFX_TOUCH_I2C_ADDR=0x38
-D LGFX_TOUCH_I2C_SDA=8
-D LGFX_TOUCH_I2C_SCL=9
-D LGFX_TOUCH_RST=7
-D LGFX_TOUCH_X_MIN=0
-D LGFX_TOUCH_X_MAX=319
-D LGFX_TOUCH_Y_MIN=0
-D LGFX_TOUCH_Y_MAX=479
-D LGFX_TOUCH_ROTATION=1
-D LGFX_TOUCH_I2C_FREQ=1000000

View File

@@ -7,8 +7,8 @@
// Analog pins
#define BATTERY_PIN 4 // A battery voltage measurement pin, voltage divider connected here to measure battery voltage
// ratio of voltage divider = 2.0
#define ADC_MULTIPLIER 2.11 // 2.0 + 10% for correction of display undervoltage.
// ratio of voltage divider (100k, 220k)
#define ADC_MULTIPLIER 1.6 // 1.45 + 10% for correction of display undervoltage.
#define ADC_CHANNEL ADC1_GPIO4_CHANNEL
// LED
@@ -17,6 +17,9 @@
// Button
#define BUTTON_PIN 0
// Button
#define PIN_BUZZER 5
// GPS
#define GPS_RX_PIN 18
#define GPS_TX_PIN 17
@@ -28,20 +31,26 @@
#define SPI_CS 10
#define SDCARD_CS 6
// LORA MODULES
#define USE_SX1262
// LORA SPI
#define LORA_SCK 36
#define LORA_MISO 37
#define LORA_MOSI 35
#define LORA_CS 39
// LORA MODULES
#define USE_SX1262
// LORA CONFIG
#define LORA_DIO0 -1 // a No connect on the SX1262 module
#define LORA_RESET 14
#define LORA_DIO1 15 // SX1262 IRQ
#define LORA_DIO2 40 // SX1262 BUSY
#define LORA_DIO3 // Not connected on PCB, but internally on the TTGO SX1262
#define SX126X_CS LORA_CS
#define SX126X_DIO1 15
#define SX126X_DIO1 LORA_DIO1
#define SX126X_DIO2_AS_RF_SWITCH
#define SX126X_BUSY 40
#define SX126X_BUSY LORA_DIO2
#define SX126X_RESET 14
#define SX126X_RXEN 47
#define SX126X_TXEN RADIOLIB_NC // Assuming that DIO2 is connected to TXEN pin

View File

@@ -0,0 +1,6 @@
[env:nibble-esp32]
extends = esp32s3_base
board = esp32-s3-zero
board_level = extra
build_flags =
${esp32_base.build_flags} -D PRIVATE_HW -I variants/nibble_esp32

View File

@@ -0,0 +1,18 @@
#define I2C_SDA 11 // I2C pins for this board
#define I2C_SCL 10
#define LED_PIN 1 // If defined we will blink this LED
#define BUTTON_PIN 0 // If defined, this will be used for user button presses
#define BUTTON_NEED_PULLUP
#define USE_RF95
#define LORA_SCK 6
#define LORA_MISO 7
#define LORA_MOSI 8
#define LORA_CS 9
#define LORA_DIO0 5 // a No connect on the SX1262 module
#define LORA_RESET 4
#define LORA_DIO1 RADIOLIB_NC
#define LORA_DIO2 RADIOLIB_NC

View File

@@ -0,0 +1,17 @@
[env:nibble-rp2040]
extends = rp2040_base
board = rpipico
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/nibble_rp2040
-DDEBUG_RP2040_PORT=Serial
-DHW_SPI1_DEVICE
-L "${platformio.libdeps_dir}/${this.__env__}/bsec2/src/cortex-m0plus"
lib_deps =
${rp2040_base.lib_deps}
debug_build_flags = ${rp2040_base.build_flags}, -g
debug_tool = cmsis-dap ; for e.g. Picotool

View File

@@ -0,0 +1,18 @@
#define ARDUINO_ARCH_AVR
#define BUTTON_PIN -1 // Pin 17 used for antenna switching via DIO4
#define LED_PIN 1
#define HAS_CPU_SHUTDOWN 1
#define USE_RF95
#define LORA_SCK 10
#define LORA_MISO 12
#define LORA_MOSI 11
#define LORA_CS 13
#define LORA_DIO0 14
#define LORA_RESET 15
#define LORA_DIO1 RADIOLIB_NC
#define LORA_DIO2 RADIOLIB_NC

View File

@@ -0,0 +1,6 @@
[env:nugget-s2-lora]
extends = esp32s2_base
board = lolin_s2_mini
board_level = extra
build_flags =
${esp32s2_base.build_flags} -D PRIVATE_HW -I variants/nugget_s2_lora

View File

@@ -0,0 +1,23 @@
#define I2C_SDA 34 // I2C pins for this board
#define I2C_SCL 36
#define LED_PIN 15 // If defined we will blink this LED
#define HAS_NEOPIXEL // Enable the use of neopixels
#define NEOPIXEL_COUNT 3 // How many neopixels are connected
#define NEOPIXEL_DATA 12 // gpio pin used to send data to the neopixels
#define NEOPIXEL_TYPE (NEO_GRB + NEO_KHZ800) // type of neopixels in use
#define BUTTON_PIN 0 // If defined, this will be used for user button presses
#define BUTTON_NEED_PULLUP
#define USE_RF95
#define LORA_SCK 6
#define LORA_MISO 8
#define LORA_MOSI 10
#define LORA_CS 13
#define LORA_DIO0 16
#define LORA_RESET 5
#define LORA_DIO1 RADIOLIB_NC
#define LORA_DIO2 RADIOLIB_NC

View File

@@ -0,0 +1,6 @@
[env:nugget-s3-lora]
extends = esp32s3_base
board = lolin_s3_mini
board_level = extra
build_flags =
${esp32s3_base.build_flags} -D PRIVATE_HW -I variants/nugget_s3_lora

View File

@@ -0,0 +1,23 @@
#define I2C_SDA 34 // I2C pins for this board
#define I2C_SCL 38
#define LED_PIN 15 // If defined we will blink this LED
#define HAS_NEOPIXEL // Enable the use of neopixels
#define NEOPIXEL_COUNT 3 // How many neopixels are connected
#define NEOPIXEL_DATA 10 // gpio pin used to send data to the neopixels
#define NEOPIXEL_TYPE (NEO_GRB + NEO_KHZ800) // type of neopixels in use
#define BUTTON_PIN 0 // If defined, this will be used for user button presses
#define BUTTON_NEED_PULLUP
#define USE_RF95
#define LORA_SCK 6
#define LORA_MISO 7
#define LORA_MOSI 8
#define LORA_CS 9
#define LORA_DIO0 16 // a No connect on the SX1262 module
#define LORA_RESET 4
#define LORA_DIO1 RADIOLIB_NC
#define LORA_DIO2 RADIOLIB_NC

View File

@@ -0,0 +1,8 @@
[env:buildroot]
extends = portduino_base
; Optional libraries should be appended to `PLATFORMIO_BUILD_FLAGS`
; environment variable in the buildroot environment.
build_flags = ${portduino_base.build_flags} -O0 -I variants/portduino-buildroot
board = buildroot
lib_deps = ${portduino_base.lib_deps}
build_src_filter = ${portduino_base.build_src_filter}

View File

@@ -0,0 +1,5 @@
#define HAS_SCREEN 1
#define CANNED_MESSAGE_MODULE_ENABLE 1
#define HAS_GPS 1
#define MAX_RX_TOPHONE settingsMap[maxtophone]
#define MAX_NUM_NODES settingsMap[maxnodes]

View File

@@ -9,3 +9,7 @@ build_flags = ${portduino_base.build_flags} -O0 -I variants/portduino
board = cross_platform
lib_deps = ${portduino_base.lib_deps}
build_src_filter = ${portduino_base.build_src_filter}
[env:coverage]
extends = env:native
build_flags = -lgcov --coverage -fprofile-abs-path ${env:native.build_flags}

View File

@@ -37,11 +37,11 @@ static void onewire_evt(const uint8_t pid, const uint8_t sid, const SNHUBAPI_EVT
break;
case SNHUBAPI_EVT_ADD_SID:
// LOG_INFO("+ADD:SID:[%02x]\r\n", msg[0]);
// LOG_INFO("+ADD:SID:[%02x]", msg[0]);
break;
case SNHUBAPI_EVT_ADD_PID:
// LOG_INFO("+ADD:PID:[%02x]\r\n", msg[0]);
// LOG_INFO("+ADD:PID:[%02x]", msg[0]);
#ifdef BOOT_DATA_REQ
provision = msg[0];
#endif
@@ -55,12 +55,12 @@ static void onewire_evt(const uint8_t pid, const uint8_t sid, const SNHUBAPI_EVT
case SNHUBAPI_EVT_SDATA_REQ:
// LOG_INFO("+EVT:PID[%02x],IPSO[%02x]\r\n",pid,msg[0]);
// LOG_INFO("+EVT:PID[%02x],IPSO[%02x]",pid,msg[0]);
// for( uint16_t i=1; i<len; i++)
// {
// LOG_INFO("%02x,", msg[i]);
// }
// LOG_INFO("\r\n");
// LOG_INFO("");
switch (msg[0]) {
case RAK_IPSO_CAPACITY:
dc_prec = msg[1];
@@ -82,12 +82,12 @@ static void onewire_evt(const uint8_t pid, const uint8_t sid, const SNHUBAPI_EVT
break;
case SNHUBAPI_EVT_REPORT:
// LOG_INFO("+EVT:PID[%02x],IPSO[%02x]\r\n",pid,msg[0]);
// LOG_INFO("+EVT:PID[%02x],IPSO[%02x]",pid,msg[0]);
// for( uint16_t i=1; i<len; i++)
// {
// LOG_INFO("%02x,", msg[i]);
// }
// LOG_INFO("\r\n");
// LOG_INFO("");
switch (msg[0]) {
case RAK_IPSO_CAPACITY:
@@ -110,11 +110,11 @@ static void onewire_evt(const uint8_t pid, const uint8_t sid, const SNHUBAPI_EVT
break;
case SNHUBAPI_EVT_CHKSUM_ERR:
LOG_INFO("+ERR:CHKSUM\r\n");
LOG_INFO("+ERR:CHKSUM");
break;
case SNHUBAPI_EVT_SEQ_ERR:
LOG_INFO("+ERR:SEQUCE\r\n");
LOG_INFO("+ERR:SEQUCE");
break;
default:
@@ -180,4 +180,4 @@ bool RAK9154Sensor::isCharging()
{
return (dc_cur > 0) ? true : false;
}
#endif // HAS_RAKPROT
#endif // HAS_RAKPROT

View File

@@ -15,7 +15,7 @@
// rxd = 9
#define EXT_NOTIFY_OUT 22
#undef BUTTON_PIN // Pin 17 used for antenna switching via DIO4
#define BUTTON_PIN -1 // Pin 17 used for antenna switching via DIO4
#define LED_PIN PIN_LED
@@ -57,4 +57,4 @@
#define SX126X_DIO2_AS_RF_SWITCH // Antenna switch CTRL
#define SX126X_RXEN LORA_DIO4 // Antenna switch !CTRL via GPIO17
// #define SX126X_DIO3_TCXO_VOLTAGE 1.8
#endif
#endif

View File

@@ -2,7 +2,7 @@
[env:seeed-sensecap-indicator]
extends = esp32s3_base
platform_packages =
platformio/framework-arduinoespressif32 @ https://github.com/mverch67/arduino-esp32.git#add_tca9535 ; based on 2.0.16
platformio/framework-arduinoespressif32 @ https://github.com/mverch67/arduino-esp32.git#aef7fef6de3329ed6f75512d46d63bba12b09bb5 ; add_tca9535 (based on 2.0.16)
board = seeed-sensecap-indicator
board_check = true

View File

@@ -40,6 +40,7 @@
// // Buzzer
// #define PIN_BUZZER 19
#define GPS_DEFAULT_NOT_PRESENT 1
#define GPS_RX_PIN 20
#define GPS_TX_PIN 19
#define HAS_GPS 1

View File

@@ -41,7 +41,7 @@ L76K GPS Module Information : https://www.seeedstudio.com/L76K-GNSS-Module-for-S
L76K Expansion Board can not directly used, L76K Reset Pin needs to override or physically remove it,
otherwise it will conflict with the SPI pins
*/
// #define GPS_L76K
#define GPS_L76K
#ifdef GPS_L76K
#define GPS_RX_PIN 44
#define GPS_TX_PIN 43
@@ -80,5 +80,7 @@ L76K GPS Module Information : https://www.seeedstudio.com/L76K-GNSS-Module-for-S
// DIO2 controlls an antenna switch and the TCXO voltage is controlled by DIO3
#define SX126X_DIO2_AS_RF_SWITCH
#define SX126X_RXEN 38
#define SX126X_TXEN RADIOLIB_NC
#define SX126X_DIO3_TCXO_VOLTAGE 1.8
#endif
#endif

View File

@@ -29,7 +29,7 @@
#define BUTTON_PIN 0
// #define BUTTON_NEED_PULLUP
#define GPS_DEFAULT_NOT_PRESENT 1
#define GPS_RX_PIN 44
#define GPS_TX_PIN 43

View File

@@ -19,6 +19,7 @@
#define I2C_SCL SCL
// external qwiic connector
#define GPS_DEFAULT_NOT_PRESENT 1
#define GPS_RX_PIN 44
#define GPS_TX_PIN 43

View File

@@ -8,10 +8,7 @@
#define I2C_SDA 21 // I2C pins for this board
#define I2C_SCL 22
#define LED_PIN 25 // If defined we will blink this LED
#define BUTTON_PIN 12 // If defined, this will be used for user button presses,
#define BUTTON_NEED_PULLUP
#define LED_PIN 25 // If defined we will blink this LED
#define USE_RF95
#define LORA_DIO0 26 // a No connect on the SX1262 module

View File

@@ -1,5 +1,6 @@
[env:tlora-v2-1-1_6-tcxo]
extends = esp32_base
board_level = extra
board = ttgo-lora32-v21
build_flags =
${esp32_base.build_flags}

View File

@@ -1,5 +1,6 @@
[env:tlora-v2-1-1_8]
extends = esp32_base
board_level = extra
board = ttgo-lora32-v21
build_flags =

View File

@@ -0,0 +1,11 @@
[env:tlora-v3-3-0-tcxo]
extends = esp32_base
board = ttgo-lora32-v21
board_level = extra
build_flags =
${esp32_base.build_flags}
-D TLORA_V2_1_16
-I variants/tlora_v2_1_16
-D GPS_POWER_TOGGLE ; comment this line to disable triple press function on the user button to turn off gps entirely.
-D LORA_TCXO_GPIO=12
-D BUTTON_PIN=0

View File

@@ -4,6 +4,7 @@ board = tracker-t1000-e
build_flags = ${nrf52840_base.build_flags} -Ivariants/tracker-t1000-e -Isrc/platform/nrf52/softdevice -Isrc/platform/nrf52/softdevice/nrf52 -DTRACKER_T1000_E
-L "${platformio.libdeps_dir}/${this.__env__}/bsec2/src/cortex-m4/fpv4-sp-d16-hard"
-DGPS_POWER_TOGGLE
-DMESHTASTIC_EXCLUDE_ENVIRONMENTAL_SENSOR_EXTERNAL=1
board_build.ldscript = src/platform/nrf52/nrf52840_s140_v7.ld
build_src_filter = ${nrf52_base.build_src_filter} +<../variants/tracker-t1000-e>
lib_deps =
@@ -11,4 +12,4 @@ lib_deps =
https://github.com/meshtastic/QMA6100P_Arduino_Library.git#14c900b8b2e4feaac5007a7e41e0c1b7f0841136
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 = nrfutil
upload_protocol = nrfutil

View File

@@ -6,14 +6,6 @@
#define USB_VID 0x16D0
#define USB_PID 0x1178
#define EXTERNAL_NUM_INTERRUPTS 46
#define NUM_DIGITAL_PINS 48
#define NUM_ANALOG_INPUTS 20
#define analogInputToDigitalPin(p) (((p) < 20) ? (analogChannelToDigitalPin(p)) : -1)
#define digitalPinToInterrupt(p) (((p) < 48) ? (p) : -1)
#define digitalPinHasPWM(p) (p < 46)
#define LED_BUILTIN 13
#define BUILTIN_LED LED_BUILTIN // backward compatibility