Commit graph

42 commits

Author SHA1 Message Date
Piero Andreini
3eda2d6c8f feat: Native Espressif SDK for W5500 Ethernet on SX1276/SX1262
- Replaced ETHClass2 with esp_eth.h / esp_netif.h
- Both SX1262 and SX1276 variants tested and working
- Ethernet + Radio coexist correctly on native SDK
- Added IP validation in CommonCLI.cpp to prevent boot-time garbage:
  * isValidUnicastIp() — rejects 0.x.x.x and >=224.x.x.x
  * isValidSubnetMask() — rejects non-contiguous masks
  * Applied in loadPrefsInt to zero out corrupted eth_* fields before netif apply
  * This fixes the 254.192.168.254 stale SPIFFS issue
2026-04-20 22:21:10 +02:00
Piero Andreini
b1d7edc1e7 security/fix: Final review corrections for Ethernet runtime config
Security fixes:
- IP validation: bounds checking for octets (0-255)
- ETH.config() return value now checked with distinct logging
- set ip 0.0.0.0 now enables DHCP (was rejected before)

Documentation:
- Fixed typo: 'thevalue' → 'the value'
- Added missing: advert.zerohop command documentation
- Clarified IP configuration behavior (DHCP, ETH_STATIC_IP fallback, reset to DHCP)

All identified issues addressed or documented as out-of-scope.
PR #2260 ready for maintainer review.
2026-04-20 22:21:10 +02:00
Piero Andreini
4542e6c86a feat: Add Ethernet runtime configuration CLI
- Add ip/gw/subnet/dns get/set commands with SPIFFS persistence
- Implement reconfigureEthernet() method for runtime config
- Fix TCP_CONSOLE_PORT conditional compilation
- Update platformio.ini for consistency (USE_ETHERNET)
- Document Ethernet settings and get bridge.type command
- Fixes #2196 #2197 hardware and console dependencies
2026-04-20 22:21:10 +02:00
Piero Andreini
b849d1c01b Fix TCPConsole to use runtime NodePrefs password instead of compile-time ADMIN_PASSWORD 2026-04-20 22:21:10 +02:00
Piero Andreini
b2be547c33 Add OTA support via Ethernet for T-ETH-Elite 2026-04-20 22:21:10 +02:00
Piero Andreini
add48e5cbe Fix analog_btn and UITask.cpp ESP32-S3 compilation errors 2026-04-20 22:21:10 +02:00
Piero Andreini
d4d98ebbbe Add TCP console for remote management via telnet/netcat 2026-04-20 22:21:10 +02:00
Piero Andreini
e97d6849d2 Add ETHClass2 lib, board definition and ETH companion radio support 2026-04-20 22:21:10 +02:00
Piero Andreini
de00cebbbb Add LilyGo T-ETH-Elite support (SX1262 and SX1276) 2026-04-20 22:21:10 +02:00
Brian Widdas
811ac1cd02 Add missing methods in ESPNOWRadio()
ESP-NOW radios (ie, Generic_ESPNOW_* variants) do not compile due to
missing methods

Changes in January 2026 (019bbf74) to add additional stats (receive errors)
to CMD_GET_STATS was not implemented in the ESPNOWRadio() class

Changes in March 2026 (9a95e25e) to add setRxBoostedGainMode to all devices
rather than just SX1262/SX1268 were not applied to the ESPNowRadio() driver

Specifically, this change adds the following to ESPNOWRadio()
* getPacketsRecvErrors()    - always returns 0
* getRxBoostedGainMode()    - always returns false
* setRxBoostedGainMode()    - does nothing
2026-03-30 04:25:08 +01:00
recrof
cafc212bb2 fix M5Stack Unit M6L build errors 2026-02-15 11:25:27 +01:00
Scott Powell
3c27132914 * T1000e BLE - default node name is now the MAC address 2026-01-23 15:53:58 +11:00
ripplebiz
09005fa455
Merge pull request #1308 from liamcottle/fix/wifi-interface-frames
Fix: WiFi Interface Frame Parsing
2026-01-04 16:19:57 +11:00
liamcottle
8708fa012a simplify reading frame header 2026-01-04 17:43:25 +13:00
liamcottle
71bb49e556 remove use of dynamic allocation 2026-01-03 16:36:19 +13:00
liamcottle
ed263b0727 implement frame header parising for wifi interface 2026-01-03 15:39:57 +13:00
Kevin Le
def1902688 Fixed T-Beam board to work with sleep 2025-12-24 12:04:39 +07:00
ViezeVingertjes
c10c010736 fix: only hide pin after successful authentication in SerialBLEInterface 2025-09-06 22:06:47 +02:00
liamcottle
796b4c705c disconnect existing wifi client when new connection established 2025-08-29 19:50:05 +12:00
Scott Powell
4b95c981bb * UI revamp for companion radios 2025-08-08 20:01:31 +10:00
Scott Powell
b37c8017d9 * Fix: /helpers/esp32/TBeamBoard was breaking non-TBeam builds 2025-06-25 14:04:29 +10:00
cod3doomy
218b96e4aa T-Beam refactor
There is a lot to this PR, so if there are any questions let me know.

The idea here is to merge T-Beam fw so that there is less redundant code. Most versions (except the 0.7) share PMU code, init sequence, and most IO pin definitions.

- Merged all T-Beam board.h files into one TBeamBoard.
- Added PMU code to identify different AXP chips.
- Modified "lilygo tbeam SX1276" variant to cover all T-Beam SX1276 versions
- Modified "lilygo tbeam SX1262" variant to cover all T-Beam SX1262 versions
- Enabled GPS on all T-Beam versions/models
- Enabled BME280 on the Supreme

I am also updating EnvironmentSensorManager to allow for boards that do or don't have GPS enable pins, as well as a PERSISTANT_GPS define check for boards that want GPS to stay active after boot.
2025-06-22 17:46:30 -07:00
Scott Powell
436a99f088 * BLE_WRITE_MIN_INTERVAL upped to 60 millis 2025-05-17 19:54:31 +10:00
Scott Powell
805ca7b900 * CommonCLI: added "clear stats" command 2025-05-13 18:12:58 +10:00
Scott Powell
177dd90ca1 * Repeater/Room server: new diagnostics, stats.n_full_events now repurposed to 'err_events' (bit flags)
* new Radio::isInRecvMode() method
2025-05-13 15:38:10 +10:00
Scott Powell
b08436eba7 * startSendRaw() now returns false if fail 2025-05-12 17:26:44 +10:00
Scott Powell
e1092118d9 * ESPNOW: packet rx/tx counters 2025-04-24 12:16:55 +10:00
Scott Powell
00f0bb7471 * ESPNOW: now using hardware RNG for radio_new_identity() 2025-04-24 10:59:01 +10:00
Scott Powell
0d5c17f7ed * ESP-Now: long range mode 2025-03-29 13:27:17 +11:00
Scott Powell
2224bddcb5 * new ESPNOWRadio driver
* refactored the examples/*/main.cpp modules, moving radio specifics to variants/*/target modules
* new Generic_ESPNOW_* target envs
2025-03-27 19:34:16 +11:00
Scott Powell
321a9425da * experiment: enabling forwarding in terminal chat 2025-03-26 03:57:36 +11:00
Scott Powell
1220c69aa9 * wifi power max 2025-03-25 15:13:07 +11:00
Scott Powell
8355543366 * more experiments 2025-03-25 01:26:46 +11:00
Scott Powell
7bd7bfb14a * ESP-NOW experiment with terminal-chat 2025-03-24 21:16:00 +11:00
Scott Powell
5c4ec1bc22 * SerialWifiInterface: misc tidy-ups 2025-03-04 14:04:47 +11:00
Florent de Lamotte
03293be892 new Heltec_v3_companion_radio_wifi target 2025-03-03 13:26:37 +01:00
Scott Powell
be2af61dfe * ESP32: SerialBLEInterface, delay(500) not needed 2025-02-26 21:08:54 +11:00
Scott Powell
54af8ad2a9 * esp32 SerialBLEInterface: 1 second delay now applied before testing whether to re-start advertising 2025-02-26 20:53:31 +11:00
liamcottle
abb2dea321 don't set encryption level on device as it's set on each characteristic 2025-02-26 20:24:14 +13:00
liamcottle
83c827ce85 enforce pin being used for ble pairing on esp32 2025-02-26 17:04:44 +13:00
Scott Powell
5395214ef2 * companion radio: new RESP_CODE_NO_MORE_MESSAGES response 2025-02-06 22:39:33 +11:00
Scott Powell
d9dc76f197 * new helper for ESP32: SerialBLEInterface
* Some refactoring in BaseChatMesh and Terminal Chat
* new companion_radio example
2025-01-28 20:30:15 +11:00