mirror of
https://github.com/richonguzman/LoRa_APRS_iGate.git
synced 2026-01-25 10:10:14 +01:00
TbeamSupreme Added
This commit is contained in:
parent
312bdc9d9f
commit
44d9732aa2
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
|
|
@ -57,6 +57,8 @@ jobs:
|
|||
chip: esp32s3
|
||||
- name: ttgo_t_deck_GPS
|
||||
chip: esp32s3
|
||||
- name: ttgo_t_beam_s3_SUPREME_v3
|
||||
chip: esp32s3
|
||||
- name: ESP32_DIY_LoRa_A7670
|
||||
chip: esp32
|
||||
- name: ESP32_DIY_LoRa_A7670_915
|
||||
|
|
|
|||
|
|
@ -30,11 +30,16 @@
|
|||
String lastEpaperText;
|
||||
#else
|
||||
#include <Adafruit_GFX.h>
|
||||
#include <Adafruit_SSD1306.h>
|
||||
#ifdef HELTEC_WSL_V3_DISPLAY
|
||||
Adafruit_SSD1306 display(128, 64, &Wire1, OLED_RST);
|
||||
#if defined(TTGO_T_Beam_S3_SUPREME_V3)
|
||||
#include <Adafruit_SH110X.h>
|
||||
Adafruit_SH1106G display(128, 64, &Wire, OLED_RST);
|
||||
#else
|
||||
Adafruit_SSD1306 display(128, 64, &Wire, OLED_RST);
|
||||
#include <Adafruit_SSD1306.h>
|
||||
#ifdef HELTEC_WSL_V3_DISPLAY
|
||||
Adafruit_SSD1306 display(128, 64, &Wire1, OLED_RST);
|
||||
#else
|
||||
Adafruit_SSD1306 display(128, 64, &Wire, OLED_RST);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
|
@ -77,17 +82,30 @@ void displaySetup() {
|
|||
digitalWrite(OLED_RST, HIGH);
|
||||
#endif
|
||||
|
||||
if(display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
|
||||
displayFound = true;
|
||||
if (Config.display.turn180) display.setRotation(2);
|
||||
display.clearDisplay();
|
||||
display.setTextColor(WHITE);
|
||||
display.setTextSize(1);
|
||||
display.setCursor(0, 0);
|
||||
display.ssd1306_command(SSD1306_SETCONTRAST);
|
||||
display.ssd1306_command(1);
|
||||
display.display();
|
||||
}
|
||||
#if defined(TTGO_T_Beam_S3_SUPREME_V3)
|
||||
if (!display.begin(0x3c, false)) {
|
||||
displayFound = true;
|
||||
if (Config.display.turn180) display.setRotation(2);
|
||||
display.clearDisplay();
|
||||
display.setTextColor(SH110X_WHITE);
|
||||
display.setTextSize(1);
|
||||
display.setCursor(0, 0);
|
||||
display.setContrast(1);
|
||||
display.display();
|
||||
}
|
||||
#else
|
||||
if(display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
|
||||
displayFound = true;
|
||||
if (Config.display.turn180) display.setRotation(2);
|
||||
display.clearDisplay();
|
||||
display.setTextColor(WHITE);
|
||||
display.setTextSize(1);
|
||||
display.setCursor(0, 0);
|
||||
display.ssd1306_command(SSD1306_SETCONTRAST);
|
||||
display.ssd1306_command(1);
|
||||
display.display();
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
delay(1000);
|
||||
|
|
@ -104,7 +122,11 @@ void displayToggle(bool toggle) {
|
|||
display.printCenter("EPAPER Display Disabled by toggle...");
|
||||
display.update();
|
||||
#else
|
||||
if (displayFound) display.ssd1306_command(SSD1306_DISPLAYON);
|
||||
#if defined(TTGO_T_Beam_S3_SUPREME_V3)
|
||||
if (displayFound) display.oled_command(SH110X_DISPLAYON);
|
||||
#else
|
||||
if (displayFound) display.ssd1306_command(SSD1306_DISPLAYON);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
} else {
|
||||
|
|
@ -115,7 +137,12 @@ void displayToggle(bool toggle) {
|
|||
display.printCenter("Enabled EPAPER Display...");
|
||||
display.update();
|
||||
#else
|
||||
if (displayFound) display.ssd1306_command(SSD1306_DISPLAYOFF);
|
||||
#if defined(TTGO_T_Beam_S3_SUPREME_V3)
|
||||
if (displayFound) display.oled_command(SH110X_DISPLAYOFF);
|
||||
#else
|
||||
if (displayFound) display.ssd1306_command(SSD1306_DISPLAYOFF);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
|
@ -161,7 +188,11 @@ void displayShow(const String& header, const String& line1, const String& line2,
|
|||
#else
|
||||
if (displayFound) {
|
||||
display.clearDisplay();
|
||||
display.setTextColor(WHITE);
|
||||
#if defined(TTGO_T_Beam_S3_SUPREME_V3)
|
||||
display.setTextColor(SH110X_WHITE);
|
||||
#else
|
||||
display.setTextColor(WHITE);
|
||||
#endif
|
||||
display.setTextSize(1);
|
||||
display.setCursor(0, 0);
|
||||
display.println(header);
|
||||
|
|
@ -169,8 +200,12 @@ void displayShow(const String& header, const String& line1, const String& line2,
|
|||
display.setCursor(0, 8 + (8 * i));
|
||||
display.println(*lines[i]);
|
||||
}
|
||||
display.ssd1306_command(SSD1306_SETCONTRAST);
|
||||
display.ssd1306_command(1);
|
||||
#if defined(TTGO_T_Beam_S3_SUPREME_V3)
|
||||
display.setContrast(1);
|
||||
#else
|
||||
display.ssd1306_command(SSD1306_SETCONTRAST);
|
||||
display.ssd1306_command(1);
|
||||
#endif
|
||||
display.display();
|
||||
}
|
||||
#endif
|
||||
|
|
@ -219,17 +254,24 @@ void displayShow(const String& header, const String& line1, const String& line2,
|
|||
#else
|
||||
if (displayFound) {
|
||||
display.clearDisplay();
|
||||
display.setTextColor(WHITE);
|
||||
#if defined(TTGO_T_Beam_S3_SUPREME_V3)
|
||||
display.setTextColor(SH110X_WHITE);
|
||||
#else
|
||||
display.setTextColor(WHITE);
|
||||
#endif
|
||||
display.setTextSize(2);
|
||||
display.setCursor(0, 0);
|
||||
display.println(header);
|
||||
display.setTextSize(1);
|
||||
for (int i = 0; i < 6; i++) {
|
||||
display.setCursor(0, 16 + (8 * i));
|
||||
display.println(*lines[i]);
|
||||
}
|
||||
display.ssd1306_command(SSD1306_SETCONTRAST);
|
||||
display.ssd1306_command(1);
|
||||
#if defined(TTGO_T_Beam_S3_SUPREME_V3)
|
||||
display.setContrast(1);
|
||||
#else
|
||||
display.ssd1306_command(SSD1306_SETCONTRAST);
|
||||
display.ssd1306_command(1);
|
||||
#endif
|
||||
display.display();
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -4,9 +4,17 @@
|
|||
#include "power_utils.h"
|
||||
|
||||
#if defined(HAS_AXP192) || defined(HAS_AXP2101)
|
||||
#define I2C_SDA 21
|
||||
#define I2C_SCL 22
|
||||
#define IRQ_PIN 35
|
||||
#ifdef TTGO_T_Beam_S3_SUPREME_V3
|
||||
#define I2C0_SDA 17
|
||||
#define I2C0_SCL 18
|
||||
#define I2C1_SDA 42
|
||||
#define I2C1_SCL 41
|
||||
#define IRQ_PIN 40
|
||||
#else
|
||||
#define I2C_SDA 21
|
||||
#define I2C_SCL 22
|
||||
#define IRQ_PIN 35
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef HAS_AXP192
|
||||
|
|
@ -54,8 +62,13 @@ namespace POWER_Utils {
|
|||
#endif
|
||||
|
||||
#ifdef HAS_AXP2101
|
||||
#ifdef TTGO_T_Beam_S3_SUPREME_V3
|
||||
PMU.setALDO4Voltage(3300);
|
||||
PMU.enableALDO4();
|
||||
#else
|
||||
PMU.setALDO3Voltage(3300);
|
||||
PMU.enableALDO3();
|
||||
#endif
|
||||
#endif
|
||||
#ifdef HELTEC_WIRELESS_TRACKER
|
||||
digitalWrite(VEXT_CTRL, HIGH);
|
||||
|
|
@ -69,7 +82,11 @@ namespace POWER_Utils {
|
|||
#endif
|
||||
|
||||
#ifdef HAS_AXP2101
|
||||
PMU.disableALDO3();
|
||||
#ifdef TTGO_T_Beam_S3_SUPREME_V3
|
||||
PMU.disableALDO4();
|
||||
#else
|
||||
PMU.disableALDO3();
|
||||
#endif
|
||||
#endif
|
||||
#ifdef HELTEC_WIRELESS_TRACKER
|
||||
digitalWrite(VEXT_CTRL, LOW);
|
||||
|
|
@ -83,8 +100,13 @@ namespace POWER_Utils {
|
|||
PMU.enableLDO2();
|
||||
#endif
|
||||
#ifdef HAS_AXP2101
|
||||
PMU.setALDO2Voltage(3300);
|
||||
PMU.enableALDO2();
|
||||
#ifdef TTGO_T_Beam_S3_SUPREME_V3
|
||||
PMU.setALDO3Voltage(3300);
|
||||
PMU.enableALDO3();
|
||||
#else
|
||||
PMU.setALDO2Voltage(3300);
|
||||
PMU.enableALDO2();
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
@ -93,7 +115,11 @@ namespace POWER_Utils {
|
|||
PMU.disableLDO2();
|
||||
#endif
|
||||
#ifdef HAS_AXP2101
|
||||
PMU.disableALDO2();
|
||||
#ifdef TTGO_T_Beam_S3_SUPREME_V3
|
||||
PMU.disableALDO3();
|
||||
#else
|
||||
PMU.disableALDO2();
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
@ -111,20 +137,29 @@ namespace POWER_Utils {
|
|||
}
|
||||
return result;
|
||||
#elif defined(HAS_AXP2101)
|
||||
bool result = PMU.begin(Wire, AXP2101_SLAVE_ADDRESS, I2C_SDA, I2C_SCL);
|
||||
#ifdef TTGO_T_Beam_S3_SUPREME_V3
|
||||
bool result = PMU.begin(Wire1, AXP2101_SLAVE_ADDRESS, I2C1_SDA, I2C1_SCL);
|
||||
#else
|
||||
bool result = PMU.begin(Wire, AXP2101_SLAVE_ADDRESS, I2C_SDA, I2C_SCL);
|
||||
#endif
|
||||
if (result) {
|
||||
PMU.disableDC2();
|
||||
PMU.disableDC3();
|
||||
PMU.disableDC4();
|
||||
PMU.disableDC5();
|
||||
PMU.disableALDO1();
|
||||
PMU.disableALDO4();
|
||||
#ifndef TTGO_T_Beam_S3_SUPREME_V3
|
||||
PMU.disableALDO1();
|
||||
PMU.disableALDO4();
|
||||
#endif
|
||||
PMU.disableBLDO1();
|
||||
PMU.disableBLDO2();
|
||||
PMU.disableDLDO1();
|
||||
PMU.disableDLDO2();
|
||||
PMU.setDC1Voltage(3300);
|
||||
PMU.enableDC1();
|
||||
#ifdef TTGO_T_Beam_S3_SUPREME_V3
|
||||
PMU.setALDO1Voltage(3300);
|
||||
#endif
|
||||
PMU.setButtonBatteryChargeVoltage(3300);
|
||||
PMU.enableButtonBatteryCharge();
|
||||
PMU.disableIRQ(XPOWERS_AXP2101_ALL_IRQ);
|
||||
|
|
@ -152,8 +187,16 @@ namespace POWER_Utils {
|
|||
#endif
|
||||
|
||||
#ifdef HAS_AXP2101
|
||||
Wire.begin(SDA, SCL);
|
||||
if (begin(Wire)) {
|
||||
bool beginStatus = false;
|
||||
#ifdef TTGO_T_Beam_S3_SUPREME_V3
|
||||
Wire1.begin(I2C1_SDA, I2C1_SCL);
|
||||
Wire.begin(I2C0_SDA, I2C0_SCL);
|
||||
if (begin(Wire1)) beginStatus = true;
|
||||
#else
|
||||
Wire.begin(SDA, SCL);
|
||||
if (begin(Wire)) beginStatus = true;
|
||||
#endif
|
||||
if (beginStatus) {
|
||||
Serial.println("AXP2101 init done!");
|
||||
} else {
|
||||
Serial.println("AXP2101 init failed!");
|
||||
|
|
|
|||
37
variants/ttgo_t_beam_s3_SUPREME_v3/board_pinout.h
Normal file
37
variants/ttgo_t_beam_s3_SUPREME_v3/board_pinout.h
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
#ifndef BOARD_PINOUT_H_
|
||||
#define BOARD_PINOUT_H_
|
||||
|
||||
// LoRa Radio
|
||||
#define HAS_SX1262
|
||||
#define RADIO_SCLK_PIN 12
|
||||
#define RADIO_MISO_PIN 13
|
||||
#define RADIO_MOSI_PIN 11
|
||||
#define RADIO_CS_PIN 10
|
||||
#define RADIO_DIO0_PIN -1
|
||||
#define RADIO_RST_PIN 5
|
||||
#define RADIO_DIO1_PIN 1
|
||||
#define RADIO_BUSY_PIN 4
|
||||
|
||||
// Display
|
||||
#define HAS_DISPLAY
|
||||
|
||||
#undef OLED_SDA
|
||||
#undef OLED_SCL
|
||||
#undef OLED_RST
|
||||
|
||||
#define OLED_SDA 17
|
||||
#define OLED_SCL 18
|
||||
#define OLED_RST 16
|
||||
#define OLED_DISPLAY_HAS_RST_PIN
|
||||
|
||||
// Aditional Config
|
||||
#define HAS_AXP2101
|
||||
|
||||
// GPS
|
||||
#define HAS_GPS
|
||||
#define GPS_RX 8
|
||||
#define GPS_TX 9
|
||||
|
||||
#define BOARD_HAS_PSRAM
|
||||
|
||||
#endif
|
||||
12
variants/ttgo_t_beam_s3_SUPREME_v3/platformio.ini
Normal file
12
variants/ttgo_t_beam_s3_SUPREME_v3/platformio.ini
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
[env:ttgo_t_beam_s3_SUPREME_v3]
|
||||
board = esp32-s3-devkitc-1
|
||||
board_build.mcu = esp32s3
|
||||
build_flags =
|
||||
${common.build_flags}
|
||||
${common.usb_flags}
|
||||
-D TTGO_T_Beam_S3_SUPREME_V3
|
||||
lib_deps =
|
||||
${common.lib_deps}
|
||||
${common.display_libs}
|
||||
lewisxhe/XPowersLib @ 0.2.4
|
||||
adafruit/Adafruit SH110X @ 2.1.10
|
||||
Loading…
Reference in a new issue