1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-19 14:25:20 +03:00

Merge pull request #5955 from David-VG/master

MSP for GPS Rescue
This commit is contained in:
Michael Keller 2018-08-18 12:56:12 +12:00 committed by GitHub
commit 5a2501f3e5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 53 additions and 0 deletions

View file

@ -1064,6 +1064,31 @@ static bool mspProcessOutCommand(uint8_t cmdMSP, sbuf_t *dst)
sbufWriteU8(dst, GPS_svinfo_cno[i]); sbufWriteU8(dst, GPS_svinfo_cno[i]);
} }
break; break;
#ifdef USE_GPS_RESCUE
case MSP_GPS_RESCUE:
sbufWriteU16(dst, gpsRescue()->angle);
sbufWriteU16(dst, gpsRescue()->initialAltitude);
sbufWriteU16(dst, gpsRescue()->descentDistance);
sbufWriteU16(dst, gpsRescue()->rescueGroundspeed);
sbufWriteU16(dst, gpsRescue()->throttleMin);
sbufWriteU16(dst, gpsRescue()->throttleMax);
sbufWriteU16(dst, gpsRescue()->throttleHover);
sbufWriteU16(dst, gpsRescue()->throttleMax);
sbufWriteU8(dst, gpsRescue()->sanityChecks);
sbufWriteU8(dst, gpsRescue()->minSats);
break;
case MSP_GPS_RESCUE_PIDS:
sbufWriteU16(dst, gpsRescue()->throttleP);
sbufWriteU16(dst, gpsRescue()->throttleI);
sbufWriteU16(dst, gpsRescue()->throttleD);
sbufWriteU16(dst, gpsRescue()->velP);
sbufWriteU16(dst, gpsRescue()->velI);
sbufWriteU16(dst, gpsRescue()->velD);
sbufWriteU16(dst, gpsRescue()->yawP);
break;
#endif
#endif #endif
case MSP_ACC_TRIM: case MSP_ACC_TRIM:
@ -1717,6 +1742,30 @@ static mspResult_e mspProcessInCommand(uint8_t cmdMSP, sbuf_t *src)
gpsConfigMutable()->autoConfig = sbufReadU8(src); gpsConfigMutable()->autoConfig = sbufReadU8(src);
gpsConfigMutable()->autoBaud = sbufReadU8(src); gpsConfigMutable()->autoBaud = sbufReadU8(src);
break; break;
#ifdef USE_GPS_RESCUE
case MSP_SET_GPS_RESCUE:
gpsRescueMutable()->angle = sbufReadU16(src);
gpsRescueMutable()->initialAltitude = sbufReadU16(src);
gpsRescueMutable()->descentDistance = sbufReadU16(src);
gpsRescueMutable()->rescueGroundspeed = sbufReadU16(src);
gpsRescueMutable()->throttleMin = sbufReadU16(src);
gpsRescueMutable()->throttleMax = sbufReadU16(src);
gpsRescueMutable()->throttleHover = sbufReadU16(src);
gpsRescueMutable()->sanityChecks = sbufReadU8(src);
gpsRescueMutable()->minSats = sbufReadU8(src);
break;
case MSP_SET_GPS_RESCUE_PIDS:
gpsRescueMutable()->throttleP = sbufReadU16(src);
gpsRescueMutable()->throttleI = sbufReadU16(src);
gpsRescueMutable()->throttleD = sbufReadU16(src);
gpsRescueMutable()->velP = sbufReadU16(src);
gpsRescueMutable()->velI = sbufReadU16(src);
gpsRescueMutable()->velD = sbufReadU16(src);
gpsRescueMutable()->yawP = sbufReadU16(src);
break;
#endif
#endif #endif
#ifdef USE_MAG #ifdef USE_MAG

View file

@ -279,6 +279,8 @@
#define MSP_GPS_CONFIG 132 //out message GPS configuration #define MSP_GPS_CONFIG 132 //out message GPS configuration
#define MSP_COMPASS_CONFIG 133 //out message Compass configuration #define MSP_COMPASS_CONFIG 133 //out message Compass configuration
#define MSP_ESC_SENSOR_DATA 134 //out message Extra ESC data from 32-Bit ESCs (Temperature, RPM) #define MSP_ESC_SENSOR_DATA 134 //out message Extra ESC data from 32-Bit ESCs (Temperature, RPM)
#define MSP_GPS_RESCUE 135 //out message GPS Rescues's angle, initialAltitude, descentDistance, rescueGroundSpeed, sanityChecks and minSats
#define MSP_GPS_RESCUE_PIDS 136 //out message GPS Rescues's throttleP and velocity PIDS + yaw P
#define MSP_SET_RAW_RC 200 //in message 8 rc chan #define MSP_SET_RAW_RC 200 //in message 8 rc chan
#define MSP_SET_RAW_GPS 201 //in message fix, numsat, lat, lon, alt, speed #define MSP_SET_RAW_GPS 201 //in message fix, numsat, lat, lon, alt, speed
@ -305,6 +307,8 @@
#define MSP_SET_MOTOR_CONFIG 222 //out message Motor configuration (min/max throttle, etc) #define MSP_SET_MOTOR_CONFIG 222 //out message Motor configuration (min/max throttle, etc)
#define MSP_SET_GPS_CONFIG 223 //out message GPS configuration #define MSP_SET_GPS_CONFIG 223 //out message GPS configuration
#define MSP_SET_COMPASS_CONFIG 224 //out message Compass configuration #define MSP_SET_COMPASS_CONFIG 224 //out message Compass configuration
#define MSP_SET_GPS_RESCUE 225 //in message GPS Rescues's angle, initialAltitude, descentDistance, rescueGroundSpeed, sanityChecks and minSats
#define MSP_SET_GPS_RESCUE_PIDS 226 //in message GPS Rescues's throttleP and velocity PIDS + yaw P
// #define MSP_BIND 240 //in message no param // #define MSP_BIND 240 //in message no param
// #define MSP_ALARMS 242 // #define MSP_ALARMS 242