Skip to content

Commit

Permalink
[ublox] Hw-Sw version info and Config Info on startup
Browse files Browse the repository at this point in the history
  • Loading branch information
dewagter committed Oct 8, 2018
1 parent 00f5745 commit d66e47b
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 12 deletions.
28 changes: 28 additions & 0 deletions conf/ubx.xml
Expand Up @@ -286,6 +286,20 @@
<field name="res3" format="U1"/>
</message>

<message name="GNSS" ID="0x3E" length="12">
<field name="version" format="U1"/>
<field name="numTrkChHw" format="U1"/>
<field name="numTrkChUse" format="U1"/>
<field name="numConfigBlocks" format="U1"/>
<block length="8">
<field name="gnssId" format="U1"/>
<field name="resTrckCh" format="U1"/>
<field name="maxTrckCh" format="U1"/>
<field name="reserved" format="U1"/>
<field name="flags" format="U4"/>
</block>
</message>

<message name="DGNSS" ID="0x70" length="4">
<field name="dgnssMode" format="U1"/>
<field name="RES1" format="U2"/>
Expand Down Expand Up @@ -388,6 +402,20 @@ supported.
</block>
</message>

<message name="GET_GNSS" ID="0x28" length="0">
</message>

<message name="GNSS" ID="0x28" length="8">
<field name="version" format="U1"/>
<field name="supported" format="U1"/>
<field name="defaultGnss" format="U1"/>
<field name="enabled" format="U1"/>
<field name="simultaneous" format="U1"/>
<field name="reserved1" format="U1"/>
<field name="reserved2" format="U1"/>
<field name="reserved3" format="U1"/>
</message>

</msg_class>

</ubx>
26 changes: 15 additions & 11 deletions sw/airborne/modules/gps/gps_ubx_ucenter.c
Expand Up @@ -188,6 +188,8 @@ void gps_ubx_ucenter_event(void)

DEBUG_PRINT("ublox sw_ver: %u.%u\n", gps_ubx_ucenter.sw_ver_h, gps_ubx_ucenter.sw_ver_l);
DEBUG_PRINT("ublox hw_ver: %u.%u\n", gps_ubx_ucenter.hw_ver_h, gps_ubx_ucenter.hw_ver_l);
} else if (gps_ubx.msg_id == UBX_MON_GNSS_ID) {
gps_ubx_ucenter.gnss_in_use = UBX_MON_GNSS_enabled(gps_ubx.msg_buf);
}
break;
case UBX_CFG_ID:
Expand Down Expand Up @@ -461,7 +463,7 @@ static inline void gps_ubx_ucenter_config_port(void)
#define GPS_SBAS_CORRECTIONS 0x02
#define GPS_SBAS_INTEGRITY 0x04

#define GPS_SBAS_MAX_SBAS 1 // Default ublox setting uses 3 SBAS channels(?)
#define GPS_SBAS_MAX_SBAS 3 // Default ublox setting uses 3 SBAS channels(?)

#define GPS_SBAS_AUTOSCAN 0x00

Expand Down Expand Up @@ -513,16 +515,6 @@ static bool gps_ubx_ucenter_configure(uint8_t nr)
// Version info is important for proper configuration as different firmwares have different settings
break;
case 6:
// Send some debugging info: detected baudrate, software version etc...
gps_ubx_ucenter.replies[0] = (gps_ubx_ucenter.baud_init / 1000);
gps_ubx_ucenter.replies[1] = (gps_ubx_ucenter.baud_init - 1000 * gps_ubx_ucenter.replies[0]) / 100;
gps_ubx_ucenter.replies[2] = gps_ubx_ucenter.sw_ver_h;
gps_ubx_ucenter.replies[3] = gps_ubx_ucenter.sw_ver_l;
gps_ubx_ucenter.replies[4] = gps_ubx_ucenter.hw_ver_h;
gps_ubx_ucenter.replies[5] = gps_ubx_ucenter.hw_ver_l;
#if DEBUG_GPS_UBX_UCENTER
DOWNLINK_SEND_DEBUG(DefaultChannel, DefaultDevice, 6, gps_ubx_ucenter.replies);
#endif
// Configure CFG-NAV(5) message
gps_ubx_ucenter_config_nav();
break;
Expand Down Expand Up @@ -599,13 +591,25 @@ static bool gps_ubx_ucenter_configure(uint8_t nr)
UbxSend_CFG_CFG(gps_ubx_ucenter.dev, 0x00000000, 0xffffffff, 0x00000000);
break;
case 22:
UbxSend_MON_GET_GNSS(gps_ubx_ucenter.dev);
break;
case 23:
break;
case 24:
#if DEBUG_GPS_UBX_UCENTER
// Debug Downlink the result of all configuration steps: see messages
// To view, enable DEBUG message in your telemetry configuration .xml
DOWNLINK_SEND_DEBUG(DefaultChannel, DefaultDevice, GPS_UBX_UCENTER_CONFIG_STEPS, gps_ubx_ucenter.replies);
for (int i = 0; i < GPS_UBX_UCENTER_CONFIG_STEPS; i++) {
DEBUG_PRINT("%u\n", gps_ubx_ucenter.replies[i]);
}
#endif
#ifdef DOWNLINK_TRANSPORT
{
uint8_t sbas = GPS_SBAS_RANGING | GPS_SBAS_CORRECTIONS | GPS_SBAS_INTEGRITY;
uint8_t gnss = gps_ubx_ucenter.gnss_in_use ;
DOWNLINK_SEND_UBLOX_INFO(DefaultChannel, DefaultDevice, &gps_ubx_ucenter.baud_run, &gps_ubx_ucenter.sw_ver_h, &gps_ubx_ucenter.sw_ver_l, &gps_ubx_ucenter.hw_ver_h, &gps_ubx_ucenter.hw_ver_l, &sbas, &gnss);
}
#endif
return false;
default:
Expand Down
2 changes: 2 additions & 0 deletions sw/airborne/modules/gps/gps_ubx_ucenter.h
Expand Up @@ -49,6 +49,8 @@ struct gps_ubx_ucenter_struct {
uint16_t hw_ver_h;
uint16_t hw_ver_l;

uint8_t gnss_in_use;

/// Port identifier number
uint8_t port_id;

Expand Down
2 changes: 1 addition & 1 deletion sw/ext/pprzlink

0 comments on commit d66e47b

Please sign in to comment.