|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
How the ESP32 avionics boards and the DAQ bridge are addressed on the wire. For the packet layout itself (header, packet types, serialize/parse helpers) see the wire-protocol source of truth: ../../lib/DAQv2-Comms/README.md.
Boards and the DAQ server live on a dedicated Ethernet subnet (the DAQ interface), separate from any WiFi/management network.
Board IPs are assigned per board type in config/config.toml under [boards.*]. The current ground-DAQ scheme is:
| Board type | Example IPs ([boards.*]) |
|---|---|
| PT (pressure transducer) | 192.168.2.21, 192.168.2.22 |
| ACTUATOR | 192.168.2.11–192.168.2.14 |
| LC (load cell) | 192.168.2.41, 192.168.2.42 |
| TC (thermocouple) | 192.168.2.51, 192.168.2.52 |
| RTD | 192.168.2.31, 192.168.2.32 |
Each board entry sets type and ip; see config/README.md for the full schema.
All ports come from config/config.toml:
The bridge reads its bind address and port from the config, but both can be overridden positionally:
The interface is auto-detected — but not by [discovery].network_interface, which BoardDiscovery stores and only prints. The live mechanism is fsw::net::resolveDaqBindAddress() (lib/include/net/DaqInterface.hpp): every board-facing socket binds its local address to the interface whose subnet holds the configured [boards.*].ip addresses, so it does not matter whether the NIC is eth0, enxXXXXXXXX, etc. Set [network].bind_ip to override; the service refuses to start if that address is not on the host, or if two interfaces can reach the board subnet. See docs/CONFIGURATION_GUIDE.md.
To talk to boards, the host must have an address on the board subnet: