mirror of
https://github.com/meshtastic/firmware.git
synced 2025-08-20 04:01:14 +00:00
Add support for CDEBYTE_EoRa-S3 (#3613)
* Create CDEBYTE_EoRa-S3.json * Update CDEBYTE_EoRa-S3.json * Update architecture.h * Create variant.h * Create platformio.ini * Create pins_arduino.h * Update variant.h * Update variant.h * Update variant.h * Trunk format * update variant.h --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com> Co-authored-by: S5NC <>
This commit is contained in:
parent
699ea74672
commit
e813703bf5
38
boards/CDEBYTE_EoRa-S3.json
Normal file
38
boards/CDEBYTE_EoRa-S3.json
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{
|
||||||
|
"build": {
|
||||||
|
"arduino": {
|
||||||
|
"ldscript": "esp32s3_out.ld"
|
||||||
|
},
|
||||||
|
"core": "esp32",
|
||||||
|
"extra_flags": [
|
||||||
|
"-D CDEBYTE_EORA_S3",
|
||||||
|
"-D ARDUINO_USB_CDC_ON_BOOT=1",
|
||||||
|
"-D ARDUINO_USB_MODE=0",
|
||||||
|
"-D ARDUINO_RUNNING_CORE=1",
|
||||||
|
"-D ARDUINO_EVENT_RUNNING_CORE=1",
|
||||||
|
"-D BOARD_HAS_PSRAM"
|
||||||
|
],
|
||||||
|
"f_cpu": "240000000L",
|
||||||
|
"f_flash": "80000000L",
|
||||||
|
"flash_mode": "dio",
|
||||||
|
"hwids": [["0x303A", "0x1001"]],
|
||||||
|
"mcu": "esp32s3",
|
||||||
|
"variant": "CDEBYTE_EoRa-S3"
|
||||||
|
},
|
||||||
|
"connectivity": ["wifi"],
|
||||||
|
"debug": {
|
||||||
|
"openocd_target": "esp32s3.cfg"
|
||||||
|
},
|
||||||
|
"frameworks": ["arduino", "espidf"],
|
||||||
|
"name": "CDEBYTE EoRa-S3",
|
||||||
|
"upload": {
|
||||||
|
"flash_size": "4MB",
|
||||||
|
"maximum_ram_size": 327680,
|
||||||
|
"maximum_size": 4194304,
|
||||||
|
"wait_for_upload_port": true,
|
||||||
|
"require_upload_port": true,
|
||||||
|
"speed": 921600
|
||||||
|
},
|
||||||
|
"url": "https://www.cdebyte.com/Module-Testkits-EoRaPI",
|
||||||
|
"vendor": "CDEBYTE"
|
||||||
|
}
|
@ -117,6 +117,8 @@
|
|||||||
#define HW_VENDOR meshtastic_HardwareModel_HELTEC_WIRELESS_PAPER
|
#define HW_VENDOR meshtastic_HardwareModel_HELTEC_WIRELESS_PAPER
|
||||||
#elif defined(TLORA_T3S3_V1)
|
#elif defined(TLORA_T3S3_V1)
|
||||||
#define HW_VENDOR meshtastic_HardwareModel_TLORA_T3_S3
|
#define HW_VENDOR meshtastic_HardwareModel_TLORA_T3_S3
|
||||||
|
#elif defined(CDEBYTE_ELORA_S3)
|
||||||
|
#define HW_VENDOR meshtastic_HardwareModel_CDEBYTE_ELORA_S3
|
||||||
#elif defined(BETAFPV_2400_TX)
|
#elif defined(BETAFPV_2400_TX)
|
||||||
#define HW_VENDOR meshtastic_HardwareModel_BETAFPV_2400_TX
|
#define HW_VENDOR meshtastic_HardwareModel_BETAFPV_2400_TX
|
||||||
#elif defined(NANO_G1_EXPLORER)
|
#elif defined(NANO_G1_EXPLORER)
|
||||||
|
37
variants/CDEBYTE_EoRa-S3/pins_arduino.h
Normal file
37
variants/CDEBYTE_EoRa-S3/pins_arduino.h
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// Need this file for ESP32-S3
|
||||||
|
// No need to modify this file, changes to pins imported from variant.h
|
||||||
|
// Most is similar to https://github.com/espressif/arduino-esp32/blob/master/variants/esp32s3/pins_arduino.h
|
||||||
|
|
||||||
|
#ifndef Pins_Arduino_h
|
||||||
|
#define Pins_Arduino_h
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <variant.h>
|
||||||
|
|
||||||
|
#define USB_VID 0x303a
|
||||||
|
#define USB_PID 0x1001
|
||||||
|
|
||||||
|
#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) // Maybe it should be <= 48 but this is from a trustworthy source so it is likely correct
|
||||||
|
#define digitalPinHasPWM(p) (p < 46)
|
||||||
|
|
||||||
|
// Serial
|
||||||
|
static const uint8_t TX = UART_TX;
|
||||||
|
static const uint8_t RX = UART_RX;
|
||||||
|
|
||||||
|
// Default SPI will be mapped to Radio
|
||||||
|
static const uint8_t SS = LORA_CS;
|
||||||
|
static const uint8_t SCK = LORA_SCK;
|
||||||
|
static const uint8_t MOSI = LORA_MOSI;
|
||||||
|
static const uint8_t MISO = LORA_MISO;
|
||||||
|
|
||||||
|
// The default Wire will be mapped to PMU and RTC
|
||||||
|
static const uint8_t SCL = I2C_SCL;
|
||||||
|
static const uint8_t SDA = I2C_SDA;
|
||||||
|
|
||||||
|
#endif /* Pins_Arduino_h */
|
8
variants/CDEBYTE_EoRa-S3/platformio.ini
Normal file
8
variants/CDEBYTE_EoRa-S3/platformio.ini
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
[env:CDEBYTE_EoRa-S3]
|
||||||
|
extends = esp32s3_base
|
||||||
|
board = CDEBYTE_EoRa-S3
|
||||||
|
build_flags =
|
||||||
|
${esp32s3_base.build_flags}
|
||||||
|
-D CDEBYTE_EORA_S3
|
||||||
|
-I variants/CDEBYTE_EoRa-S3
|
||||||
|
-D GPS_POWER_TOGGLE
|
63
variants/CDEBYTE_EoRa-S3/variant.h
Normal file
63
variants/CDEBYTE_EoRa-S3/variant.h
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
// LED - status indication
|
||||||
|
#define LED_PIN 37
|
||||||
|
|
||||||
|
// Button - user interface
|
||||||
|
#define BUTTON_PIN 0 // This is the BOOT button, and it has its own pull-up resistor
|
||||||
|
|
||||||
|
// SD card - TODO: test, currently untested, copied from T3S3 variant
|
||||||
|
#define HAS_SDCARD
|
||||||
|
#define SDCARD_USE_SPI1
|
||||||
|
// TODO: rename this to make this SD-card specific
|
||||||
|
#define SPI_CS 13
|
||||||
|
#define SPI_SCK 14
|
||||||
|
#define SPI_MOSI 11
|
||||||
|
#define SPI_MISO 2
|
||||||
|
// FIXME: there are two other SPI pins that are not defined here
|
||||||
|
// Compatibility
|
||||||
|
#define SDCARD_CS SPI_CS
|
||||||
|
|
||||||
|
// Battery voltage monitoring - TODO: test, currently untested, copied from T3S3 variant
|
||||||
|
#define BATTERY_PIN 1 // A battery voltage measurement pin, voltage divider connected here to measure battery voltage
|
||||||
|
#define ADC_CHANNEL ADC1_GPIO1_CHANNEL
|
||||||
|
#define ADC_MULTIPLIER \
|
||||||
|
2.11 // ratio of voltage divider = 2.0 (R10=1M, R13=1M), plus some undervoltage correction - TODO: this was carried over from
|
||||||
|
// the T3S3, test to see if the undervoltage correction is needed.
|
||||||
|
|
||||||
|
// Display - OLED connected via I2C by the default hardware configuration
|
||||||
|
#define HAS_SCREEN 1
|
||||||
|
#define USE_SSD1306
|
||||||
|
#define I2C_SCL 17
|
||||||
|
#define I2C_SDA 18
|
||||||
|
|
||||||
|
// UART - The 1mm JST SH connector closest to the USB-C port
|
||||||
|
#define UART_TX 43
|
||||||
|
#define UART_RX 44
|
||||||
|
|
||||||
|
// Peripheral I2C - The 1mm JST SH connector furthest from the USB-C port which follows Adafruit connection standard. There are no
|
||||||
|
// pull-up resistors on these lines, the downstream device needs to include them. TODO: test, currently untested
|
||||||
|
#define I2C_SCL1 21
|
||||||
|
#define I2C_SDA1 10
|
||||||
|
|
||||||
|
// Radio
|
||||||
|
#define USE_SX1262 // CDEBYTE EoRa-S3-900TB <- CDEBYTE E22-900MM22S <- Semtech SX1262
|
||||||
|
#define USE_SX1268 // CDEBYTE EoRa-S3-400TB <- CDEBYTE E22-400MM22S <- Semtech SX1268
|
||||||
|
|
||||||
|
#define SX126X_CS 7
|
||||||
|
#define LORA_SCK 5
|
||||||
|
#define LORA_MOSI 6
|
||||||
|
#define LORA_MISO 3
|
||||||
|
#define SX126X_RESET 8
|
||||||
|
#define SX126X_BUSY 34
|
||||||
|
#define SX126X_DIO1 33
|
||||||
|
|
||||||
|
#define SX126X_DIO2_AS_RF_SWITCH // All switching is performed with DIO2, it is automatically inverted using circuitry.
|
||||||
|
// CDEBYTE EoRa-S3 uses an XTAL, thus we do not need DIO3 as TCXO voltage reference. Don't define SX126X_DIO3_TCXO_VOLTAGE for
|
||||||
|
// simplicity rather than defining it as 0.
|
||||||
|
#define SX126X_MAX_POWER \
|
||||||
|
22 // E22-900MM22S and E22-400MM22S have a raw SX1262 or SX1268 respsectively, they are rated to output up and including 22
|
||||||
|
// dBm out of their SX126x IC.
|
||||||
|
|
||||||
|
// Compatibility with old variant.h file structure - FIXME: this should be done in the respective radio interface modules to clean
|
||||||
|
// up all variants.
|
||||||
|
#define LORA_CS SX126X_CS
|
||||||
|
#define LORA_DIO1 SX126X_DIO1
|
Loading…
Reference in New Issue
Block a user