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

TransformHeadingAngleRelative — AdasTools::TransformHeadingAngleRelative

Part of Firmware Reversing.

  • File offset: 0x7add68 (VA 0xf703ba5c)
  • Status: 🟡* Partially traced — the real logic is clear, but the function's own real end shows the same "no locally-visible blr" anomaly already documented on Firmware Reversing (a 5th/6th real instance, see UpdateSettingsDueToDVDChange below) — not chased further.
  • Full mangled name: TransformHeadingAngleRelative__9AdasToolsi (1 int argument, matching ReverseTransformAngle's own signature — real inverse-transform pair)

Real, confirmed behavior

TransformHeadingAngleRelative(angle): calls a real lookup/transform function (through a global object, resolved indirectly) with the input angle and 2 output slots zeroed beforehand. If the call succeeds (result 0), writes the first output value through the function's own 2nd argument (an output pointer) and returns. On failure, 2 distinct log/diagnostic call sites run (same recurring li r3, 0x76 file-id constant already seen at several other call sites across this codebase — see the note on 0x78834c — with line numbers 0x31c/0x31e here), then returns 0.

Together with ReverseTransformAngle (same class, same 1-int signature), this is a real, confirmed heading-angle coordinate transform pair — plausibly converting between the external ADAS module's own heading reference frame and the head unit's internal one (see the retracted "camera module" framing on Firmware Reversing's ADAS section — this page never claimed camera specifically, but the same caution applies: the external module is real and confirmed, what kind of module it is isn't).