mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-26 09:45:33 +03:00
Experimental opflow calibration; Add opflow calibration value to MSP [ci skip]
This commit is contained in:
parent
8fe96cfca4
commit
d2368ff17b
4 changed files with 57 additions and 3 deletions
|
@ -1252,6 +1252,12 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF
|
|||
sbufWriteU16(dst, 0);
|
||||
sbufWriteU16(dst, 0);
|
||||
#endif
|
||||
|
||||
#ifdef USE_OPTICAL_FLOW
|
||||
sbufWriteU16(dst, opticalFlowConfig()->opflow_scale * 256);
|
||||
#else
|
||||
sbufWriteU16(dst, 0);
|
||||
#endif
|
||||
break;
|
||||
|
||||
case MSP_POSITION_ESTIMATION_CONFIG:
|
||||
|
@ -2163,6 +2169,11 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src)
|
|||
sbufReadU16(src);
|
||||
sbufReadU16(src);
|
||||
sbufReadU16(src);
|
||||
#endif
|
||||
#ifdef USE_OPTICAL_FLOW
|
||||
if (dataSize >= 20) {
|
||||
opticalFlowConfigMutable()->opflow_scale = sbufReadU16(src) / 256.0f;
|
||||
}
|
||||
#endif
|
||||
} else
|
||||
return MSP_RESULT_ERROR;
|
||||
|
@ -2205,6 +2216,13 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src)
|
|||
return MSP_RESULT_ERROR;
|
||||
break;
|
||||
|
||||
case MSP2_INAV_OPFLOW_CALIBRATION:
|
||||
if (!ARMING_FLAG(ARMED))
|
||||
opflowStartCalibration();
|
||||
else
|
||||
return MSP_RESULT_ERROR;
|
||||
break;
|
||||
|
||||
case MSP_EEPROM_WRITE:
|
||||
if (!ARMING_FLAG(ARMED)) {
|
||||
writeEEPROM();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue