Merge pull request #145 from mazgch/mazgch-support-NEOD9C
Add basic support NEO-D9C
This commit is contained in:
@@ -1629,6 +1629,62 @@ typedef struct
|
||||
UBX_RXM_PMP_message_data_t *callbackData;
|
||||
} UBX_RXM_PMP_message_t;
|
||||
|
||||
// UBX-RXM-QZSSL6 (0x02 0x73): QZSS L6 raw data (D9C modules)
|
||||
#define UBX_RXM_QZSSL6_NUM_CHANNELS 2
|
||||
const uint16_t UBX_RXM_QZSSL6_DATALEN = 250;
|
||||
const uint16_t UBX_RXM_QZSSL6_MAX_LEN = UBX_RXM_QZSSL6_DATALEN + 14;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t version; // Message version (0x00 / 0x01)
|
||||
uint8_t svId; // Satellite identifier
|
||||
uint16_t cno; // Mean C/N0
|
||||
uint32_t timeTag; // Time since startup when frame started : ms
|
||||
uint8_t groupDelay; // L6 group delay w.r.t. L2 on channel
|
||||
uint8_t bitErrCorr; // Number of bit errors corrected by Reed-Solomon decoder
|
||||
uint16_t chInfo; // Information about receiver channel associated with a received QZSS L6 message
|
||||
uint8_t reserved0[2]; // Reserved
|
||||
uint8_t msgBytes[UBX_RXM_QZSSL6_DATALEN]; // Bytes in a QZSS L6 message
|
||||
} UBX_RXM_QZSSL6_data_t;
|
||||
|
||||
struct ubxQZSSL6AutomaticFlags
|
||||
{
|
||||
union
|
||||
{
|
||||
uint8_t all;
|
||||
struct
|
||||
{
|
||||
uint8_t automatic : 1; // Will this message be delivered and parsed "automatically" (without polling)
|
||||
uint8_t implicitUpdate : 1; // Is the update triggered by accessing stale data (=true) or by a call to checkUblox (=false)
|
||||
uint8_t addToFileBuffer : 1; // Should the raw UBX data be added to the file buffer?
|
||||
uint8_t callbackCopyValid : UBX_RXM_QZSSL6_NUM_CHANNELS; // Is the copies of the data structs used by the callback valid/fresh?
|
||||
} bits;
|
||||
} flags;
|
||||
};
|
||||
|
||||
// Define a struct to hold the entire QZSSL6 message so the whole thing can be pushed to a GNSS.
|
||||
// Remember that the length of the payload could be variable (with version 1 messages).
|
||||
typedef struct
|
||||
{
|
||||
uint8_t sync1; // 0xB5
|
||||
uint8_t sync2; // 0x62
|
||||
uint8_t cls;
|
||||
uint8_t ID;
|
||||
uint8_t lengthLSB;
|
||||
uint8_t lengthMSB;
|
||||
uint8_t payload[UBX_RXM_QZSSL6_MAX_LEN];
|
||||
uint8_t checksumA;
|
||||
uint8_t checksumB;
|
||||
} UBX_RXM_QZSSL6_message_data_t;
|
||||
|
||||
// The QZSSL6 data can only be accessed via a callback. QZSSL6 cannot be polled.
|
||||
typedef struct
|
||||
{
|
||||
ubxQZSSL6AutomaticFlags automaticFlags;
|
||||
void (*callbackPointerPtr)(UBX_RXM_QZSSL6_message_data_t *);
|
||||
UBX_RXM_QZSSL6_message_data_t *callbackData;
|
||||
} UBX_RXM_QZSSL6_message_t;
|
||||
|
||||
// CFG-specific structs
|
||||
|
||||
// UBX-CFG-PRT (0x06 0x00): Port configuration
|
||||
|
||||
Reference in New Issue
Block a user