Skip to content

retire radioserver: the emulators hold the chip now - #18

Merged
A13xB0 merged 1 commit into
mainfrom
radioserver-retires
Sep 3, 2026
Merged

A13xB0 merged 1 commit into
mainfrom
radioserver-retires

Conversation

@A13xB0

@A13xB0 A13xB0 commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

This repository builds MeshCore for this host. radioserver was here only
because the chip model used to be here too: it wrapped VirtualSX1262 behind a
socket so QEMU and Renode could reach the same model a native node links. The
model moved to MeshBench/virtual-sx1262
in #14, and both emulators now load it directly, so nothing calls this and
nothing needs to.

Why the socket was worth removing, beyond the round trips

  • It framed SPI a byte at a time, a path less exercised than the buffered
    one. That is how the model came to answer GetRssiInst correctly for a native
    node and with zero for an emulated one for months, which is where the firmware
    takes its entropy: every emulated board derived its identity from a constant.
  • DIO1 could only be polled, because the protocol was request-response. A
    millisecond is a long time to hold a receive interrupt, and a packet delivered
    and acknowledged inside one sampling gap raised the pin never.
  • It put three clocks in three processes in front of anybody asking what
    happened when.

What stays

The submodule. A native node compiles the model in, which is what keeps it the
same chip the emulators load, from the same commit. NOTICE.md now says that
rather than the old reason.

The published radioserver-v1..v3 releases stay where they are, so an older
MeshBench keeps working. Nothing new is cut.

What goes

bridge/radioserver.cpp, the radioserver branch of build.sh, its two
release jobs, its pull-request job, RADIOSERVER_PLATFORMS, the
radioserver_only input, and radioserver.version.

Checked

simple_repeater for linux-amd64 still builds from this tree, and the
pull-request workflow that remains is the job that proves it.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Q9HbD44EKWWTRYgxbFGxf6

This repository builds MeshCore for this host. radioserver was here only
because the chip model used to be here too: it wrapped VirtualSX1262 behind a
socket so QEMU and Renode could reach the same model a native node links. The
model moved to MeshBench/virtual-sx1262 in #14, and both emulators now load it
directly, so nothing calls this and nothing needs to.

What that arrangement cost, beyond the round trips: it framed SPI a byte at a
time, which is how the model came to answer GetRssiInst correctly for a native
node and with zero for an emulated one for months; it left DIO1 pollable only,
because the protocol was request-response; and it put three clocks in three
processes in front of anybody asking what happened when.

The submodule stays. A native node compiles the model in, which is what keeps
it the same chip as the one the emulators load, from the same commit.

Gone: bridge/radioserver.cpp, the radioserver branch of build.sh, its two
release jobs, its pull-request job, RADIOSERVER_PLATFORMS, the
radioserver_only input and radioserver.version. The published
radioserver-v1..v3 releases stay where they are; nothing new is cut.

A native role still builds: simple_repeater for linux-amd64, from this tree.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q9HbD44EKWWTRYgxbFGxf6
@A13xB0
A13xB0 merged commit 30e0370 into main Sep 3, 2026
1 check passed
@A13xB0
A13xB0 deleted the radioserver-retires branch September 3, 2026 23:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants