{ "root": "yukart", "topics": { "yukart/can/raw": { "payload": "binary", "retained": false, "rate": "1000-3000/s", "publisher": "can-bridge", "description": "Timestamped raw frames. Binary, not the JSON envelope." }, "yukart/vehicle/": { "payload": "envelope", "retained": true, "rate": "1-50/s", "publisher": "decoder (source z27ag), obd-poller (source obd2)", "description": "One topic per signal, named exactly as in signals.json." }, "yukart/gnss/fix": { "payload": "envelope", "retained": true, "rate": "1-10/s", "publisher": "gnss", "description": "value is an object: lat, lon, alt_m, speed_kph, heading_deg, fix, satellites." }, "yukart/gnss/": { "payload": "envelope", "retained": true, "rate": "1-10/s", "publisher": "gnss", "description": "The receiver's fix as single values, one topic per signal, named exactly as in signals.json (source=gnss). For displays; yukart/gnss/fix stays the composite for navigation." }, "yukart/host/": { "payload": "envelope", "retained": true, "rate": "1/s", "publisher": "orin-status", "description": "The Orin itself: temperatures, load, memory, network links, UPS battery. One topic per signal, named exactly as in signals.json (source=host)." }, "yukart/system/": { "payload": "json", "retained": true, "rate": "on change", "publisher": "every service", "description": "state: starting|ready|degraded|stopping, plus service-specific detail." }, "yukart/nav/guidance": { "payload": "json", "retained": true, "rate": "on change", "publisher": "svc-nav", "description": "Next manoeuvre, distance, street name." }, "yukart/nav/route": { "payload": "json", "retained": true, "rate": "on change", "publisher": "svc-nav", "description": "Active route geometry." }, "yukart/session/mark": { "payload": "json", "retained": false, "rate": "human", "publisher": "svc-gw", "description": "Operator event stamped into the recording. Carries both clocks like the envelope." } } }