This website requires JavaScript.
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