Summary
Add the client side of uavcan.node.GetInfo.1.0 (port-ID 430) to CyphalApp: intermittently scan a range of server node-IDs (e.g. 2..10), send GetInfo requests, and log the responses that come back.
Builds on the server-side service infra (i.e. the UdpardRxServiceDispatcher from the server issue):
- Register a service response RX port for port-ID 430 (
udpvRxServiceDispatcherListen(..., is_request=false, ...)).
- Maintain per-(service-ID, server-node-ID) transfer-ID counters for the request/response rendezvous.
- Periodically (e.g. every ~5 s or on a slow scan cycle) send a
GetInfo request to the next node-ID in the scan window using udpardTxRequest and the same MTU/deadline patterns as PublishHeartbeat.
- On a completed response whose source node matches the pending scan: deserialize, print name / version / unique-id.
Tests
- Unit tests for request serialize (empty payload), response round-trip; test the scan schedule/target selection logic factorized if feasible; lag a test plan + mock for the rendezvous (not host-testable behind hypha/ethernet).
Depends
Server-side service infra from the server issue (id #44).
Summary
Add the client side of
uavcan.node.GetInfo.1.0(port-ID 430) toCyphalApp: intermittently scan a range of server node-IDs (e.g. 2..10), sendGetInforequests, and log the responses that come back.Builds on the server-side service infra (i.e. the
UdpardRxServiceDispatcherfrom the server issue):udpvRxServiceDispatcherListen(..., is_request=false, ...)).GetInforequest to the next node-ID in the scan window usingudpardTxRequestand the same MTU/deadline patterns asPublishHeartbeat.Tests
Depends
Server-side service infra from the server issue (id #44).