mirror of
https://github.com/MCKero6423/uv-k5-v3-emulator.git
synced 2026-10-02 03:15:36 +00:00
Let the page ask the radio whether it sees an installed app
GET /api/apps/radio opens the firmware's serial port and sends 0x0730 for all sixteen slots, so the answer comes from the running firmware rather than from our reading of the file -- which is the check that matters, because the bytes can be right and the firmware still refuse a slot. Measured through the page after installing Beam.app into slot 0: slot 0 -> Beam 1.0, 1100 B, crc 0xd976058, shortcut beam, committed; slots 1..3 -> status 2 with unrelated data, the resource-block overlap the install guard refuses. A button beside the table asks it and shows the answer in its own column. The server gives its own emulator a serial port (--serial-port, default 4445) and uvk5_slots_serial.Radio gained a public app_info(slot), so nothing reaches into a private helper. uvk5_apps.parse_radio_reply decodes the answer and is tested without a radio. Also recorded: QEMU needs the mingw64 DLLs on PATH, and started by hand without them it exits before opening QMP, which surfaces only as 'QMP socket never appeared'.
This commit is contained in:
1 parent
0267371e28
commit
b855b0b047
9 files changed
+169
-6
No files matched your search
@@ -609,6 +609,22 @@ That is the header this page installed, echoed by the running firmware, so the r
|
||||
offset, the layout and the bytes are right. Slots 1 and 2 answered `status 2` with unrelated
|
||||
data, which is the overlap the install guard exists for.
|
||||
|
||||
The page can also **ask the radio**. `GET /api/apps/radio` opens the firmware's serial
|
||||
port and sends `0x0730` for all sixteen slots, so the answer comes from the running firmware
|
||||
rather than from our reading of the file -- the bytes can be right and the firmware still
|
||||
refuse a slot. Measured after installing `Beam.app` into slot 0, through the page:
|
||||
|
||||
slot 0 -> Beam 1.0 · 1100 B · crc 0xd976058 · shortcut beam · committed true
|
||||
slots 1..3 -> status 2 with unrelated data (the resource-block overlap the guard refuses)
|
||||
|
||||
A button beside the table asks it and shows the answer in its own column.
|
||||
|
||||
One thing that cost a round here: the server gives the emulator it starts a serial port
|
||||
(`--serial-port`, default 4445), and QEMU needs the mingw64 DLLs on `PATH`. Started from
|
||||
`work/run-webui.ps1` they are added; started by hand they are not, and a missing DLL makes
|
||||
QEMU exit **before** it opens QMP -- which surfaces only as "QMP socket never appeared", with
|
||||
nothing else naming the cause. QEMU's option errors go to stdout, which the launcher discards.
|
||||
|
||||
## The keypad: two real bugs, both fixed
|
||||
|
||||
The old note here said "keys reach the firmware but the UI does not react" and
|
||||
|
||||
Reference in new issue
Block a user