136 Commits

Author SHA1 Message Date
Ian Gulliver
5bad374129 limen: extract udp into its own static library 2026-05-01 13:52:30 -07:00
Ian Gulliver
f1bc6381db limen: extract igmp into its own static library 2026-05-01 13:47:41 -07:00
Ian Gulliver
22ead50a00 limen: extract icmp; convert constructor-based self-registration to explicit init() 2026-05-01 13:44:54 -07:00
Ian Gulliver
f8b258f92e limen: extract arp into its own static library 2026-05-01 13:35:42 -07:00
Ian Gulliver
b29dd149e3 limen: extract ipv4 into its own static library 2026-05-01 13:23:12 -07:00
Ian Gulliver
fc0c948b23 limen: merge net+eth into eth lib; ipv4 owns its IP 2026-05-01 11:03:17 -07:00
Ian Gulliver
6505aec466 limen: move remaining util headers into util/ 2026-05-01 10:50:16 -07:00
Ian Gulliver
2eb11398c6 limen: move ring_buffer into util 2026-05-01 10:48:18 -07:00
Ian Gulliver
b6ac9dce59 limen: header doc comments on util data structures 2026-05-01 10:47:09 -07:00
Ian Gulliver
57313f836c limen: extract msgpack and util libs; split msgpack header/cpp 2026-05-01 10:43:38 -07:00
Ian Gulliver
94afcf39e7 limen: extract debug_log into its own static library 2026-05-01 10:33:48 -07:00
Ian Gulliver
e89e72ca59 limen: net::/ipv4:: namespace, mac/addr filter framework, registry overflow logging 2026-05-01 10:16:07 -07:00
Ian Gulliver
c4335a0737 limen: split w6300 into its own static library to enforce layer isolation 2026-04-30 23:14:50 -07:00
Ian Gulliver
7b8dd66185 move w6300/dispatch/net stack to limen submodule 2026-04-19 17:38:29 -07:00
Ian Gulliver
4db5c36931 Self-registering IP-protocol and UDP-port dispatch; move picomap-specific constants out of generic net/dispatch layers 2026-04-19 08:39:13 -07:00
Ian Gulliver
7e493b7d70 Ethertype handler registry: arp/ipv4 self-register via __attribute__((constructor)), drop threaded mac/ip/subnet params 2026-04-19 08:26:57 -07:00
Ian Gulliver
59829b569e Strip over-commenting in test_handlers.cpp 2026-04-19 08:13:16 -07:00
Ian Gulliver
32044a5cbd Eliminate std::function: fn-pointer callbacks, per-test test_state structs, udp.cpp with link-time udp::client::handler, udp::address 2026-04-19 00:32:13 -07:00
Ian Gulliver
40f7fb5941 Drop handle_udp parameter threading: ipv4::handle calls net_handle_udp directly 2026-04-17 14:55:09 -07:00
Ian Gulliver
e2daf04bed Drop send_raw parameter threading: arp/icmp/igmp/ipv4 call net_send_raw directly 2026-04-17 14:35:10 -07:00
Ian Gulliver
cdc113285a Remove USB/serial support: network-only protocol, drop tinyusb and PICOBOOT 2026-04-17 11:20:57 -07:00
Ian Gulliver
23587c41e2 SHA-256 hash verification of flash slots, pico_hash_binary, flash:: namespace, ring_buffer iterator, non-destructive log 2026-04-12 23:47:00 +09:00
Ian Gulliver
cc37b711a4 Return error on inner decode failure instead of hanging, split flash-status output 2026-04-12 22:27:21 +09:00
Ian Gulliver
11c101c235 Flash status: scan PICOBIN blocks for per-slot validity and version 2026-04-12 22:22:54 +09:00
Ian Gulliver
819632a7ea Fix A/B partition link: B partition declares its A partner, not vice versa 2026-04-12 21:54:57 +09:00
Ian Gulliver
8da5ff9886 A/B partition table, embed in both firmware targets 2026-04-12 21:47:12 +09:00
Ian Gulliver
a41ee70a3c Build epoch in info, flash-status command, cmake version embedding 2026-04-12 09:02:31 +09:00
Ian Gulliver
21c7900444 Watchdog timer, boot reason tracking, net_poll frame limit, reboot/picoboot CLI commands 2026-04-12 08:27:21 +09:00
Ian Gulliver
6c3e0757f9 Boot reason via watchdog scratch register, reboot/picoboot CLI commands, enum msgpack support 2026-04-12 08:17:22 +09:00
Ian Gulliver
9b7362c460 Rename ping_rate/ping_rate_1k to packet_rate/byte_rate, use 1400-byte payloads 2026-04-12 07:55:30 +09:00
Ian Gulliver
761b740c10 Zero-copy ethernet TX: encode directly into prepend_buffer, add info/test skills 2026-04-12 07:50:20 +09:00
Ian Gulliver
846d6bb201 Clean up load logging, capture build output via slog, use cmake --build 2026-04-11 22:38:16 +09:00
Ian Gulliver
5f2268f5e1 Unified --usb/--udp/--iface target flags for all CLI commands 2026-04-11 22:33:55 +09:00
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
ecc8271648 Remove unused sorted_list 2026-04-11 20:45:04 +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
f6d8847bcf Fix packer: store span_writer by reference, not copy 2026-04-10 23:23:58 +09:00