1
0
Fork 0
mirror of https://github.com/iNavFlight/inav.git synced 2025-07-25 17:25:18 +03:00

Merge pull request #1002 from iNavFlight/msp-nav-poshold

MSP_NAV_POSHOLD Frame support
This commit is contained in:
Paweł Spychalski 2017-01-05 21:17:50 +01:00 committed by GitHub
commit 3b1ff83d41
2 changed files with 27 additions and 0 deletions

View file

@ -1163,6 +1163,18 @@ static bool mspFcProcessOutCommand(uint8_t cmdMSP, sbuf_t *dst, mspPostProcessFn
sbufWriteU8(dst, 0); // optical flow hardware
break;
#ifdef NAV
case MSP_NAV_POSHOLD:
sbufWriteU8(dst, navConfig()->general.flags.user_control_mode);
sbufWriteU16(dst, navConfig()->general.max_speed);
sbufWriteU16(dst, navConfig()->general.max_climb_rate);
sbufWriteU16(dst, navConfig()->general.max_manual_speed);
sbufWriteU16(dst, navConfig()->general.max_manual_climb_rate);
sbufWriteU8(dst, navConfig()->mc.max_bank_angle);
sbufWriteU8(dst, navConfig()->general.flags.use_thr_mid_for_althold);
sbufWriteU16(dst, navConfig()->mc.hover_throttle);
break;
#endif
case MSP_REBOOT:
if (!ARMING_FLAG(ARMED)) {
if (mspPostProcessFn) {
@ -1590,6 +1602,19 @@ static mspResult_e mspFcProcessInCommand(uint8_t cmdMSP, sbuf_t *src)
sbufReadU8(src); // optical flow hardware
break;
#ifdef NAV
case MSP_SET_NAV_POSHOLD:
navConfig()->general.flags.user_control_mode = sbufReadU8(src);
navConfig()->general.max_speed = sbufReadU16(src);
navConfig()->general.max_climb_rate = sbufReadU16(src);
navConfig()->general.max_manual_speed = sbufReadU16(src);
navConfig()->general.max_manual_climb_rate = sbufReadU16(src);
navConfig()->mc.max_bank_angle = sbufReadU8(src);
navConfig()->general.flags.use_thr_mid_for_althold = sbufReadU8(src);
navConfig()->mc.hover_throttle = sbufReadU16(src);
break;
#endif
case MSP_RESET_CONF:
if (!ARMING_FLAG(ARMED)) {
resetEEPROM();