1 unstable release
Uses new Rust 2024
| new 0.4.0 | Feb 21, 2026 |
|---|
#4 in #stenm
235KB
4.5K
SLoC
core1
The I/O Router and Northbridge (Core 1).
Purpose
This crate implements the communications and routing layer. It bridges the high-speed Physics Core (Core 0) with external interfaces: sensors, visualiser, and inter-MCU grid. Designed to run on Core 1 of the RP2350.
Key Types
| Type | Description |
|---|---|
CommsKernel<G, C> |
Generic kernel over grid/control transceivers |
DebugAgent |
Manages debug subscriptions and command processing |
Responsibilities
-
Packet Routing
- Receives
Packetfrom Core 0 via internal bus. - Routes spikes to Bus B (PIO Mesh) for inter-cluster traffic.
- Forwards
DebugEventtelemetry to host via Bus D (Diagnostic).
- Receives
-
Regulator Snooping
- Inspects
DebugEvent::Clustertelemetry packets - Extracts queue depth and quadrant activity for regulator
- Supports deterministic draining for DST tests
- Inspects
-
I/O Management
- Manages grid transceiver (inter-MCU PIO)
- Manages control transceiver (USB/SPI to host)
Kernel Loop
The CommsKernel multiplexes three streams:
- Control Stream — Commands from UI/Regulator → Forward to Core 0
- Internal Stream — Packets from Core 0 → Route to Vis or PIO
- IO Stream — Packets from PIO → Convert to Events for Core 0
Dependencies
io_bus— Transceiver traits and packet typesdebug_interface—DebugEventfor telemetry forwardingcontrol_interface—ControlEvent,RegulatorInputinter_core—NeuronEventfor spike routing
Related Documentation
Dependencies
~1.8–8.5MB
~146K SLoC