62 Commits
Author SHA1 Message Date
liquidraver 81a43f6dd1 west update and upstream dev sync 2026-09-02 10:01:34 +02:00
liquidraver efa5240b69 add meshnology w12 2026-08-30 22:29:21 +02:00
liquidraver 5372f1d8a2 auto-enable esp32s3 USB CDC companion in CMakeLists; board.overlay first in overlay order; esp32s3 download-mode reboot 2026-08-28 10:32:49 +02:00
liquidraver ea86815c95 fix LNA/FEM control 2026-08-25 14:04:32 +02:00
liquidraver 6b5e892b38 wirelesstracker improvements 2026-08-24 10:44:28 +02:00
liquidraver 174bce80d9 cleanup/bugfix run 2026-08-23 09:45:14 +02:00
liquidraver 5302d21801 wireless tracker display inversion and button wake fixes 2026-08-22 22:48:27 +02:00
liquidraver 2c4c3a07c3 t3s3 fixes 2026-08-22 11:10:05 +02:00
Max Beffert c4672ce85e T3S3 support 2026-08-18 16:33:39 +02:00
liquidraver 216012574e X1 barometrification 2026-08-14 14:01:18 +02:00
liquidraver 788e4dd48b PM debug v2 2026-07-31 17:19:55 +02:00
liquidraver cceb6606e1 fix observer role 2026-07-30 09:55:16 +02:00
liquidraver ab4ea6d87c ESP power saving p1 2026-07-30 09:33:03 +02:00
liquidraver 63155b4d44 thinknode m9 stuff + temp remove from build.sh 2026-07-23 08:40:31 +02:00
liquidraver 076fbb7ff3 m9 and rng polishing 2026-07-21 22:49:48 +02:00
liquidraver 24936cc4e5 fix M9 debug build 2026-07-21 19:02:17 +02:00
liquidraver 16041b0f3a M9 keys P1 2026-07-21 15:55:51 +02:00
liquidraver 47f24a0b1c M9 SD card settle 2026-07-21 15:29:05 +02:00
liquidraver 13b5e2fcf3 scrub APC and bump to 1.16.6 2026-07-20 09:55:32 +02:00
liquidraver 16c7ae506a port thinknode m9 2026-07-18 20:30:38 +02:00
liquidraver 28e2126dcc add GPS to heltecv3 2026-07-16 13:02:00 +02:00
liquidraver dc1239537e SmartCAD p1 2026-07-12 10:48:37 +02:00
liquidraver 603f0e15f6 refactor all ESP partitioning 2026-07-09 22:16:54 +02:00
liquidraver 4bcefbcda7 mirror PR #51 onto V4.3 2026-07-07 22:36:26 +02:00
liquidraverandClaude Opus 4.8 4246f94ae1 Merge pull request #51 from etienn01/fix-heltec-v4-display-and-boot
Fix Heltec V4 display (Vext PMOS polarity) and Xtensa TX-wait stack overflow.

Conflict in heltec_wifi_lora32_v4_procpu.dts resolved: kept the corrected
BatADC header line from 247ca65 (GPIO1 = ADC1_CH0 / &adc0, GPIO37 active-HIGH)
and took the PR Vext change (GPIO36 active-LOW PMOS rail switch).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 22:18:09 +02:00
liquidraver 247ca655a8 fix heltec v3/4/4.3 0% battery 2026-07-07 21:25:59 +02:00
Étienne Fesser 2a26e830e2 Fix Heltec V4 Vext polarity (OLED never powered)
The V4's Vext rail switch is a PMOS: GPIO36 LOW turns the rail ON.
The DTS drove it ACTIVE_HIGH, leaving the OLED (and its I2C pull-ups)
unpowered — the rail floats at ~1.6V and SSD1306 init always fails
with -ETIMEDOUT.

Verified on hardware with a multimeter: GPIO36 high = 1.6V on Vext,
GPIO36 low = 3.3V, display works.

This matches what the working Arduino MeshCore firmware actually does
with the pin, despite its PIN_VEXT_EN_ACTIVE=HIGH define:
RefCountedDigitalPin::begin() initialises the pin to its *inactive*
level (LOW), and the V4 OLED build constructs the display with a NULL
periph_power (variants/heltec_v4/target.cpp) so nothing ever claims
it HIGH. GPIO36 is therefore driven LOW continuously under Arduino —
the exact state this fix reproduces via an ACTIVE_LOW boot-on
regulator.
2026-07-06 19:26:17 +02:00
Étienne Fesser b62507f68b Fix Heltec Wireless Tracker v1/v2 display offset 2026-07-04 22:30:43 +02:00
liquidraver 74aa3810ee Merge pull request #47 from matthew73210/master
Reworked the screen pages
2026-07-04 12:51:15 +02:00
liquidraver e12f5fce8c heltec v4 battery reading fix 2026-07-04 11:26:01 +02:00
liquidraver 487693f669 update documentation 2026-07-04 09:41:09 +02:00
Matthew Burton 955acca8b0 Added the WTv2 2026-07-04 07:28:17 +02:00
liquidraver bd363781ac companion hybrid refactor v1 2026-06-23 22:45:25 +02:00
liquidraver 550b77fd63 set default tx to around 22dBm for all PA boards 2026-06-18 09:32:49 +02:00
liquidraver e6016064f4 activate NVS on ESP 2026-06-16 21:20:27 +02:00
liquidraver f6c7ca8ec4 fixup wireless tracker 2026-06-16 13:40:31 +02:00
liquidraver 3dba7d460e Merge pull request #37 from seagull9000/feat/heltec-wireless-tracker
boards: add Heltec Wireless Tracker (V1.1) — ESP32-S3 + SX1262
2026-06-16 13:29:55 +02:00
liquidraver 4ec6f27202 password compare bug fix 2026-06-16 12:36:54 +02:00
John MillingtonandClaude Opus 4.8 f514d84a5c boards: add Heltec Wireless Tracker (V1.1) — ESP32-S3 + SX1262
New companion variant for the Heltec Wireless Tracker V1.1 (ESP32-S3-FN8 +
SX1262 + ST7735R 160x80 TFT + UC6580 GPS).  Overlay + conf only; no driver,
CMake, or patch changes.

Board-specific fixes worth calling out:

- Battery ADC on &adc0 (ADC unit 1 -> GPIO1), NOT &adc1.  In the upstream
  esp32s3 DTS the node *labelled* adc1 is unit 2, whose channel 0 is GPIO11 =
  the SX1262 MISO.  adc_esp32_channel_setup() drives the channel pad to
  GPIO_DISCONNECTED, clearing GPIO11's input buffer — which silently broke ALL
  LoRa SPI reads (reads returned 0x00 -> every LBT CAD timed out) and also
  sampled the wrong pin (battery read 0%).  Removed the upstream 'vbatt'
  voltage-divider (also on &adc1) and disabled adc1 so nothing claims GPIO11.

- Battery divider enable on GPIO2 active-HIGH (v1.1 ADC_CTRL), not the V3's
  GPIO37/active-LOW (which never powered this board's divider).

- SX1262 on SPI2 with driver GPIO CS; DIO1 pull-down + rx-boosted.

- GPS run line (GPIO35) exposed via the gps-enable alias; GPS is powered from
  the always-on Vext rail.  GPIO36 (GPS PPS, an output) left unconfigured.

- Status LED on GPIO18 exposed as led0 (ZephCore heartbeat).  UART1 — which the
  upstream DTS parks on GPIO17/18 — disabled so the LED isn't stuck on.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 08:18:20 +12:00
liquidraver b97d079e56 wire button to t-beam 2026-06-15 14:14:03 +02:00
liquidraver f2d2876637 no OTA on t-beam repeaters 2026-06-15 11:59:49 +02:00
liquidraver 18b63bd6f5 Add Lilygo T-beam 1.2 (SX1262) 2026-06-14 14:00:51 +02:00
liquidraver 2ad185bab4 license "refactor" :) 2026-06-07 22:47:17 +02:00
liquidraver 553b71c44a Make production the default build; decouple USB companion from CONFIG_LOG
Production (LOG=n, ASSERT=n, RTT=n, reboot-on-fatal) is now the prj.conf
default; debug.conf is the opt-in bundle. Removed prod.conf and the
logging.conf auto-include; relocated RTT/ASSERT out of the always-on
platform confs so they no longer override the prod defaults.

Add CONFIG_ZEPHCORE_COMPANION_USB so the USB CDC companion transport
compiles independently of logging (default-y on USB-capable companions,
opt-in on ESP32-S3 via esp32s3_usb.conf). Gate all USB sites behind one
ZEPHCORE_USB_STACK macro.

Rework BLE/USB interface arbitration to first-come-first-served: neither
transport evicts a live session. Make active_iface mutation thread-safe
(mutex + atomic claim) across the BLE callback thread and USB workqueue.

Share the ESP32-S3 USB OTG / console DTS via common dtsi includes; enable
uart0 (GPIO43/44) on station_g2 and xiao so the console reroute works.
2026-05-30 21:05:42 +02:00
liquidraver b271179cc9 activate PSRAM in capable devices to fit OTA 2026-05-18 22:31:04 +02:00
liquidraver 83fca69782 remove hardcoded max TX, set optional defaults instead 2026-04-24 22:46:03 +02:00
liquidraver cba81af196 heltec v3/v4 oled&button changes 2026-04-16 13:40:30 +02:00
liquidraver 03fd4e0fc7 heltec v3 console fix 2026-04-09 13:52:15 +02:00
liquidraver 3b3eff7aab initial port of heltec v4 and v4.3 boards 2026-04-08 11:21:44 +02:00
Rastislav Vysoky da22b127c3 sx1276 2026-04-07 19:05:32 +02:00