Firmware Fn SetRouteObject - krcenov/RNS510-Map-Viewer GitHub Wiki

SetRouteObject — AdasRouteObject::SetRouteObject

Part of Firmware Reversing.

  • File offset: 0x7919f8 (VA 0xf701f6ec) — immediately follows mv_convert_slot_nr's own clean blr, no gap.
  • Status: 🟡* Partially traced — real call-target evidence confirmed throughout; ends in the same "no locally-visible blr" anomaly as several other functions on this wiki (frame popped, 3 undecodable <data> words follow instead of blr this time — the count varies per instance, still the same general pattern).
  • Full mangled name: SetRouteObject__15AdasRouteObjectP9RoutePath

Real, confirmed behavior

Registers a RoutePath* with the ADAS subsystem's own route-tracking object. Real, confirmed call targets:

Target What it suggests
setJunctionId__16CfcTypeNavDBInfoi (called twice) Same shared primitive seen throughout the mv_*/Adas functions on this wiki
parseMessage__13CArr_AdasMainRC9msgheader Same ADAS message dispatch already confirmed on mv_convert_slot_nr
writeProtocolHeader__19CfcNetMemoryChannel Wrong name, corrected — same call ADDRESS as mv_convert_slot_nr's own reference to this, now confirmed to be a trivial single-field getter/setter inside a real, confirmed struct-layout cluster, not a protocol-header writer
IsValid__10EHTreeNodel Wrong name, corrected — same address resolves to a field-by-field object-comparison function (operator==-shaped), part of the same struct-layout cluster linked above, not a validity check
swap_poss_leafs__FP10master_recPP14possible_pathsT1 / on_pattern_fact__FP10master_recP14possible_pathsii Real route-search/pattern-matching internals — master_rec/possible_paths are real global function parameter types, strongly suggesting this function drives (or queries) the SAME route-search algorithm machinery this wiki's own name-search catalog pages document from the map-disc side, now confirmed reachable from the ADAS subsystem too
getCurrentCarPosition__FR11DyCoCCPDataR16vehicle_location A real, previously-uncatalogued global function — reads the current car position into a real vehicle_location struct from a DyCoCCPData source (plausibly "Dynamic Coordinate/Car Position" data) — called conditionally near the end, gated on the function's own 3rd argument equalling 1

Net read

AdasRouteObject::SetRouteObject is the real function that hands the ADAS subsystem a route to track, looping over a master_rec/ possible_paths-shaped candidate-path search structure (the same real route-pattern-matching machinery used elsewhere in this codebase's routing/name-search stack) and, depending on an argument flag, also fetches the car's current live position — consistent with the ADAS module needing to know both the active route AND the live vehicle position to correlate detected signs/features against the right stretch of road.

⚠️ **GitHub.com Fallback** ⚠️