Commit Graph

45 Commits

Author SHA1 Message Date
Ian Gulliver
e3d97f4946 In-app flash write, UF2 parser, remove picotool dependency, reboot command 2026-04-11 22:26:54 +09:00
Ian Gulliver
a635aa04e0 Level-triggered w6300 interrupt, drain until empty, rearm after drain 2026-04-11 21:51:22 +09:00
Ian Gulliver
8b69917e1d Biffer buffers, more aggressive tests 2026-04-11 21:32:50 +09:00
Ian Gulliver
59d67c740c Replace net_poll budget with snapshot-based drain: read available bytes once, stop when consumed 2026-04-11 20:51:42 +09:00
Ian Gulliver
1c8c645878 Clean up callback_list, remove sentinel/active/tail, callbacks return bool for removal, register before send 2026-04-11 15:01:37 +09:00
Ian Gulliver
938b4b8a4c Limit net_poll to 2 frames per iteration, pipeline=2 for both rate tests 2026-04-11 14:36:40 +09:00
Ian Gulliver
fec0a0f765 Replace sorted_list/vector with callback_list doubly-linked list for timers and frame callbacks 2026-04-11 14:26:53 +09:00
Ian Gulliver
aa349e1a36 Add debug logging to overflow/error paths, fix pipeline=2 drop 2026-04-11 09:48:25 +09:00
Ian Gulliver
f7baf60249 Pipeline ping rate tests, small=1 large=2 in-flight 2026-04-11 09:29:34 +09:00
Ian Gulliver
1843660e6f Add ping rate tests, discover_peer helper, standardize prepend_buffer to 4096 2026-04-11 09:17:46 +09:00
Ian Gulliver
a6225faa2b Add IGMP, prepend_buffer/parse_buffer, split UDP header, discovery tests, test all 2026-04-11 09:04:55 +09:00
Ian Gulliver
e486f6501a Cancellable timers: sorted_list::remove, timer cancel, replace done flag with timer cancellation 2026-04-11 08:28:32 +09:00
Ian Gulliver
3a3c5873c3 Add dlogf printf formatting, ipv4::to_string helper, clean up string building 2026-04-11 08:21:59 +09:00
Ian Gulliver
c35c1de76a Split net stack into eth/arp/ipv4/icmp, deferred handler responses, ping tests 2026-04-11 08:15:41 +09:00
Ian Gulliver
34efaeefd5 Add list-tests protocol message, test subcommands, extract test handlers 2026-04-11 07:25:16 +09:00
Ian Gulliver
7264611f99 Zero-copy decode: span-based Envelope and DecodedMessage, defer usb_rx_buf clear 2026-04-10 23:08:51 +09:00
Ian Gulliver
76c519c17a Overflow detection, span-based signatures, flatten control flow 2026-04-10 23:02:07 +09:00
Ian Gulliver
8408603390 Zero-copy encode: pack response body in place, single shared tx_buf, drain rx loop 2026-04-10 22:48:28 +09:00
Ian Gulliver
58db392bf3 Simplify handler signatures: return response struct, typed_handler does encoding 2026-04-10 22:21:31 +09:00
Ian Gulliver
e2a5d97dae Zero-copy TX: span_writer packer, static buffers, no vector returns 2026-04-10 22:18:44 +09:00
Ian Gulliver
94895fd2fe Move picoboot reboot into handler via dispatch_schedule_ms 2026-04-10 22:04:38 +09:00
Ian Gulliver
f2d98ef4f1 Skip net_poll and timers unless their interrupt has fired 2026-04-10 22:00:34 +09:00
Ian Gulliver
c961499239 Remove socket IO mode (nonblock unnecessary with pre-checked recv buffer) 2026-04-10 21:45:43 +09:00
Ian Gulliver
394628b8da MACRAW-only: simplify send/recv API, remove non-MACRAW code paths and unused types 2026-04-10 21:37:03 +09:00
Ian Gulliver
bee0fa3aef Remove critical section code, unused constants, and unused register definitions 2026-04-10 21:27:01 +09:00
Ian Gulliver
712110aace Remove unused interrupt code: enable_interrupt_pin, CHECK markers, dead comments 2026-04-10 20:54:07 +09:00
Ian Gulliver
0c11cbb1d1 WFI with interrupt-driven wakeup for USB and W6300 2026-04-10 12:55:04 +09:00
Ian Gulliver
9989d8c66a Add UDP transport with picomap port 28781, info -udp flag 2026-04-07 21:36:50 +09:00
Ian Gulliver
3d749add7d Compose eth header into ipv4_header, use icmp_echo struct, protocol switch in handle_ipv4 2026-04-07 12:31:27 +09:00
Ian Gulliver
f161dda60a Rewrite net.cpp to use packed structs for frame encoding/decoding 2026-04-07 12:21:41 +09:00
Ian Gulliver
b0294fada3 Fix broadcast ping reply source IP, accept broadcast destinations 2026-04-07 12:18:07 +09:00
Ian Gulliver
31b2c16b07 Debug log with dlog_if_slow, MACRAW ping working, wfi disabled 2026-04-07 12:09:18 +09:00
Ian Gulliver
d215ddc6f2 Add debug log ring buffer with timestamps, log CLI subcommand 2026-04-07 09:18:43 +09:00
Ian Gulliver
a7381ca435 MACRAW net stack, slog, load -target flag, LED blink, net_poll disabled pending SPI fix 2026-04-07 08:34:29 +09:00
Ian Gulliver
a9193d51e4 Switch commands to slog, disable net_poll pending fix 2026-04-07 07:43:16 +09:00
Ian Gulliver
46db2fd966 MACRAW IP stack with ARP/ICMP, stable device ordering, LED blink on test 2026-04-07 07:34:24 +09:00
Ian Gulliver
e60479bad8 Switch to IPv4 zeroconf, add test framework with discovery test, fix serial enumeration 2026-04-07 06:58:39 +09:00
Ian Gulliver
b8c0e6be66 Handlers return multiple responses, dispatch polls sockets for UDP commands 2026-04-06 20:22:40 +09:00
Ian Gulliver
f837937cb7 Add firmware_name to info response 2026-04-06 20:09:30 +09:00
Ian Gulliver
49bbe1b29c Split dispatch init/run, join IPv6 multicast discovery group in firmware 2026-04-06 20:01:22 +09:00
Ian Gulliver
00b960d81d Add dispatch loop, copy_to_ram, retry picotool load without sleep 2026-04-06 17:36:41 +09:00
Ian Gulliver
b197f0bfa7 Extract picoboot and info handlers into lib/handlers 2026-04-06 17:24:34 +09:00
Ian Gulliver
00ab432a72 Add IPv6 link-local address to net_init and info response, use WaitGroup.Go 2026-04-06 17:20:13 +09:00
Ian Gulliver
ee8563ab69 Remove DHCP client, preserved on dhcp-wip branch 2026-04-06 09:10:50 +09:00
Ian Gulliver
1bbe350370 Add test target, parallelize load and info across two devices 2026-04-05 21:48:47 +09:00