aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/gps/ubx.h
diff options
context:
space:
mode:
authorKynos <mail01@delago.net>2014-06-16 01:43:44 +0200
committerKynos <mail01@delago.net>2014-06-16 01:43:44 +0200
commit243db01a37d5d3adecc2e010ac4d9819cf3d6c37 (patch)
tree3743d37dbcc836eefbd340c9016eba8569889ecd /src/drivers/gps/ubx.h
parent1b8e72be1b9614bff4e1bdf81ad7f3265754e062 (diff)
downloadpx4-firmware-243db01a37d5d3adecc2e010ac4d9819cf3d6c37.tar.gz
px4-firmware-243db01a37d5d3adecc2e010ac4d9819cf3d6c37.tar.bz2
px4-firmware-243db01a37d5d3adecc2e010ac4d9819cf3d6c37.zip
Request and display MON-VER message at startup
Diffstat (limited to 'src/drivers/gps/ubx.h')
-rw-r--r--src/drivers/gps/ubx.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/drivers/gps/ubx.h b/src/drivers/gps/ubx.h
index 8fd8d4da6..c8c89dfad 100644
--- a/src/drivers/gps/ubx.h
+++ b/src/drivers/gps/ubx.h
@@ -72,6 +72,7 @@
#define UBX_ID_CFG_MSG 0x01
#define UBX_ID_CFG_RATE 0x08
#define UBX_ID_CFG_NAV5 0x24
+#define UBX_ID_MON_VER 0x04
#define UBX_ID_MON_HW 0x09
/* Message Classes & IDs */
@@ -87,6 +88,7 @@
#define UBX_MSG_CFG_RATE ((UBX_CLASS_CFG) | UBX_ID_CFG_RATE << 8)
#define UBX_MSG_CFG_NAV5 ((UBX_CLASS_CFG) | UBX_ID_CFG_NAV5 << 8)
#define UBX_MSG_MON_HW ((UBX_CLASS_MON) | UBX_ID_MON_HW << 8)
+#define UBX_MSG_MON_VER ((UBX_CLASS_MON) | UBX_ID_MON_VER << 8)
/* TX CFG-PRT message contents */
#define UBX_TX_CFG_PRT_PORTID 0x01 /**< UART1 */
@@ -249,6 +251,17 @@ typedef struct {
uint32_t pullL;
} ubx_payload_rx_mon_hw_ubx7_t;
+/* Rx MON-VER Part 1 */
+typedef struct {
+ uint8_t swVersion[30];
+ uint8_t hwVersion[10];
+} ubx_payload_rx_mon_ver_part1_t;
+
+/* Rx MON-VER Part 2 (repeated) */
+typedef struct {
+ uint8_t extension[30];
+} ubx_payload_rx_mon_ver_part2_t;
+
/* Rx ACK-ACK */
typedef union {
uint16_t msg;
@@ -333,6 +346,8 @@ typedef union {
ubx_payload_rx_nav_velned_t payload_rx_nav_velned;
ubx_payload_rx_mon_hw_ubx6_t payload_rx_mon_hw_ubx6;
ubx_payload_rx_mon_hw_ubx7_t payload_rx_mon_hw_ubx7;
+ ubx_payload_rx_mon_ver_part1_t payload_rx_mon_ver_part1;
+ ubx_payload_rx_mon_ver_part2_t payload_rx_mon_ver_part2;
ubx_payload_rx_ack_ack_t payload_rx_ack_ack;
ubx_payload_rx_ack_nak_t payload_rx_ack_nak;
ubx_payload_tx_cfg_prt_t payload_tx_cfg_prt;
@@ -366,7 +381,6 @@ typedef enum {
UBX_RXMSG_ERROR_LENGTH
} ubx_rxmsg_state_t;
-
/* ACK state */
typedef enum {
UBX_ACK_IDLE = 0,
@@ -400,7 +414,8 @@ private:
* Add payload rx byte
*/
int payload_rx_add(const uint8_t b);
- int payload_rx_add_svinfo(const uint8_t b);
+ int payload_rx_add_nav_svinfo(const uint8_t b);
+ int payload_rx_add_mon_ver(const uint8_t b);
/**
* Finish payload rx
@@ -455,6 +470,8 @@ private:
hrt_abstime _disable_cmd_last;
uint16_t _ack_waiting_msg;
ubx_buf_t _buf;
+ char _ubx_sw_version[30];
+ char _ubx_hw_version[10];
};
#endif /* UBX_H_ */