PX4 Firmware
PX4 Autopilot Software http://px4.io
sbf_buf_t Struct Reference

#include <sbf.h>

Collaboration diagram for sbf_buf_t:

Public Attributes

uint16_t sync
 
uint16_t crc16
 The Sync field is a 2-byte array always set to 0x24, 0x40. More...
 
uint16_t msg_id: 13
 The CRC field is the 16-bit CRC of all the bytes in an SBF block from and including the ID field to the last byte of the block. More...
 
uint8_t msg_revision: 3
 The ID field is a 2-byte block ID, which uniquely identifies the block type and its contents. More...
 
uint16_t length
 block revision number, starting from 0 at the initial block definition, and incrementing each time backwards - compatible changes are performed to the block More...
 
uint32_t TOW
 The Length field is a 2-byte unsigned integer containing the size of the SBF block. More...
 
uint16_t WNc
 The GPS week number associated with the TOW. More...
 
union {
   sbf_payload_pvt_geodetic_t   payload_pvt_geodetic
 
   sbf_payload_vel_cov_geodetic_t   payload_vel_col_geodetic
 
   sbf_payload_dop_t   payload_dop
 
}; 
 
uint8_t padding [16]
 

Detailed Description

Definition at line 266 of file sbf.h.

Member Data Documentation

◆ @6

union { ... }

◆ crc16

uint16_t sbf_buf_t::crc16

The Sync field is a 2-byte array always set to 0x24, 0x40.

The first byte of every SBF block has hexadecimal value 24 (decimal 36, ASCII ’$’). The second byte of every SBF block has hexadecimal value 40 (decimal 64, ASCII ’@’).

Definition at line 270 of file sbf.h.

Referenced by GPSDriverSBF::payloadRxDone().

◆ length

uint16_t sbf_buf_t::length

block revision number, starting from 0 at the initial block definition, and incrementing each time backwards - compatible changes are performed to the block

Definition at line 279 of file sbf.h.

Referenced by GPSDriverSBF::payloadRxAdd(), and GPSDriverSBF::payloadRxDone().

◆ msg_id

uint16_t sbf_buf_t::msg_id

The CRC field is the 16-bit CRC of all the bytes in an SBF block from and including the ID field to the last byte of the block.

The generator polynomial for this CRC is the so-called CRC-CCITT polynomial: x 16 + x 12 + x 5 + x 0 . The CRC is computed in the forward direction using a seed of 0, no reverse and no final XOR.

Definition at line 275 of file sbf.h.

Referenced by GPSDriverSBF::payloadRxDone().

◆ msg_revision

uint8_t sbf_buf_t::msg_revision

The ID field is a 2-byte block ID, which uniquely identifies the block type and its contents.

Definition at line 277 of file sbf.h.

◆ padding

uint8_t sbf_buf_t::padding[16]

Definition at line 294 of file sbf.h.

◆ payload_dop

sbf_payload_dop_t sbf_buf_t::payload_dop

Definition at line 291 of file sbf.h.

Referenced by GPSDriverSBF::payloadRxDone().

◆ payload_pvt_geodetic

sbf_payload_pvt_geodetic_t sbf_buf_t::payload_pvt_geodetic

Definition at line 289 of file sbf.h.

Referenced by GPSDriverSBF::payloadRxDone().

◆ payload_vel_col_geodetic

sbf_payload_vel_cov_geodetic_t sbf_buf_t::payload_vel_col_geodetic

Definition at line 290 of file sbf.h.

Referenced by GPSDriverSBF::payloadRxDone().

◆ sync

uint16_t sbf_buf_t::sync

Definition at line 267 of file sbf.h.

◆ TOW

uint32_t sbf_buf_t::TOW

The Length field is a 2-byte unsigned integer containing the size of the SBF block.

It is the total number of bytes in the SBF block including the header. It is always a multiple of 4. Time-Of-Week: Time-tag, expressed in whole milliseconds from the beginning of the current Galileo/GPSweek.

Definition at line 282 of file sbf.h.

Referenced by GPSDriverSBF::payloadRxDone().

◆ WNc

uint16_t sbf_buf_t::WNc

The GPS week number associated with the TOW.

WNc is a continuous weekcount (hence the "c"). It is not affected by GPS week roll overs, which occur every 1024 weeks. By definition of the Galileo system time, WNc is also the Galileo week number + 1024.

Definition at line 284 of file sbf.h.

Referenced by GPSDriverSBF::payloadRxDone().


The documentation for this struct was generated from the following file: