"Dummy" i2c compass


Im making a indoor project (room with drone only with safety nets, safety first).
Important note: I’m not changing anything in the ardupilot code.

Edit: this was supposed to be in the Dev sub-forum, to any moderator: move it at will.

I’m feeding the GPS port with GPGGA GPVTG & GPRMC frames build from various sensors (camera, lidar, & TI-mmwradar).

I currently have an accuracy of +/- 1cm for “latitude” & “longitude” and +/- 5cm for the altitude.

This part is working.

I’m now trying to make i2c port receive data from Raspberry-pi i2c.
So I try to “trick” the FC by making the Rpi behave as an HMC8853L.

But I can’t understand the detection sequence (nor find it), here are the only data I receive on the i2c port of the Rpi from my Pixhawk:

DATA_RECV Qty 1 : char[?] decimal[255] hex[ff]
(ignore the ? its just %c of the byte, and its not printable).

The Pixhawk works perfectly with the real compass mounted on the i2c port ( so its not broken).

Could anyone point me to where I can find the full i2c probe sequence (in the code) or even better to a doc with it (I have no idea if sequence diagrams do exist or not or if the i2c sequence is actually documented)?

I dug the HML doc & ff isn’t a valid signal, so Im missing some information.