In-flight flow calibration not working?

I have a quad that is otherwise tuned well flying excellent in all modes with a kakute h7 mini, tfmini-s, and m10q gps. I am trying to add a Matek 3901-L0X flow sensor to it, and so far it seems to be working well using the scalers provided by Matek (-800/-800). However I tried doing the in-flight flow calibration per the manual using rc12_options=158, but it never seems to succeed (scalars remain 0 afterwards). I don’t have telemetry (outside of elrs), so I can’t read the GCS messages as suggested in the manual. Modes in the log don’t go to 158, just 5 for loiter, but not sure if it’s supposed to show mode 158 during flow cal. Logs also showed continuous and smooth rangefinder data throughout all flow cal flights. I do have some ancient sik radios I could use for this, but my UARTs are already full (could scrap esc telem wire to get r7, but no t7 unfortunately). I was hoping to find something in the logs to show if it even started trying to calibrate, or a reason it may have failed.

To be clear, I’m following the manual exactly except the 10m min. Ekf3 parameters are set to match the manual for in-flight calibration. I’m even taking off in loiter, up to altitude, switch ch12 to 2000uSec, and rocking pitch/roll just like Randy did in his demonstration video. I was only able to climb to ~8m (not >10m) due to a tree on site. Logs are showing ch12 high while in loiter, and logs also verify I saved rc12_options=158 correctly… but the scalers never change from 0 after the calibration flight after separate 2 attempts.

I must be missing something simple. This is with a kakute h7 mini using serial 1. Is there another way besides adding mavlink GCS telemetry for me to see how flow calibration is doing realtime? Is there any other log I could look at that would help me troubleshoot this? Is there a hard coded limit to where flow cal doesn’t fire if below 10m?

I’d just roll with -800, but Randy mentioned many times that in-flight cal is the way to go as it’s more precise.

Max working range of the 3901 is 800cm. And in my limited experience with it, that’s optimistic. And it doesn’t work well in full sunlight. Better in-doors.

http://www.mateksys.com/?portfolio=3901-l0x#tab-id-2

My understanding is the 3901 works from 8cm to infinity. I understand the built in lidar on the Matek 3901 is only good to 2m max, but I’m using a tf-minis that’s good to at least 7m outside. Here are some snippets that show good data from both sensors at 4.5m outside (bright sun on a lawn):

I don’t plan on relying on flow outdoors anyways though… it’s more of a backup in case of bad solar flares etc that may take out gps location. Also, I should mention farther in the log I only made it to about 7.2m AGL… not 8m like I said before.

[edit: Basically with the data from those logs, it seems in flight flow cal should be working for me, no?]

You are probably using ArduCopter 4.3.x . Why did you post on the ArduCopter 4.0.x category?

I may have been too hasty posting this, and didn’t notice the category breakdowns include 4.X. Is there a way I can move it?

I changed my lidar to i2c and wired up telemetry using elrs airport. I ran flow calibration again with my GCS connected and receiving messages. Flow calibration finished with a message to the effect “Could not come up with better values”. The messages didn’t include calibrated values or standard deviation.

Is the lack of values and standard deviation in the message just how it handles when new values are too close to existing values, or does this point to an issue with flow calibration?

I could try again after resetting scalers to 0, to see what it says. Figured I might ask first though.