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
@@ -302,6 +302,7 @@ uvk5_elf.sh 探针脚本从哪里找固件(环境变量,然后本
|
||||
| `GET /api/apps` | 同一 flash 镜像里 Labs 版的叠加应用槽 |
|
||||
| `POST /api/apps/<n>` | 请求体是一个 `.app`;装进应用槽 `n`(加 `?force=1` 可覆盖非应用数据) |
|
||||
| `POST /api/apps/<n>/erase` | 清空应用槽 `n` |
|
||||
| `GET /api/apps/radio` | 问正在运行的固件它在每个应用槽里看到了什么(`0x0730`) |
|
||||
| `POST /api/flash` | 请求体是一份 flash 镜像;之后就用它 |
|
||||
|
||||
画面现在取自显示控制器自己的内存:对面板的 `gram` 属性做一次 QMP `qom-get`。
|
||||
|
||||
Reference in new issue
Block a user