This commit is contained in:
Andreas 'count' Kotes 2025-06-07 23:09:19 +02:00 committed by GitHub
commit 3b56c89600
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 88 additions and 26 deletions

View File

@ -88,10 +88,16 @@ class BluetoothStatus : public Status
break; break;
case ConnectionState::CONNECTED: case ConnectionState::CONNECTED:
LOG_DEBUG("BluetoothStatus CONNECTED"); LOG_DEBUG("BluetoothStatus CONNECTED");
#ifdef BLE_LED
digitalWrite(BLE_LED, HIGH);
#endif
break; break;
case ConnectionState::DISCONNECTED: case ConnectionState::DISCONNECTED:
LOG_DEBUG("BluetoothStatus DISCONNECTED"); LOG_DEBUG("BluetoothStatus DISCONNECTED");
#ifdef BLE_LED
digitalWrite(BLE_LED, LOW);
#endif
break; break;
} }
} }
@ -102,4 +108,4 @@ class BluetoothStatus : public Status
} // namespace meshtastic } // namespace meshtastic
extern meshtastic::BluetoothStatus *bluetoothStatus; extern meshtastic::BluetoothStatus *bluetoothStatus;

View File

@ -345,6 +345,16 @@ void setup()
digitalWrite(USER_LED, HIGH ^ LED_STATE_ON); digitalWrite(USER_LED, HIGH ^ LED_STATE_ON);
#endif #endif
#ifdef WIFI_LED
pinMode(WIFI_LED, OUTPUT);
digitalWrite(WIFI_LED, LOW);
#endif
#ifdef BLE_LED
pinMode(BLE_LED, OUTPUT);
digitalWrite(BLE_LED, LOW);
#endif
#if defined(T_DECK) #if defined(T_DECK)
// GPIO10 manages all peripheral power supplies // GPIO10 manages all peripheral power supplies
// Turn on peripheral power immediately after MUC starts. // Turn on peripheral power immediately after MUC starts.

View File

@ -327,9 +327,15 @@ static void WiFiEvent(WiFiEvent_t event)
break; break;
case ARDUINO_EVENT_WIFI_STA_CONNECTED: case ARDUINO_EVENT_WIFI_STA_CONNECTED:
LOG_INFO("Connected to access point"); LOG_INFO("Connected to access point");
#ifdef WIFI_LED
digitalWrite(WIFI_LED, HIGH);
#endif
break; break;
case ARDUINO_EVENT_WIFI_STA_DISCONNECTED: case ARDUINO_EVENT_WIFI_STA_DISCONNECTED:
LOG_INFO("Disconnected from WiFi access point"); LOG_INFO("Disconnected from WiFi access point");
#ifdef WIFI_LED
digitalWrite(WIFI_LED, LOW);
#endif
if (!isReconnecting) { if (!isReconnecting) {
WiFi.disconnect(false, true); WiFi.disconnect(false, true);
syslog.disable(); syslog.disable();
@ -378,9 +384,15 @@ static void WiFiEvent(WiFiEvent_t event)
break; break;
case ARDUINO_EVENT_WIFI_AP_START: case ARDUINO_EVENT_WIFI_AP_START:
LOG_INFO("WiFi access point started"); LOG_INFO("WiFi access point started");
#ifdef WIFI_LED
digitalWrite(WIFI_LED, HIGH);
#endif
break; break;
case ARDUINO_EVENT_WIFI_AP_STOP: case ARDUINO_EVENT_WIFI_AP_STOP:
LOG_INFO("WiFi access point stopped"); LOG_INFO("WiFi access point stopped");
#ifdef WIFI_LED
digitalWrite(WIFI_LED, LOW);
#endif
break; break;
case ARDUINO_EVENT_WIFI_AP_STACONNECTED: case ARDUINO_EVENT_WIFI_AP_STACONNECTED:
LOG_INFO("Client connected"); LOG_INFO("Client connected");
@ -474,4 +486,4 @@ uint8_t getWifiDisconnectReason()
{ {
return wifiDisconnectReason; return wifiDisconnectReason;
} }
#endif #endif

View File

@ -171,6 +171,11 @@ void NimbleBluetooth::deinit()
{ {
#ifdef ARCH_ESP32 #ifdef ARCH_ESP32
LOG_INFO("Disable bluetooth until reboot"); LOG_INFO("Disable bluetooth until reboot");
#ifdef BLE_LED
digitalWrite(BLE_LED, LOW);
#endif
NimBLEDevice::deinit(); NimBLEDevice::deinit();
#endif #endif
} }

View File

@ -332,7 +332,7 @@ void doDeepSleep(uint32_t msecToWake, bool skipPreflight = false, bool skipSaveN
} }
#endif #endif
#if defined(ARCH_ESP32) && defined(I2C_SDA) #if !MESHTASTIC_EXCLUDE_I2C && defined(ARCH_ESP32) && defined(I2C_SDA)
// Added by https://github.com/meshtastic/firmware/pull/4418 // Added by https://github.com/meshtastic/firmware/pull/4418
// Possibly to support Heltec Capsule Sensor? // Possibly to support Heltec Capsule Sensor?
Wire.end(); Wire.end();
@ -542,4 +542,4 @@ void enableLoraInterrupt()
} }
#endif #endif
} }
#endif #endif

View File

@ -3,4 +3,21 @@
extends = esp32_base extends = esp32_base
board = heltec_wifi_lora_32 board = heltec_wifi_lora_32
build_flags = build_flags =
${esp32_base.build_flags} -D HELTEC_WIRELESS_BRIDGE -I variants/heltec_wireless_bridge ${esp32_base.build_flags}
-I variants/heltec_wireless_bridge
-D HELTEC_WIRELESS_BRIDGE
-D BOARD_HAS_PSRAM
-D RADIOLIB_EXCLUDE_LR11X0=1
-D RADIOLIB_EXCLUDE_SX128X=1
-D MESHTASTIC_EXCLUDE_CANNEDMESSAGES=1
-D MESHTASTIC_EXCLUDE_DETECTIONSENSOR=1
-D MESHTASTIC_EXCLUDE_ENVIRONMENTAL_SENSOR=1
-D MESHTASTIC_EXCLUDE_ENVIRONMENTAL_SENSOR_EXTERNAL=1
-D MESHTASTIC_EXCLUDE_EXTERNALNOTIFICATION=1
-D MESHTASTIC_EXCLUDE_GPS=1
-D MESHTASTIC_EXCLUDE_I2C=1
-D MESHTASTIC_EXCLUDE_INPUTBROKER=1
-D MESHTASTIC_EXCLUDE_POWER_FSM=1
-D MESHTASTIC_EXCLUDE_SERIAL=1
-D MESHTASTIC_EXCLUDE_SCREEN=1
-D MESHTASTIC_EXCLUDE_WAYPOINT=1

View File

@ -1,29 +1,41 @@
// the default ESP32 Pin of 15 is the Oled SCL, set to 36 and 37 and works fine.
// Tested on Neo6m module. // updated variant 20250420 berlincount, tested with HTIT-TB
//
// connections in HTIT-WB
// per https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
// md5: a0e6ae10ff76611aa61433366b2e4f5c esp32_datasheet_en.pdf
// per https://resource.heltec.cn/download/Wireless_Bridge/Schematic_Diagram_HTIT-WB_V0.2.pdf
// md5: d5c1b0219ece347dd8cee866d7d3ab0a Schematic_Diagram_HTIT-WB_V0.2.pdf
#define NO_EXT_GPIO 1
#define NO_GPS 1
#define HAS_GPS 0 // GPS is not equipped
#undef GPS_RX_PIN #undef GPS_RX_PIN
#undef GPS_TX_PIN #undef GPS_TX_PIN
#define GPS_RX_PIN 36
#define GPS_TX_PIN 33
#ifndef USE_JTAG // gpio15 is TDO for JTAG, so no I2C on this board while doing jtag // Green / Lora = PIN 22 / GPIO2, Yellow / Wifi = PIN 23 / GPIO0, Blue / BLE = PIN 25 / GPIO16
#define I2C_SDA 4 // I2C pins for this board #define LED_PIN 22
#define I2C_SCL 15 #define WIFI_LED 23
#endif #define BLE_LED 25
#define LED_PIN 25 // If defined we will blink this LED
#define BUTTON_PIN 0 // If defined, this will be used for user button presses
// ESP32-D0WDQ6 direct pins SX1276
#define USE_RF95 #define USE_RF95
#define LORA_DIO0 26 // a No connect on the SX1262 module #define LORA_DIO0 26
#ifndef USE_JTAG
#define LORA_RESET 14
#endif
#define LORA_DIO1 35 #define LORA_DIO1 35
#define LORA_DIO2 34 // Not really used #define LORA_DIO2 34
#define LORA_SCK 05
#define LORA_MISO 19
#define LORA_MOSI 27
#define LORA_CS 18
// ratio of voltage divider = 3.20 (R1=100k, R2=220k) // several things are not possible with JTAG enabled
#define ADC_MULTIPLIER 3.2 #ifndef USE_JTAG
#define LORA_RESET 14 // LoRa Reset shares a pin with MTMS
#define I2C_SDA 4 // SD_DATA1 going to W25Q64, but
#define I2C_SCL 15 // SD_CMD shared a pin with MTD0
#endif
#define BATTERY_PIN 13 // A battery voltage measurement pin, voltage divider connected here to measure battery voltage // user button is present on device, but currently untested & unconfigured - couldn't figure out how it's connected
#define ADC_CHANNEL ADC2_GPIO13_CHANNEL
#define BAT_MEASURE_ADC_UNIT 2 // battery support is present within device, but currently untested & unconfigured - couldn't find reliable information yet