Skip to content

Initial implementation of serialHal#10351

Open
jp-bennett wants to merge 11 commits into
developfrom
serialHal
Open

Initial implementation of serialHal#10351
jp-bennett wants to merge 11 commits into
developfrom
serialHal

Conversation

@jp-bennett

Copy link
Copy Markdown
Collaborator

Depends on meshtastic/protobufs#904

This adds two big chunks of code, half of which only lives inside the Portduino platform. It gives handheld nodes the ability to work as a proxy for radiolib running on Native. In other words, a node can effectively emulate a ch341 device.

There's also a pretty obvious path here to build a Meshtastic-micro firmware, that only provides this functionality. This should run on devices that were previously completely unworkable, and at least provide some use-case for them.

Lots of copilot usage here, and probably a few bits where code can be cleaned up as a result, but overall seems pretty sane.

@github-actions github-actions Bot added needs-review Needs human review hardware-support Hardware related: new devices or modules, problems specific to hardware labels Apr 30, 2026
@jp-bennett jp-bennett added enhancement New feature or request and removed hardware-support Hardware related: new devices or modules, problems specific to hardware needs-review Needs human review labels Apr 30, 2026
}
}

void SerialHalDevice::handleCommand(const uint8_t *buf, size_t len, StreamAPI *streamApi)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be possible to just check for an existing radiolib instance here, and delete it if found. This could be a parallel or alternative approach to the config.lora config entry.

@github-actions

Copy link
Copy Markdown
Contributor

Firmware Size Report

22 targets | vs develop: 22 increased, net +290,316 (+283.5 KB)

Target Size vs develop
station-g3 2,262,400 📈 +16,688 (+16.3 KB)
t-deck-tft 3,807,264 📈 +16,672 (+16.3 KB)
seeed-xiao-s3 2,271,888 📈 +16,480 (+16.1 KB)
rak3312 2,267,920 📈 +16,448 (+16.1 KB)
heltec-v3 2,259,872 📈 +16,144 (+15.8 KB)
Show 17 more target(s)
Target Size vs develop
elecrow-adv-35-tft 3,412,496 📈 +16,000 (+15.6 KB)
heltec-vision-master-e213-inkhud 2,220,480 📈 +15,952 (+15.6 KB)
t-eth-elite 2,486,208 📈 +15,760 (+15.4 KB)
rak11200 1,856,160 📈 +15,280 (+14.9 KB)
picow 1,240,572 📈 +14,248 (+13.9 KB)
heltec-ht62-esp32c3-sx1262 2,129,808 📈 +14,240 (+13.9 KB)
tlora-c6 2,363,184 📈 +14,192 (+13.9 KB)
pico2w 1,216,492 📈 +13,548 (+13.2 KB)
pico 778,976 📈 +13,408 (+13.1 KB)
seeed_xiao_rp2040 777,176 📈 +13,408 (+13.1 KB)
rak11310 801,456 📈 +13,280 (+13.0 KB)
seeed_xiao_rp2350 764,472 📈 +12,760 (+12.5 KB)
pico2 766,288 📈 +12,720 (+12.4 KB)
heltec-v4 2,271,904 📈 +7,600 (+7.4 KB)
station-g2 2,262,384 📈 +7,408 (+7.2 KB)
wio-e5 237,364 📈 +4,144 (+4.0 KB)
rak3172 184,964 📈 +3,936 (+3.8 KB)

Updated for f58542f

@github-actions

Copy link
Copy Markdown
Contributor

⚡ Try this PR in the Web Flasher

Flash this PR in the Web Flasher

firmware commit boards expires

Warning

This is an automated, unreviewed CI test build. Back up your device configuration
before flashing, and only flash devices you are able to recover.

Supported boards built by this PR (24)
Device Board Platform
Crowpanel Adv 3.5 TFT elecrow-adv-35-tft esp32-s3
Heltec HT62 heltec-ht62-esp32c3-sx1262 esp32-c3
Heltec Mesh Node 096 heltec-mesh-node-t096 nrf52840
Heltec Mesh Node T1 heltec-mesh-node-t1 nrf52840
Heltec Mesh Node T114 heltec-mesh-node-t114 nrf52840
Heltec V3 heltec-v3 esp32-s3
Heltec V4 heltec-v4 esp32-s3
Raspberry Pi Pico pico rp2040
Raspberry Pi Pico W picow rp2040
RAK WisMesh Tag rak_wismeshtag nrf52840
RAK WisBlock 11200 rak11200 esp32
RAK WisBlock 11310 rak11310 rp2040
RAK3312 rak3312 esp32-s3
RAK WisBlock 4631 rak4631 nrf52840
Seeed Wio Tracker L1 seeed_wio_tracker_L1 nrf52840
Seeed Xiao NRF52840 Kit seeed_xiao_nrf52840_kit nrf52840
Seeed Xiao ESP32-S3 seeed-xiao-s3 esp32-s3
Station G2 station-g2 esp32-s3
Station G3 station-g3 esp32-s3
LILYGO T-Deck t-deck-tft esp32-s3
LILYGO T-Echo t-echo nrf52840
LILYGO T-Echo Plus t-echo-plus nrf52840
LilyGo T3-C6 tlora-c6 esp32-c6
Seeed SenseCAP T1000-E tracker-t1000-e nrf52840

Build artifacts expire on 2026-07-22. Updated for 7f0bdb7.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants