@ -72,7 +72,7 @@ const AP_Param::GroupInfo AP_GPS::var_info[] = {
@@ -72,7 +72,7 @@ const AP_Param::GroupInfo AP_GPS::var_info[] = {
// @Param: TYPE
// @DisplayName: GPS type
// @Description: GPS type
// @Values: 0:None,1:AUTO,2:uBlox,3:MTK,4:MTK19,5:NMEA,6:SiRF,7:HIL,8:SwiftNav,9:UAVCAN,10:SBF,11:GSOF,13:ERB,14:MAV,15:NOVA
// @Values: 0:None,1:AUTO,2:uBlox,3:MTK,4:MTK19,5:NMEA,6:SiRF,7:HIL,8:SwiftNav,9:UAVCAN,10:SBF,11:GSOF,13:ERB,14:MAV,15:NOVA,16:HemisphereNMEA
// @RebootRequired: True
// @User: Advanced
AP_GROUPINFO ( " TYPE " , 0 , AP_GPS , _type [ 0 ] , HAL_GPS_TYPE_DEFAULT ) ,
@ -80,7 +80,7 @@ const AP_Param::GroupInfo AP_GPS::var_info[] = {
@@ -80,7 +80,7 @@ const AP_Param::GroupInfo AP_GPS::var_info[] = {
// @Param: TYPE2
// @DisplayName: 2nd GPS type
// @Description: GPS type of 2nd GPS
// @Values: 0:None,1:AUTO,2:uBlox,3:MTK,4:MTK19,5:NMEA,6:SiRF,7:HIL,8:SwiftNav,9:UAVCAN,10:SBF,11:GSOF,13:ERB,14:MAV,15:NOVA
// @Values: 0:None,1:AUTO,2:uBlox,3:MTK,4:MTK19,5:NMEA,6:SiRF,7:HIL,8:SwiftNav,9:UAVCAN,10:SBF,11:GSOF,13:ERB,14:MAV,15:NOVA,16:HemisphereNMEA
// @RebootRequired: True
// @User: Advanced
AP_GROUPINFO ( " TYPE2 " , 1 , AP_GPS , _type [ 1 ] , 0 ) ,
@ -488,7 +488,11 @@ void AP_GPS::detect_instance(uint8_t instance)
@@ -488,7 +488,11 @@ void AP_GPS::detect_instance(uint8_t instance)
dstate - > last_baud_change_ms = now ;
if ( _auto_config = = GPS_AUTO_CONFIG_ENABLE & & new_gps = = nullptr ) {
send_blob_start ( instance , _initialisation_blob , sizeof ( _initialisation_blob ) ) ;
if ( _type [ instance ] = = GPS_TYPE_HEMI ) {
send_blob_start ( instance , AP_GPS_NMEA_HEMISPHERE_INIT_STRING , strlen ( AP_GPS_NMEA_HEMISPHERE_INIT_STRING ) ) ;
} else {
send_blob_start ( instance , _initialisation_blob , sizeof ( _initialisation_blob ) ) ;
}
}
}
@ -540,7 +544,8 @@ void AP_GPS::detect_instance(uint8_t instance)
@@ -540,7 +544,8 @@ void AP_GPS::detect_instance(uint8_t instance)
else if ( ( _type [ instance ] = = GPS_TYPE_AUTO | | _type [ instance ] = = GPS_TYPE_ERB ) & &
AP_GPS_ERB : : _detect ( dstate - > erb_detect_state , data ) ) {
new_gps = new AP_GPS_ERB ( * this , state [ instance ] , _port [ instance ] ) ;
} else if ( _type [ instance ] = = GPS_TYPE_NMEA & &
} else if ( ( _type [ instance ] = = GPS_TYPE_NMEA | |
_type [ instance ] = = GPS_TYPE_HEMI ) & &
AP_GPS_NMEA : : _detect ( dstate - > nmea_detect_state , data ) ) {
new_gps = new AP_GPS_NMEA ( * this , state [ instance ] , _port [ instance ] ) ;
}