The optical-flow calibration is running or has finished
What ArduPilot says:
- FlowCal: Started
- … samples collected
- … scalar…:N.N fit:N.N
- FlowCal: FLOW_FXSCALER=N, FLOW_FYSCALER=N
- … perfect scalar… of 1.0
- FlowCal: Stopped
The calibration (a switch with RCn_OPTION 158) collects 50 samples for each axis while you rock the aircraft. A sample counts only when the rotation and the measured flow both exceed 20°/s and yaw stays under 20°/s; after 120 s it gives up. “scalarx:1.050 fit:0.12” is one axis: the factor the sensor's reading must be multiplied by, and how well it fits (lower is better, 0.5 is the limit). The last line gives the new FLOW_FXSCALER and FLOW_FYSCALER, already saved, in parts per thousand: 50 means the reading is multiplied by 1.05.
Parameters to look at
| Parameter | What it is |
|---|---|
FLOW_FXSCALER | X axis optical flow scale factor correction |
FLOW_FYSCALER | Y axis optical flow scale factor correction |
FLOW_TYPE | Optical flow sensor type |
The code that sends it
FlowCal: Started
libraries/AP_OpticalFlow/AP_OpticalFlow_Calibrator.cpp AP_OpticalFlow_Calibrator::start() · Open in ArduPilot Copter-4.7.1
… samples collected
libraries/AP_OpticalFlow/AP_OpticalFlow_Calibrator.cpp AP_OpticalFlow_Calibrator::update() · Open in ArduPilot Copter-4.7.1
… scalar…:N.N fit:N.N
libraries/AP_OpticalFlow/AP_OpticalFlow_Calibrator.cpp AP_OpticalFlow_Calibrator::calc_scalars() · Open in ArduPilot Copter-4.7.1
FlowCal: FLOW_FXSCALER=N, FLOW_FYSCALER=N
libraries/AP_OpticalFlow/AP_OpticalFlow.cpp AP_OpticalFlow::update() · Open in ArduPilot Copter-4.7.1
And 2 more messages, sent from the same places.