Off Board Thermal Calibration Difficulties

Iā€™ve been working with the off-board thermal calibration process for the past few days and Iā€™ve got almost everything functioning. However, when I run my .ulg file through the processing script (process_sensor_caldata.py) the script only detects baro data and none of the other sensors that should have data. I would expect to see 2 accelerometers and 2 gyros as well as the baro.

I will note that I was only using a class 10 micro SD for logging. Maybe that isnā€™t good enough to keep up with the logger for this calibration?

Here is the log I used:
https://review.px4.io/plot_app?log=7cabb517-c609-4f14-b4ec-0648452b450d

I also had to implement the GE 3 condition to get the baro data to work as mentioned in the thread linked below:

Looking at the code, the wiki instructions have been obsoleted by the changes to the logger. Please set SDLOG_PROFILE to 4 and see if that logs the required messages.

Iā€™ve tested this on a pixracer and It looks like the raw baro sensor logging is no longer working. I will investigate further.

It looks like the script is failing due to a bug when there is only one set of baro data. I will push a fix.

Fixed: https://github.com/PX4/Firmware/pull/8627

@Paul_Riseborough I implemented those changes and everything worked as expected! Thanks!

@Paul_Riseborough Iā€™ve been working with this calibration a bit more. Iā€™m not sure if Iā€™ve encountered another bug or not. However, I keep getting the following error when I run the script:

ā€œTraceback (most recent call last):
File ā€œprocess_sensor_caldata.pyā€, line 712, in
baro_0_params[ā€˜TC_B0_IDā€™] = int(np.median(sensor_baro_0[ā€˜device_idā€™]))
NameError: name ā€˜sensor_baro_0ā€™ is not definedā€

Iā€™m fairly certain I have everything logging correctly and the plots that show up on flight review looks like all of the data is there. Thoughts?

here are the plots: https://review.px4.io/plot_app?log=3a41c0ee-6690-4f26-a5c5-8a9ed2909383

Works on my pixracer log https://logs.px4.io/plot_app?log=34161e52-ce1e-494c-8ce7-6f6a8e2f9182 when I use latest master.

I tried everything out again with several different autopilots and determined that the one I was using in the instance above was in a strange state where the autopilot was unable to change its logging profile state. After resetting the board I was able to perform a calibration successfully.