Skip to content

Feat/canblast - #29

Open
evaderkrub wants to merge 2 commits into
masterfrom
feat/canblast
Open

evaderkrub wants to merge 2 commits into
masterfrom
feat/canblast

Conversation

@evaderkrub

Copy link
Copy Markdown
Collaborator

No description provided.

evaderkrub and others added 2 commits September 19, 2026 21:34
…w ramrun

apps/canblast drives MAIN's CAN FD controller through the OneWili C API over
the 8 Mbaud FwGUI link: binary canRxReport receive with a self-checking
payload validator, synchronous or pipelined one-shot transmit, live counters
on the LCD, buttons for a transmit flood / payload length / reset / stream
mode, and a line protocol on RTT channel 0 that the canfdvalidation bench
drives (ID, RESET, STREAM, RX, TX, STAT, PERIODIC, CFG, PIPE, ZONES, RAW).

libs/onewili moves to the interrupt-driven transport with the pipelined
write helper and response stash (see the submodule commit).

fw ramrun <app> loads a no_flash app over the debug probe and starts it:
fw flash cannot (OpenOCD has no flash bank at 0x20000000 and its reset
boots the stock firmware). The script boots the stock firmware, halts both
cores, parks core 1 in a spin loop with interrupts masked, quiesces the
watchdog / NVIC / SysTick / DMA, loads and jumps, and clears TIMER0's
debug-pause bits (a cold start from the bootrom panics, and a core left in
debug halt freezes every sleep in the app).

Verified on hardware 2026-09-19 against a ValueCAN through VSpy AI, with
the matching MAIN firmware (binary CAN mirror to the display, TX DMA on the
display UART, accumulator length cap, USB-silent captured commands):
27 of 29 matrix scenarios at 100%, inbound 2913/s at 64 B and 4237/s at
8 B, one-shot writes 1435/s (8 B) and 770/s (64 B), periodic floods
2879/s and 4080/s. Findings, residual and bench traps in
docs/superpowers/findings/2026-09-19-canblast-onewili-link-e2e.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TLU4jG8fHSS614Zy2mg7Qf
The onewili submodule now tracks the generator's multi-package tree
(sync/fast-fwgui-transport, regenerated with the interrupt-driven
transport, the raw command hooks and onewili_fast), so the display-CPU C
package lives at libs/onewili/wilibsp. Point add_subdirectory and the
AGENTS.md references there. Re-verified with canblast on hardware:
2905/s in at 64 B, 1323/s and 760/s out; findings updated, including the
MAIN uptime slowdown seen while re-measuring.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TLU4jG8fHSS614Zy2mg7Qf
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.

1 participant