|
|
@ -1024,7 +1024,8 @@ AP_GPS_UBLOX::_parse_gps(void) |
|
|
|
if (_buffer.status.fix_status & NAV_STATUS_FIX_VALID) { |
|
|
|
if (_buffer.status.fix_status & NAV_STATUS_FIX_VALID) { |
|
|
|
if( (_buffer.status.fix_type == AP_GPS_UBLOX::FIX_3D) && |
|
|
|
if( (_buffer.status.fix_type == AP_GPS_UBLOX::FIX_3D) && |
|
|
|
(_buffer.status.fix_status & AP_GPS_UBLOX::NAV_STATUS_DGPS_USED)) { |
|
|
|
(_buffer.status.fix_status & AP_GPS_UBLOX::NAV_STATUS_DGPS_USED)) { |
|
|
|
next_fix = AP_GPS::GPS_OK_FIX_3D_DGPS; |
|
|
|
// next_fix = AP_GPS::GPS_OK_FIX_3D_DGPS;
|
|
|
|
|
|
|
|
next_fix = AP_GPS::GPS_OK_FIX_3D; |
|
|
|
}else if( _buffer.status.fix_type == AP_GPS_UBLOX::FIX_3D) { |
|
|
|
}else if( _buffer.status.fix_type == AP_GPS_UBLOX::FIX_3D) { |
|
|
|
next_fix = AP_GPS::GPS_OK_FIX_3D; |
|
|
|
next_fix = AP_GPS::GPS_OK_FIX_3D; |
|
|
|
}else if (_buffer.status.fix_type == AP_GPS_UBLOX::FIX_2D) { |
|
|
|
}else if (_buffer.status.fix_type == AP_GPS_UBLOX::FIX_2D) { |
|
|
@ -1065,7 +1066,8 @@ AP_GPS_UBLOX::_parse_gps(void) |
|
|
|
if (_buffer.solution.fix_status & NAV_STATUS_FIX_VALID) { |
|
|
|
if (_buffer.solution.fix_status & NAV_STATUS_FIX_VALID) { |
|
|
|
if( (_buffer.solution.fix_type == AP_GPS_UBLOX::FIX_3D) && |
|
|
|
if( (_buffer.solution.fix_type == AP_GPS_UBLOX::FIX_3D) && |
|
|
|
(_buffer.solution.fix_status & AP_GPS_UBLOX::NAV_STATUS_DGPS_USED)) { |
|
|
|
(_buffer.solution.fix_status & AP_GPS_UBLOX::NAV_STATUS_DGPS_USED)) { |
|
|
|
next_fix = AP_GPS::GPS_OK_FIX_3D_DGPS; |
|
|
|
// next_fix = AP_GPS::GPS_OK_FIX_3D_DGPS;
|
|
|
|
|
|
|
|
next_fix = AP_GPS::GPS_OK_FIX_3D; |
|
|
|
}else if( _buffer.solution.fix_type == AP_GPS_UBLOX::FIX_3D) { |
|
|
|
}else if( _buffer.solution.fix_type == AP_GPS_UBLOX::FIX_3D) { |
|
|
|
next_fix = AP_GPS::GPS_OK_FIX_3D; |
|
|
|
next_fix = AP_GPS::GPS_OK_FIX_3D; |
|
|
|
}else if (_buffer.solution.fix_type == AP_GPS_UBLOX::FIX_2D) { |
|
|
|
}else if (_buffer.solution.fix_type == AP_GPS_UBLOX::FIX_2D) { |
|
|
@ -1166,8 +1168,10 @@ AP_GPS_UBLOX::_parse_gps(void) |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 3: |
|
|
|
case 3: |
|
|
|
state.status = AP_GPS::GPS_OK_FIX_3D; |
|
|
|
state.status = AP_GPS::GPS_OK_FIX_3D; |
|
|
|
if (_buffer.pvt.flags & 0b00000010) // diffsoln
|
|
|
|
if (_buffer.pvt.flags & 0b00000010){ // diffsoln
|
|
|
|
state.status = AP_GPS::GPS_OK_FIX_3D_DGPS; |
|
|
|
// state.status = AP_GPS::GPS_OK_FIX_3D_DGPS;
|
|
|
|
|
|
|
|
state.status = AP_GPS::GPS_OK_FIX_3D; |
|
|
|
|
|
|
|
} |
|
|
|
if (_buffer.pvt.flags & 0b01000000) // carrsoln - float
|
|
|
|
if (_buffer.pvt.flags & 0b01000000) // carrsoln - float
|
|
|
|
state.status = AP_GPS::GPS_OK_FIX_3D_RTK_FLOAT; |
|
|
|
state.status = AP_GPS::GPS_OK_FIX_3D_RTK_FLOAT; |
|
|
|
if (_buffer.pvt.flags & 0b10000000) // carrsoln - fixed
|
|
|
|
if (_buffer.pvt.flags & 0b10000000) // carrsoln - fixed
|
|
|
|