Commit Graph

  • d099e2ecfc Round 20: the key-path conclusion is contradicted, and the probes' failure is unexplained master mckero 2026-10-02 11:08:15 +08:00
  • 3b1d4abbbf Round 18-19: the key probe never painted, and the contrast narrows input to get_key() mckero 2026-10-02 11:05:32 +08:00
  • 90d5a1f687 Round 17: the game paints -- the missing piece was a per-frame delay mckero 2026-10-02 10:59:41 +08:00
  • a630500e22 Round 16: draw()'s halves are each alive, so the blit is the next suspect mckero 2026-10-02 10:53:22 +08:00
  • 5b861f82ab Validated metric: every individual call survives repetition, and the killer is inside draw() mckero 2026-10-02 10:44:18 +08:00
  • 057e408016 Clean A/B: the app dies when the same firmware calls are repeated, not when they are made mckero 2026-10-02 10:35:00 +08:00
  • f6c0115aa5 The size ladder was a red herring: Minesweeper fails on its own code mckero 2026-10-02 10:24:22 +08:00
  • 36c8c66006 The app-size ladder: the launcher jumps before the app is fully copied mckero 2026-10-02 10:19:15 +08:00
  • f3a369d38f Make the PC probe interval configurable, and trace the app's life as one tick mckero 2026-10-02 10:14:50 +08:00
  • 394f473df0 Correct the overlay cause: the log order rules the sector-cache overwrite out mckero 2026-10-02 10:08:40 +08:00
  • e9c344b52a Name the overlay failure: an app runs until it calls a service that reads the external flash mckero 2026-10-02 10:05:24 +08:00
  • 53a04ee869 Measure the launch on the page's own healthy instance: the menu works, the app never runs mckero 2026-10-02 09:59:14 +08:00
  • bfd1a9ed2c Correct the overlay measurements: they were taken on blank instances, and this build has no F+7 menu mckero 2026-10-02 09:51:58 +08:00
  • fa0f4e7f23 Record that no overlay app runs: the copy lands, the jump never happens mckero 2026-10-02 09:45:33 +08:00
  • c0c2c3230e Merge the CI fix for the unit job mckero 2026-10-02 08:37:40 +08:00
  • f938d0b3bd Build overlay apps without the Arm toolchain, and say how far verification got mckero 2026-10-02 08:32:22 +08:00
  • 61344e486e Minesweeper: verify its logic on the host, and document it in both languages mckero 2026-10-01 22:31:22 +08:00
  • 6343c150ef Fix unit CI failures in app tests #1 copilot/fix-github-actions-unit-job copilot-swe-agent[bot]andMCKero6423 2026-10-01 14:30:57 +00:00
  • ff14dffb67 Fix the blank screen, correct the multiboot note, and add Minesweeper mckero 2026-10-01 22:29:36 +08:00
  • 5a8e987451 Initial plan copilot-swe-agent[bot] 2026-10-01 14:27:49 +00:00
  • 2b3222155f Record the restore loop that ate the installs mckero 2026-10-01 22:13:00 +08:00
  • dcf9dc00f5 Keep what the page installed when the server restarts mckero 2026-10-01 22:03:37 +08:00
  • 673c181d59 Fold the slot and app tables away instead of one long page mckero 2026-10-01 22:00:54 +08:00
  • c305ee5ebd Document how an app is launched, in both languages mckero 2026-10-01 17:32:19 +08:00
  • dbc8fb7661 Say how to launch an app, and record how the way in was found mckero 2026-10-01 17:30:35 +08:00
  • b855b0b047 Let the page ask the radio whether it sees an installed app mckero 2026-10-01 17:25:32 +08:00
  • 0267371e28 The firmware confirms the app slots, and the page numbers them like upstream mckero 2026-10-01 17:17:22 +08:00
  • 617c1e2dbd Keep the two AGENTS files in step about the app panel mckero 2026-10-01 17:12:00 +08:00
  • f6b375f66b Put the overlay apps on the page: a slot table with install and erase mckero 2026-10-01 17:11:23 +08:00
  • d76d95851f Apps on the page: list, install and erase overlay apps in the flash image mckero 2026-10-01 17:09:00 +08:00
  • c64b5e6ad8 Remove a probe log that a wrong --flash-probe path left behind mckero 2026-10-01 16:57:19 +08:00
  • f7cd4816e3 Overlay apps: the region, the format, and a tool that writes them mckero 2026-10-01 16:56:59 +08:00
  • fc432d2055 Report what the device says it is running, not the file we handed it mckero 2026-10-01 16:22:44 +08:00
  • 11e3678140 Take the stale addresses out of the AGENTS examples too mckero 2026-10-01 16:14:01 +08:00
  • a237bd92c6 Stop teaching the old address flags in the docs mckero 2026-10-01 16:12:36 +08:00
  • 1e9fdf685c Find the screen buffers in the firmware instead of hardcoding one build's mckero 2026-10-01 16:09:26 +08:00
  • 57106c0a66 Fix the two pixel bugs behind "the other firmware looks shifted" mckero 2026-10-01 15:59:39 +08:00
  • f4c9d343fc Probe what a BK4819 read presents, and say plainly that it is not the guard yet mckero 2026-10-01 15:28:47 +08:00
  • e1ffdf8fdd panel_dump: say why QMP is unreachable, and exit 2 for it mckero 2026-10-01 15:23:27 +08:00
  • 4bddccfe7b Measure how a build renders, and keep the tool that does it mckero 2026-10-01 15:22:02 +08:00
  • 542515d5ad Finish the portability sweep: one firmware resolver, no author paths mckero 2026-10-01 15:15:31 +08:00
  • ae8b48c85a Run anywhere: no author paths left, and CI that proves it mckero 2026-10-01 15:12:45 +08:00
  • 1308c98769 Document where Moto/DFU entry is, and let a boot key hold PTT plus a key mckero 2026-10-01 15:06:20 +08:00
  • 2667e046e8 Emulator: multiboot slots from the page, flash controller, portable tests mckero 2026-10-01 14:51:49 +08:00
  • ee80939c78 Check that documented tool flags exist mckero 2026-08-29 16:58:28 +01:00
  • b32335d8c0 Check the docs' claims against the code mechanically mckero 2026-08-29 16:54:25 +01:00
  • 3df3c1b16d Add Chinese translations of all three documents mckero 2026-08-29 16:48:27 +01:00
  • 8b995aa610 Make RSSI depend on tuning instead of being a constant mckero 2026-08-29 08:52:52 +01:00
  • fdcbe80056 Model TIM2, so millis() advances and timeouts can expire mckero 2026-08-29 08:00:27 +01:00
  • e46cae2e48 Make the ADC settable, which reaches the battery behaviour mckero 2026-08-29 07:49:25 +01:00
  • 7ed9f61f71 Add the audio path test to the runner mckero 2026-08-29 06:13:13 +01:00
  • a1aca9395c Document why there is no audio to model mckero 2026-08-29 06:06:55 +01:00
  • 7d299dbad2 Model the audio path, which is a single enable line and no samples mckero 2026-08-29 06:05:54 +01:00
  • 8d1a1c4415 Add a test runner, and a test that it can fail mckero 2026-08-29 05:42:11 +01:00
  • 95bad1614e Note that counting distinct frames proves less than it looks mckero 2026-08-29 05:29:10 +01:00
  • 3d1dad0617 Guard scanning against the always-busy receiver mckero 2026-08-29 05:28:31 +01:00
  • a310429eff Correct the docs that said PTT did not exist mckero 2026-08-29 05:18:57 +01:00
  • 88994b1bd0 Add PTT, which brings the transmit level bar with it mckero 2026-08-29 05:16:42 +01:00
  • 39195b8028 Update the notes now that the S-meter works mckero 2026-08-29 04:57:00 +01:00
  • e6cebed84e Report a receiver with a signal, so the S-meter reads mckero 2026-08-29 04:55:33 +01:00
  • 7faacfd433 Record what the read-path fix revealed about the squelch attempts mckero 2026-08-29 04:40:07 +01:00
  • ad88ee1519 Fix BK4819 register reads arriving shifted one bit left mckero 2026-08-29 04:27:00 +01:00
  • 655e7883ad Correct the squelch notes: my power-save explanation was wrong mckero 2026-08-29 02:06:50 +01:00
  • 4b1bf14140 Settle the squelch interrupt: the blocker is not in the device model mckero 2026-08-28 17:21:33 +01:00
  • 6dd5e34445 Record the squelch interrupt attempt, and why it was backed out mckero 2026-08-28 16:56:08 +01:00
  • 4e29d11810 Update the docs now that the BK4819 is modelled mckero 2026-08-28 16:46:55 +01:00
  • 76fc72d5ed Model the BK4819 register interface mckero 2026-08-28 16:45:29 +01:00
  • f3412f3316 Correct the docs: serial receive is implemented now mckero 2026-08-28 16:26:55 +01:00
  • b84d229326 Implement serial receive, unlocking the UV-K5 programming protocol mckero 2026-08-28 16:25:37 +01:00
  • cdb73f13a0 Record that serial receive is not implemented mckero 2026-08-28 15:52:05 +01:00
  • 65e50c0065 Stop cleanup killing unrelated processes, and recover when it happens anyway mckero 2026-08-28 15:50:13 +01:00
  • d09bf5f47e Write down the flash investigation and what made it slow mckero 2026-08-28 15:32:45 +01:00
  • 798905f154 Give DMA the CPU's address space, so a typed frequency sticks mckero 2026-08-28 15:30:26 +01:00
  • f114666b42 Start DMA on the peripheral's request, and clock both directions together mckero 2026-08-28 15:05:15 +01:00
  • da1ad7e1e6 Wrap page-program writes within their 256-byte page mckero 2026-08-28 14:41:20 +01:00
  • 0b879227e5 Do not mistake a leftover socket file for a running emulator mckero 2026-08-28 14:17:50 +01:00
  • 23385d2eba Persist flash writes to the backing file mckero 2026-08-28 12:52:06 +01:00
  • 3e743152c1 Document how the machine boots mckero 2026-08-28 12:38:49 +01:00
  • 1364d46e97 Keep a pristine copy of the flash image, and a way back to it mckero 2026-08-28 12:20:13 +01:00
  • 19997e85e1 Rename the vhost to k6v3.mckero.dn42 mckero 2026-08-28 11:49:51 +01:00
  • a4a8f21d50 Document and version-control the HTTPS front end mckero 2026-08-28 11:39:17 +01:00
  • f2c5c6b31b Attribute log entries to the client IP mckero 2026-08-28 11:37:06 +01:00
  • dbe7607720 Go back to measuring the press instead of guessing it mckero 2026-08-28 10:56:29 +01:00
  • 46f0f37d58 Log keypresses, keep frames flowing when idle, blank the screen when off mckero 2026-08-28 10:38:58 +01:00
  • c164917632 Log power events, QEMU stderr and firmware serial; show them in a fixed pane mckero 2026-08-28 10:06:18 +01:00
  • 7db89231b6 Add a bounded log buffer mckero 2026-08-28 09:59:34 +01:00
  • 20e7577257 Cut key latency: fire at pointerdown and shorten the tap mckero 2026-08-28 09:56:04 +01:00
  • c6d58f5601 Surface firmware serial output instead of dropping it mckero 2026-08-28 06:27:46 +01:00
  • 5b53cbbc82 Start powered off; the user presses On mckero 2026-08-28 06:09:56 +01:00
  • 6a9cf9f28a Add an On/Off/Reset bar above the screen mckero 2026-08-28 06:02:30 +01:00
  • 699561794a Add power endpoints and survive the emulator being off mckero 2026-08-28 06:00:50 +01:00
  • 71d72c2393 Add a supervisor that owns the QEMU process mckero 2026-08-28 05:57:22 +01:00
  • b500697224 Serve frames from the pump instead of reading QMP per request mckero 2026-08-28 05:55:03 +01:00
  • b75ef5fdcd Add a background frame pump so QMP load is constant mckero 2026-08-28 05:50:16 +01:00
  • 7fe605eeaf Send one request per keypress carrying the measured duration mckero 2026-08-28 05:41:59 +01:00
  • e7f3f9da76 Hold keys for a server-side duration, not a network round trip mckero 2026-08-28 05:35:37 +01:00
  • 2c3a602d9f Capture the DN42 firewall rules as a script mckero 2026-08-28 05:32:31 +01:00
  • 2d0fc24b62 Document the web remote control mckero 2026-08-28 04:49:15 +01:00
  • db1117d61f Add an end-to-end test for the web remote control mckero 2026-08-28 04:47:16 +01:00
  • b4f3b28a39 Add the web remote control: live LCD plus clickable keypad mckero 2026-08-28 04:45:51 +01:00