Commit Graph

  • 5bad374129 limen: extract udp into its own static library main Ian Gulliver 2026-05-01 13:52:30 -07:00
  • f1bc6381db limen: extract igmp into its own static library Ian Gulliver 2026-05-01 13:47:41 -07:00
  • 22ead50a00 limen: extract icmp; convert constructor-based self-registration to explicit init() Ian Gulliver 2026-05-01 13:44:54 -07:00
  • f8b258f92e limen: extract arp into its own static library Ian Gulliver 2026-05-01 13:35:42 -07:00
  • b29dd149e3 limen: extract ipv4 into its own static library Ian Gulliver 2026-05-01 13:23:12 -07:00
  • fc0c948b23 limen: merge net+eth into eth lib; ipv4 owns its IP Ian Gulliver 2026-05-01 11:03:17 -07:00
  • 6505aec466 limen: move remaining util headers into util/ Ian Gulliver 2026-05-01 10:50:16 -07:00
  • 2eb11398c6 limen: move ring_buffer into util Ian Gulliver 2026-05-01 10:48:18 -07:00
  • b6ac9dce59 limen: header doc comments on util data structures Ian Gulliver 2026-05-01 10:47:09 -07:00
  • 57313f836c limen: extract msgpack and util libs; split msgpack header/cpp Ian Gulliver 2026-05-01 10:43:38 -07:00
  • 94afcf39e7 limen: extract debug_log into its own static library Ian Gulliver 2026-05-01 10:33:48 -07:00
  • e89e72ca59 limen: net::/ipv4:: namespace, mac/addr filter framework, registry overflow logging Ian Gulliver 2026-05-01 10:16:07 -07:00
  • c4335a0737 limen: split w6300 into its own static library to enforce layer isolation Ian Gulliver 2026-04-30 23:14:50 -07:00
  • 7b8dd66185 move w6300/dispatch/net stack to limen submodule Ian Gulliver 2026-04-19 17:38:29 -07:00
  • 4db5c36931 Self-registering IP-protocol and UDP-port dispatch; move picomap-specific constants out of generic net/dispatch layers Ian Gulliver 2026-04-19 08:39:13 -07:00
  • 7e493b7d70 Ethertype handler registry: arp/ipv4 self-register via __attribute__((constructor)), drop threaded mac/ip/subnet params Ian Gulliver 2026-04-19 08:26:57 -07:00
  • 59829b569e Strip over-commenting in test_handlers.cpp Ian Gulliver 2026-04-19 08:13:16 -07:00
  • 32044a5cbd Eliminate std::function: fn-pointer callbacks, per-test test_state structs, udp.cpp with link-time udp::client::handler, udp::address Ian Gulliver 2026-04-19 00:32:13 -07:00
  • 40f7fb5941 Drop handle_udp parameter threading: ipv4::handle calls net_handle_udp directly Ian Gulliver 2026-04-17 14:55:09 -07:00
  • e2daf04bed Drop send_raw parameter threading: arp/icmp/igmp/ipv4 call net_send_raw directly Ian Gulliver 2026-04-17 14:35:10 -07:00
  • cdc113285a Remove USB/serial support: network-only protocol, drop tinyusb and PICOBOOT Ian Gulliver 2026-04-17 11:20:57 -07:00
  • 23587c41e2 SHA-256 hash verification of flash slots, pico_hash_binary, flash:: namespace, ring_buffer iterator, non-destructive log Ian Gulliver 2026-04-12 23:47:00 +09:00
  • cc37b711a4 Return error on inner decode failure instead of hanging, split flash-status output Ian Gulliver 2026-04-12 22:27:21 +09:00
  • 11c101c235 Flash status: scan PICOBIN blocks for per-slot validity and version Ian Gulliver 2026-04-12 22:22:54 +09:00
  • 819632a7ea Fix A/B partition link: B partition declares its A partner, not vice versa Ian Gulliver 2026-04-12 21:54:57 +09:00
  • 8da5ff9886 A/B partition table, embed in both firmware targets Ian Gulliver 2026-04-12 21:47:12 +09:00
  • a41ee70a3c Build epoch in info, flash-status command, cmake version embedding Ian Gulliver 2026-04-12 09:02:31 +09:00
  • 21c7900444 Watchdog timer, boot reason tracking, net_poll frame limit, reboot/picoboot CLI commands Ian Gulliver 2026-04-12 08:27:21 +09:00
  • 6c3e0757f9 Boot reason via watchdog scratch register, reboot/picoboot CLI commands, enum msgpack support Ian Gulliver 2026-04-12 08:17:22 +09:00
  • 9b7362c460 Rename ping_rate/ping_rate_1k to packet_rate/byte_rate, use 1400-byte payloads Ian Gulliver 2026-04-12 07:55:30 +09:00
  • 761b740c10 Zero-copy ethernet TX: encode directly into prepend_buffer, add info/test skills Ian Gulliver 2026-04-12 07:50:20 +09:00
  • 846d6bb201 Clean up load logging, capture build output via slog, use cmake --build Ian Gulliver 2026-04-11 22:38:16 +09:00
  • 5f2268f5e1 Unified --usb/--udp/--iface target flags for all CLI commands Ian Gulliver 2026-04-11 22:33:55 +09:00
  • e3d97f4946 In-app flash write, UF2 parser, remove picotool dependency, reboot command Ian Gulliver 2026-04-11 22:26:54 +09:00
  • a635aa04e0 Level-triggered w6300 interrupt, drain until empty, rearm after drain Ian Gulliver 2026-04-11 21:51:22 +09:00
  • 8b69917e1d Biffer buffers, more aggressive tests Ian Gulliver 2026-04-11 21:32:50 +09:00
  • 59d67c740c Replace net_poll budget with snapshot-based drain: read available bytes once, stop when consumed Ian Gulliver 2026-04-11 20:51:42 +09:00
  • ecc8271648 Remove unused sorted_list Ian Gulliver 2026-04-11 20:45:04 +09:00
  • 1c8c645878 Clean up callback_list, remove sentinel/active/tail, callbacks return bool for removal, register before send Ian Gulliver 2026-04-11 15:01:37 +09:00
  • 938b4b8a4c Limit net_poll to 2 frames per iteration, pipeline=2 for both rate tests Ian Gulliver 2026-04-11 14:36:40 +09:00
  • fec0a0f765 Replace sorted_list/vector with callback_list doubly-linked list for timers and frame callbacks Ian Gulliver 2026-04-11 14:26:53 +09:00
  • aa349e1a36 Add debug logging to overflow/error paths, fix pipeline=2 drop Ian Gulliver 2026-04-11 09:48:25 +09:00
  • f7baf60249 Pipeline ping rate tests, small=1 large=2 in-flight Ian Gulliver 2026-04-11 09:29:34 +09:00
  • 1843660e6f Add ping rate tests, discover_peer helper, standardize prepend_buffer to 4096 Ian Gulliver 2026-04-11 09:17:46 +09:00
  • a6225faa2b Add IGMP, prepend_buffer/parse_buffer, split UDP header, discovery tests, test all Ian Gulliver 2026-04-11 09:04:55 +09:00
  • e486f6501a Cancellable timers: sorted_list::remove, timer cancel, replace done flag with timer cancellation Ian Gulliver 2026-04-11 08:28:32 +09:00
  • 3a3c5873c3 Add dlogf printf formatting, ipv4::to_string helper, clean up string building Ian Gulliver 2026-04-11 08:21:59 +09:00
  • c35c1de76a Split net stack into eth/arp/ipv4/icmp, deferred handler responses, ping tests Ian Gulliver 2026-04-11 08:15:41 +09:00
  • 34efaeefd5 Add list-tests protocol message, test subcommands, extract test handlers Ian Gulliver 2026-04-11 07:25:16 +09:00
  • f6d8847bcf Fix packer: store span_writer by reference, not copy Ian Gulliver 2026-04-10 23:23:58 +09:00
  • 7264611f99 Zero-copy decode: span-based Envelope and DecodedMessage, defer usb_rx_buf clear Ian Gulliver 2026-04-10 23:08:51 +09:00
  • 76c519c17a Overflow detection, span-based signatures, flatten control flow Ian Gulliver 2026-04-10 23:02:07 +09:00
  • 8408603390 Zero-copy encode: pack response body in place, single shared tx_buf, drain rx loop Ian Gulliver 2026-04-10 22:48:28 +09:00
  • 58db392bf3 Simplify handler signatures: return response struct, typed_handler does encoding Ian Gulliver 2026-04-10 22:21:31 +09:00
  • e2a5d97dae Zero-copy TX: span_writer packer, static buffers, no vector returns Ian Gulliver 2026-04-10 22:18:44 +09:00
  • 94895fd2fe Move picoboot reboot into handler via dispatch_schedule_ms Ian Gulliver 2026-04-10 22:04:38 +09:00
  • f2d98ef4f1 Skip net_poll and timers unless their interrupt has fired Ian Gulliver 2026-04-10 22:00:34 +09:00
  • 8edf8c2d4f Remove unused iodata_t, PIO_OFFSET_WRITE_BITS, trim intr_kind, move sock_count to cpp Ian Gulliver 2026-04-10 21:51:58 +09:00
  • c961499239 Remove socket IO mode (nonblock unnecessary with pre-checked recv buffer) Ian Gulliver 2026-04-10 21:45:43 +09:00
  • 0d41f63533 Strip non-MACRAW enums, unused macros, and set_socket_dest_mac Ian Gulliver 2026-04-10 21:42:20 +09:00
  • 394628b8da MACRAW-only: simplify send/recv API, remove non-MACRAW code paths and unused types Ian Gulliver 2026-04-10 21:37:03 +09:00
  • bee0fa3aef Remove critical section code, unused constants, and unused register definitions Ian Gulliver 2026-04-10 21:27:01 +09:00
  • ff9f9a5c1f Remove unused W6300 register accessors and internal functions Ian Gulliver 2026-04-10 21:18:43 +09:00
  • af308b5aac Remove unused W6300 API: phy, net config, TCP, keepalive, peek, and related types Ian Gulliver 2026-04-10 21:06:52 +09:00
  • 712110aace Remove unused interrupt code: enable_interrupt_pin, CHECK markers, dead comments w6300-complete Ian Gulliver 2026-04-10 20:54:07 +09:00
  • 0c11cbb1d1 WFI with interrupt-driven wakeup for USB and W6300 Ian Gulliver 2026-04-10 12:55:04 +09:00
  • 3d20bf4c33 Per-packet source tracking in transport, via/from in info output Ian Gulliver 2026-04-07 22:30:26 +09:00
  • f96ed20aa0 Fix broadcast collection: UDP reader blocks until deadline, 500ms timeout everywhere Ian Gulliver 2026-04-07 22:22:19 +09:00
  • e301c672a9 Broadcast discovery with InfoAll, interface broadcast detection, clean output Ian Gulliver 2026-04-07 22:12:20 +09:00
  • 7034391d4d UDP transport with broadcast support, -udp and -iface flags on info Ian Gulliver 2026-04-07 21:44:35 +09:00
  • 9989d8c66a Add UDP transport with picomap port 28781, info -udp flag Ian Gulliver 2026-04-07 21:36:50 +09:00
  • 3d749add7d Compose eth header into ipv4_header, use icmp_echo struct, protocol switch in handle_ipv4 Ian Gulliver 2026-04-07 12:31:27 +09:00
  • f161dda60a Rewrite net.cpp to use packed structs for frame encoding/decoding Ian Gulliver 2026-04-07 12:21:41 +09:00
  • b0294fada3 Fix broadcast ping reply source IP, accept broadcast destinations Ian Gulliver 2026-04-07 12:18:07 +09:00
  • 31b2c16b07 Debug log with dlog_if_slow, MACRAW ping working, wfi disabled Ian Gulliver 2026-04-07 12:09:18 +09:00
  • d215ddc6f2 Add debug log ring buffer with timestamps, log CLI subcommand Ian Gulliver 2026-04-07 09:18:43 +09:00
  • ffcbaf0665 Merge info/load/test CLIs into unified picomap subcommand CLI Ian Gulliver 2026-04-07 08:37:34 +09:00
  • a7381ca435 MACRAW net stack, slog, load -target flag, LED blink, net_poll disabled pending SPI fix Ian Gulliver 2026-04-07 08:34:29 +09:00
  • a9193d51e4 Switch commands to slog, disable net_poll pending fix Ian Gulliver 2026-04-07 07:43:16 +09:00
  • 46db2fd966 MACRAW IP stack with ARP/ICMP, stable device ordering, LED blink on test Ian Gulliver 2026-04-07 07:34:24 +09:00
  • 642e2ff318 Remove leading underscores and mixed case from w6300 internal symbols Ian Gulliver 2026-04-07 07:15:24 +09:00
  • 3c320cf466 Rename screaming case symbols to snake_case in w6300 public API Ian Gulliver 2026-04-07 07:09:11 +09:00
  • 843a286631 Remove multicast socket polling, fix USB responsiveness Ian Gulliver 2026-04-07 07:04:53 +09:00
  • e60479bad8 Switch to IPv4 zeroconf, add test framework with discovery test, fix serial enumeration Ian Gulliver 2026-04-07 06:58:39 +09:00
  • b8c0e6be66 Handlers return multiple responses, dispatch polls sockets for UDP commands Ian Gulliver 2026-04-06 20:22:40 +09:00
  • f837937cb7 Add firmware_name to info response Ian Gulliver 2026-04-06 20:09:30 +09:00
  • 49bbe1b29c Split dispatch init/run, join IPv6 multicast discovery group in firmware Ian Gulliver 2026-04-06 20:01:22 +09:00
  • 00b960d81d Add dispatch loop, copy_to_ram, retry picotool load without sleep Ian Gulliver 2026-04-06 17:36:41 +09:00
  • b197f0bfa7 Extract picoboot and info handlers into lib/handlers Ian Gulliver 2026-04-06 17:24:34 +09:00
  • 00ab432a72 Add IPv6 link-local address to net_init and info response, use WaitGroup.Go Ian Gulliver 2026-04-06 17:20:13 +09:00
  • 1fa1b2076c Poll for BOOTSEL readiness instead of fixed sleep, load with -x Ian Gulliver 2026-04-06 09:19:26 +09:00
  • ee8563ab69 Remove DHCP client, preserved on dhcp-wip branch Ian Gulliver 2026-04-06 09:10:50 +09:00
  • 1bbe350370 Add test target, parallelize load and info across two devices dhcp-wip Ian Gulliver 2026-04-05 21:48:47 +09:00
  • 30a697066c Move C++ tree into firmware/ Ian Gulliver 2026-04-05 21:33:19 +09:00
  • 4989cfd8cb Use pico_rand for DHCP xid, run cmake in load command Ian Gulliver 2026-04-05 21:30:21 +09:00
  • 28caa2e590 Add sorted_list, timer_queue, and DHCP discover with inline options Ian Gulliver 2026-04-05 21:23:14 +09:00
  • 421cb5840e Split into main/net/tusb_config, extract ring_buffer and usb_cdc headers Ian Gulliver 2026-04-05 21:04:56 +09:00
  • 9fc79408dc Non-blocking USB TX with ring buffer and immediate drain Ian Gulliver 2026-04-05 20:47:48 +09:00
  • d33b711378 Sleep with __wfi() between USB interrupts instead of busy-polling Ian Gulliver 2026-04-05 20:36:34 +09:00
  • 401008b5a7 Switch from stdio to direct TinyUSB CDC, drop cstdio from w6300 Ian Gulliver 2026-04-05 17:03:34 +09:00