add heltec wireless stick lite v3

This commit is contained in:
Laura Batalha 2025-05-30 22:53:07 +01:00
parent e590dd8b19
commit dea226e0f4
No known key found for this signature in database
GPG key ID: FF87260D8C08DA64
7 changed files with 312 additions and 200 deletions

220
Boards.h
View file

@ -92,7 +92,12 @@
#define BOARD_HELTEC32_V3 0x3A
#define MODEL_C5 0xC5 // Heltec Lora32 v3, 433 MHz
#define MODEL_CA 0xCA // Heltec Lora32 v3, 868 MHz
#define PRODUCT_HELTEC_WSL_V3 0xCC // Heltec Wireless Stick Lite v3
#define BOARD_HELTEC_WSL_V3 0xCD
#define MODEL_CE 0xCE // Heltec WSL v3, 433 MHz
#define MODEL_CF 0xCF // Heltec WSL v3, 868 MHz
#define PRODUCT_H_W_PAPER 0xC3
#define BOARD_H_W_PAPER 0x3F
#define MODEL_C8 0xC8
@ -189,15 +194,15 @@
const int pin_led_rx = 14;
const int pin_led_tx = 32;
const uint8_t interfaces[INTERFACE_COUNT] = {SX1276};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX127X
{
true, // DEFAULT_SPI
false, // HAS_TCXO
false // DIO2_AS_RF_SWITCH
},
},
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX127X
{
4, // pin_ss
@ -232,15 +237,15 @@
#if BOARD_VARIANT == MODEL_E4 || BOARD_VARIANT == MODEL_E9
const uint8_t interfaces[INTERFACE_COUNT] = {SX1276};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX127X
{
true, // DEFAULT_SPI
false, // HAS_TCXO
false // DIO2_AS_RF_SWITCH
},
},
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX127X
{
18, // pin_ss
@ -259,15 +264,15 @@
#elif BOARD_VARIANT == MODEL_E3 || BOARD_VARIANT == MODEL_E8
#define OCP_TUNED 0x38
const uint8_t interfaces[INTERFACE_COUNT] = {SX1262};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1262
{
true, // DEFAULT_SPI
true, // HAS_TCXO
true // DIO2_AS_RF_SWITCH
},
},
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1262
{
18, // pin_ss
@ -293,15 +298,15 @@
const int pin_led_tx = 32;
const uint8_t interfaces[INTERFACE_COUNT] = {SX1276};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX127X
{
true, // DEFAULT_SPI
false, // HAS_TCXO
false // DIO2_AS_RF_SWITCH
},
},
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX127X
{
4, // pin_ss
@ -336,15 +341,15 @@
#endif
const uint8_t interfaces[INTERFACE_COUNT] = {SX1276};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1276
{
true, // DEFAULT_SPI
false, // HAS_TCXO
false // DIO2_AS_RF_SWITCH
},
},
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1276
{
18, // pin_ss
@ -380,15 +385,15 @@
const uint8_t interfaces[INTERFACE_COUNT] = {SX1276};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX127X
{
true, // DEFAULT_SPI
false, // HAS_TCXO
false // DIO2_AS_RF_SWITCH
},
},
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX127X
{
18, // pin_ss
@ -413,20 +418,20 @@
#define HAS_CONSOLE true
#define HAS_EEPROM true
#define INTERFACE_COUNT 1
const int pin_np = 12;
const uint8_t interfaces[INTERFACE_COUNT] = {SX1276};
#if HAS_TCXO == true
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX127X
{
true, // DEFAULT_SPI
true, // HAS_TCXO
false // DIO2_AS_RF_SWITCH
},
},
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX127X
{
18, // pin_ss
@ -451,16 +456,16 @@
#endif
#if HAS_TCXO == false
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX127X
{
true, // DEFAULT_SPI
false, // HAS_TCXO
false // DIO2_AS_RF_SWITCH
},
},
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX127X
{
18, // pin_ss
@ -500,15 +505,15 @@
#endif
const uint8_t interfaces[INTERFACE_COUNT] = {SX1276};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX127X
{
true, // DEFAULT_SPI
false, // HAS_TCXO
false // DIO2_AS_RF_SWITCH
},
},
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX127X
{
18, // pin_ss
@ -551,15 +556,60 @@
#endif
const uint8_t interfaces[INTERFACE_COUNT] = {SX1262};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1262
{
true, // DEFAULT_SPI
true, // HAS_TCXO
true // DIO2_AS_RF_SWITCH
},
},
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1262
{
8, // pin_ss
9, // pin_sclk
10, // pin_mosi
11, // pin_miso
13, // pin_busy
14, // pin_dio
12, // pin_reset
-1, // pin_txen
-1, // pin_rxen
-1 // pin_tcxo_enable
}
};
#elif BOARD_MODEL == BOARD_HELTEC_WSL_V3
#define IS_ESP32S3 true
#define HAS_DISPLAY false
#define HAS_BLUETOOTH false
#define HAS_BLE true
#define HAS_PMU true
#define HAS_CONSOLE true
#define HAS_EEPROM true
#define HAS_INPUT true
#define HAS_SLEEP true
#define PIN_WAKEUP GPIO_NUM_0
#define WAKEUP_LEVEL 0
#define INTERFACE_COUNT 1
#define OCP_TUNED 0x38
const int pin_btn_usr1 = 0;
const int pin_led_rx = 35;
const int pin_led_tx = 35;
const uint8_t interfaces[INTERFACE_COUNT] = {SX1262};
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1262
{
true, // DEFAULT_SPI
true, // HAS_TCXO
true // DIO2_AS_RF_SWITCH
},
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1262
{
8, // pin_ss
@ -607,15 +657,15 @@
#endif
const uint8_t interfaces[INTERFACE_COUNT] = {SX1262};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1262
{
true, // DEFAULT_SPI
true, // HAS_TCXO
true // DIO2_AS_RF_SWITCH
},
},
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1262
{
8, // pin_ss
@ -661,15 +711,15 @@
const uint8_t interfaces[INTERFACE_COUNT] = {SX1276};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1276
{
false, // DEFAULT_SPI
true, // HAS_TCXO
true // DIO2_AS_RF_SWITCH
},
},
};
const uint8_t interface_pins[INTERFACE_COUNT][10] = {
const uint8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1276
{
8, // pin_ss
@ -713,15 +763,15 @@
#endif
const uint8_t interfaces[INTERFACE_COUNT] = {SX1276};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX127X
{
true, // DEFAULT_SPI
false, // HAS_TCXO
false // DIO2_AS_RF_SWITCH
},
},
};
const uint8_t interface_pins[INTERFACE_COUNT][10] = {
const uint8_t interface_pins[INTERFACE_COUNT][10] = {
// SX127X
{
18, // pin_ss
@ -736,7 +786,7 @@
-1 // pin_tcxo_enable
}
};
#elif BOARD_MODEL == BOARD_T3S3
#define IS_ESP32S3 true
#define HAS_DISPLAY true
@ -759,15 +809,15 @@
#if BOARD_VARIANT == MODEL_A1 || BOARD_VARIANT == MODEL_A6
const uint8_t interfaces[INTERFACE_COUNT] = {SX1262};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1262
{
false, // DEFAULT_SPI
true, // HAS_TCXO
true // DIO2_AS_RF_SWITCH
},
},
};
const uint8_t interface_pins[INTERFACE_COUNT][10] = {
const uint8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1262
{
7, // pin_ss
@ -784,15 +834,15 @@
};
#elif BOARD_VARIANT == MODEL_A5 || BOARD_VARIANT == MODEL_AA
const uint8_t interfaces[INTERFACE_COUNT] = {SX1278};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1278
{
false, // DEFAULT_SPI
false, // HAS_TCXO
false // DIO2_AS_RF_SWITCH
},
},
};
const uint8_t interface_pins[INTERFACE_COUNT][10] = {
const uint8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1278
{
7, // pin_ss
@ -807,18 +857,18 @@
-1 // pin_tcxo_enable
}
};
#elif BOARD_VARIANT == MODEL_AC // SX1280 with PA
#elif BOARD_VARIANT == MODEL_AC // SX1280 with PA
#define CONFIG_QUEUE_0_SIZE 6144
const uint8_t interfaces[INTERFACE_COUNT] = {SX1280};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1280
{
false, // DEFAULT_SPI
false, // HAS_TCXO
false // DIO2_AS_RF_SWITCH
},
},
};
const uint8_t interface_pins[INTERFACE_COUNT][10] = {
const uint8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1280
{
7, // pin_ss
@ -834,7 +884,7 @@
}
};
#endif
const int pin_np = 38;
const int pin_dac = 25;
const int pin_adc = 1;
@ -873,7 +923,7 @@
const int pin_poweron = 10;
const int pin_btn_usr1 = 0;
const int SD_MISO = 38;
const int SD_MOSI = 41;
const int SD_CLK = 40;
@ -889,15 +939,15 @@
#define INTERFACE_COUNT 1
const uint8_t interfaces[INTERFACE_COUNT] = {SX1262};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1262
{
false, // DEFAULT_SPI
true, // HAS_TCXO
true // DIO2_AS_RF_SWITCH
},
},
};
const uint8_t interface_pins[INTERFACE_COUNT][10] = {
const uint8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1262
{
9, // pin_ss
@ -939,13 +989,13 @@
#define HAS_INPUT true
#define HAS_SLEEP false
#define PMU_IRQ 40
#define I2C_SCL 41
#define I2C_SDA 42
const int pin_btn_usr1 = 0;
const int SD_MISO = 37;
const int SD_MOSI = 35;
const int SD_CLK = 36;
@ -956,15 +1006,15 @@
#define INTERFACE_COUNT 1
const uint8_t interfaces[INTERFACE_COUNT] = {SX1262};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1262
{
false, // DEFAULT_SPI
true, // HAS_TCXO
true // DIO2_AS_RF_SWITCH
},
},
};
const uint8_t interface_pins[INTERFACE_COUNT][10] = {
const uint8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1262
{
10, // pin_ss
@ -996,7 +1046,7 @@
// currently there is only support for using one Bluetooth type,
// Bluetooth has been chosen over BLE as it is less experimental
#define HAS_BLUETOOTH true
//#define HAS_BLE true
//#define HAS_BLE true
#define HAS_CONSOLE true
#define HAS_SD false
#define HAS_EEPROM true
@ -1007,15 +1057,15 @@
const int pin_led_tx = 4;
const uint8_t interfaces[INTERFACE_COUNT] = {SX1262};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1262
{
true, // DEFAULT_SPI
true, // HAS_TCXO
true // DIO2_AS_RF_SWITCH
},
},
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1262
{
18, // pin_ss
@ -1060,15 +1110,15 @@
const int pin_btn_usr1 = 21;
const uint8_t interfaces[INTERFACE_COUNT] = {SX1262};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1262
{
true, // DEFAULT_SPI
true, // HAS_TCXO
true // DIO2_AS_RF_SWITCH
},
},
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1262
{
41, // pin_ss
@ -1106,7 +1156,7 @@
#else
#error An unsupported ESP32 board was selected. Cannot compile RNode firmware.
#endif
#elif MCU_VARIANT == MCU_NRF52
#define CONFIG_UART_BUFFER_SIZE 6144
#define CONFIG_QUEUE_0_SIZE 6144
@ -1137,7 +1187,7 @@
#define HAS_BACKLIGHT true
// first interface in list is the primary
const uint8_t interfaces[INTERFACE_COUNT] = {SX1262};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1262
{
false, // DEFAULT_SPI
@ -1146,10 +1196,10 @@
}
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1262
{
24, // pin_ss
24, // pin_ss
19, // pin_sclk
22, // pin_mosi
23, // pin_miso
@ -1191,7 +1241,7 @@
#elif BOARD_MODEL == BOARD_RAK4631 || BOARD_MODEL == BOARD_OPENCOM_XL
#define HAS_EEPROM false
#define HAS_DISPLAY false
#define HAS_DISPLAY false
#define HAS_BLUETOOTH false
#define HAS_BLE true
#define HAS_CONSOLE false
@ -1212,7 +1262,7 @@
// first interface in list is the primary
const uint8_t interfaces[INTERFACE_COUNT] = {SX1262};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1262
{
false, // DEFAULT_SPI
@ -1220,7 +1270,7 @@
true // DIO2_AS_RF_SWITCH
}
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1262
{
42, // pin_ss
@ -1248,21 +1298,21 @@
// first interface in list is the primary
const uint8_t interfaces[INTERFACE_COUNT] = {SX1262, SX1280};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1262
{
false, // DEFAULT_SPI
true, // HAS_TCXO
true // DIO2_AS_RF_SWITCH
},
},
// SX1280
{
true, // DEFAULT_SPI
false,// HAS_TCXO
false // DIO2_AS_RF_SWITCH
}
}
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1262
{
42, // pin_ss
@ -1288,7 +1338,7 @@
20, // pin_txen
19, // pin_rxen
-1 // pin_tcxo_enable
}
}
};
#endif
@ -1359,7 +1409,7 @@
#define INTERFACE_COUNT 1
const uint8_t interfaces[INTERFACE_COUNT] = {SX1262};
const bool interface_cfg[INTERFACE_COUNT][3] = {
const bool interface_cfg[INTERFACE_COUNT][3] = {
// SX1262
{
false, // DEFAULT_SPI
@ -1367,7 +1417,7 @@
true // DIO2_AS_RF_SWITCH
}
};
const int8_t interface_pins[INTERFACE_COUNT][10] = {
const int8_t interface_pins[INTERFACE_COUNT][10] = {
// SX1262
{
24, // pin_ss
@ -1387,7 +1437,7 @@
#define HAS_GPS true
#define GPS_BAUD_RATE 9600
#define PIN_GPS_RX 37
#define PIN_GPS_TX 39
#define PIN_GPS_TX 39
#endif
#else
#error An unsupported nRF board was selected. Cannot compile RNode firmware.
@ -1406,7 +1456,7 @@
#ifndef LED_ON
#define LED_ON HIGH
#endif
#ifndef LED_OFF
#define LED_OFF LOW
#endif