forked from meshtastic/firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for CDEBYTE_EoRa-S3 (meshtastic#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 <[email protected]> Co-authored-by: S5NC <>
- Loading branch information
1 parent
699ea74
commit e813703
Showing
5 changed files
with
148 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |