Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
rtcm3.h File Reference
#include <errno.h>
#include "common.h"
+ Include dependency graph for rtcm3.h:

Go to the source code of this file.

Data Structures

struct  rtcm3_msg_callbacks_node
 RTCM3 callback node. More...
 
struct  msg_state_t
 

Macros

#define READ_RESERVED   1
 
#define READ_LENGTH   2
 
#define READ_MESSAGE   3
 
#define READ_CHECKSUM   4
 
#define RTCM3_PREAMBLE   0xD3
 
#define RTCM3_MSG_1005   0x69
 
#define RTCM3_MSG_4072   0x72
 
#define RTCM3_MSG_1077   0xB1
 
#define RTCM3_MSG_1087   0xBB
 
#define RTCM3_MSG_1230   0xE6
 
#define UNINIT   0
 
#define GOT_SYNC1   1
 
#define GOT_SYNC2   2
 
#define GOT_CLASS   3
 
#define GOT_ID   4
 
#define GOT_LEN1   5
 
#define GOT_LEN2   6
 
#define GOT_PAYLOAD   7
 
#define GOT_CHECKSUM1   8
 
#define UBX_PREAMBLE1   0xB5
 
#define UBX_PREAMBLE2   0x62
 
#define UBX_NAV_SVIN   0x3B
 
#define GPS_UBX_MAX_PAYLOAD   255
 
#define GPS_UBX_ERR_NONE   0
 
#define GPS_UBX_ERR_OVERRUN   1
 
#define GPS_UBX_ERR_MSG_TOO_LONG   2
 
#define GPS_UBX_ERR_CHECKSUM   3
 
#define GPS_UBX_ERR_UNEXPECTED   4
 
#define GPS_UBX_ERR_OUT_OF_SYNC   5
 
#define NO_CLASS   0
 
#define RTCM_CLASS   1
 
#define UBX_CLASS   2
 
#define UBX_NAV_SVIN_VERSION(_ubx_payload)   (uint8_t)(*((uint8_t*)_ubx_payload+0))
 
#define UBX_NAV_SVIN_RES1(_ubx_payload)   (uint8_t)(*((uint8_t*)_ubx_payload+1))
 
#define UBX_NAV_SVIN_RES2(_ubx_payload)   (uint16_t)(*((uint8_t*)_ubx_payload+2)|*((uint8_t*)_ubx_payload+1+2)<<8)
 
#define UBX_NAV_SVIN_ITOW(_ubx_payload)   (uint32_t)(*((uint8_t*)_ubx_payload+4)|*((uint8_t*)_ubx_payload+1+4)<<8|((uint32_t)*((uint8_t*)_ubx_payload+2+4))<<16|((uint32_t)*((uint8_t*)_ubx_payload+3+4))<<24)
 
#define UBX_NAV_SVIN_dur(_ubx_payload)   (uint32_t)(*((uint8_t*)_ubx_payload+8)|*((uint8_t*)_ubx_payload+1+8)<<8|((uint32_t)*((uint8_t*)_ubx_payload+2+8))<<16|((uint32_t)*((uint8_t*)_ubx_payload+3+8))<<24)
 
#define UBX_NAV_SVIN_meanX(_ubx_payload)   (int32_t)(*((uint8_t*)_ubx_payload+12)|*((uint8_t*)_ubx_payload+1+12)<<8|((int32_t)*((uint8_t*)_ubx_payload+2+12))<<16|((int32_t)*((uint8_t*)_ubx_payload+3+12))<<24)
 
#define UBX_NAV_SVIN_meanY(_ubx_payload)   (int32_t)(*((uint8_t*)_ubx_payload+16)|*((uint8_t*)_ubx_payload+1+16)<<8|((int32_t)*((uint8_t*)_ubx_payload+2+16))<<16|((int32_t)*((uint8_t*)_ubx_payload+3+16))<<24)
 
#define UBX_NAV_SVIN_meanZ(_ubx_payload)   (int32_t)(*((uint8_t*)_ubx_payload+20)|*((uint8_t*)_ubx_payload+1+20)<<8|((int32_t)*((uint8_t*)_ubx_payload+2+20))<<16|((int32_t)*((uint8_t*)_ubx_payload+3+20))<<24)
 
#define UBX_NAV_SVIN_meanXHP(_ubx_payload)   (int8_t)(*((uint8_t*)_ubx_payload+24))
 
#define UBX_NAV_SVIN_meanYHP(_ubx_payload)   (int8_t)(*((uint8_t*)_ubx_payload+25))
 
#define UBX_NAV_SVIN_meanZHP(_ubx_payload)   (int8_t)(*((uint8_t*)_ubx_payload+26))
 
#define UBX_NAV_SVIN_RES3(_ubx_payload)   (uint8_t)(*((uint8_t*)_ubx_payload+27))
 
#define UBX_NAV_SVIN_meanACC(_ubx_payload)   (uint32_t)(*((uint8_t*)_ubx_payload+28)|*((uint8_t*)_ubx_payload+1+28)<<8|((uint32_t)*((uint8_t*)_ubx_payload+2+28))<<16|((uint32_t)*((uint8_t*)_ubx_payload+3+28))<<24)
 
#define UBX_NAV_SVIN_OBS(_ubx_payload)   (uint32_t)(*((uint8_t*)_ubx_payload+32)|*((uint8_t*)_ubx_payload+1+32)<<8|((uint32_t)*((uint8_t*)_ubx_payload+2+32))<<16|((uint32_t)*((uint8_t*)_ubx_payload+3+32))<<24)
 
#define UBX_NAV_SVIN_Valid(_ubx_payload)   (uint8_t)(*((uint8_t*)_ubx_payload+36))
 
#define UBX_NAV_SVIN_Active(_ubx_payload)   (uint8_t)(*((uint8_t*)_ubx_payload+37))
 
#define UBX_NAV_SVIN_RES4(_ubx_payload)   (uint16_t)(*((uint8_t*)_ubx_payload+38)|*((uint8_t*)_ubx_payload+1+38)<<8)
 
#define RTCM_OK   0
 Return value indicating success. More...
 
#define RTCM_OK_CALLBACK_EXECUTED   1
 Return value indicating message decoded and callback executed by rtcm3_process. More...
 
#define RTCM_OK_CALLBACK_UNDEFINED   2
 Return value indicating message decoded with no associated callback in rtcm3_process. More...
 
#define RTCM_CALLBACK_ERROR   -1
 Return value indicating an error with the callback (function defined). More...
 
#define RTCM_CRC_ERROR   -2
 Return value indicating a CRC error. More...
 
#define RTCM_SEND_ERROR   -3
 Return value indicating an error occured whilst sending an RTCM3 message. More...
 
#define RTCM_NULL_ERROR   -4
 Return value indicating an error occured because an argument was NULL. More...
 

Typedefs

typedef void(* rtcm3_msg_callback_t) (u8 len, u8 msg[])
 RTCM3 callback function prototype definition. More...
 
typedef struct rtcm3_msg_callbacks_node rtcm3_msg_callbacks_node_t
 RTCM3 callback node. More...
 

Functions

s8 rtcm3_register_callback (msg_state_t *s, u16 msg_type, rtcm3_msg_callback_t cb, rtcm3_msg_callbacks_node_t *node)
 Register a callback for a message type. More...
 
void rtcm3_clear_callbacks (msg_state_t *s)
 Clear all registered callbacks. More...
 
rtcm3_msg_callbacks_node_trtcm3_find_callback (msg_state_t *s, u16 msg_type)
 Find the callback function associated with a message type. More...
 
void msg_state_init (msg_state_t *s)
 Initialize an msg_state_t struct before use. More...
 
s8 rtcm3_process (msg_state_t *s, unsigned char buff)
 Read and process RTCM3 messages. More...
 
s8 ubx_process (msg_state_t *s, unsigned char buff)
 
unsigned int RTCMgetbitu (unsigned char *, int, int)
 
int RTCMgetbits (unsigned char *, int, int)
 
static double RTCMgetbits_38 (unsigned char *, int)
 

Variables

int rd_msg_len = 0
 
int rd_msg_len1 = 0
 
int byteIndex = 0
 
int checksumCounter = 0
 
int rawIndex = 0
 

Data Structure Documentation

◆ rtcm3_msg_callbacks_node

struct rtcm3_msg_callbacks_node

RTCM3 callback node.

Forms a linked list of callbacks.

Note
Must be statically allocated for use with rtcm3_register_callback().

Definition at line 101 of file rtcm3.h.

+ Collaboration diagram for rtcm3_msg_callbacks_node:
Data Fields
rtcm3_msg_callback_t cb Pointer to callback function.
u16 msg_type Message ID associated with callback.
struct rtcm3_msg_callbacks_node * next Pointer to next node in list.

◆ msg_state_t

struct msg_state_t

Definition at line 109 of file rtcm3.h.

+ Collaboration diagram for msg_state_t:
Data Fields
u8 ck_a
u8 ck_b
u16 crc
u8 error_cnt
u8 error_last
u8 msg_buff[1024+6+1]
u8 msg_class
u16 msg_len
u16 msg_type
u8 n_read
rtcm3_msg_callbacks_node_t * rtcm3_msg_callbacks_head
u8 state
u8 status

Macro Definition Documentation

◆ GOT_CHECKSUM1

#define GOT_CHECKSUM1   8

Definition at line 36 of file rtcm3.h.

◆ GOT_CLASS

#define GOT_CLASS   3

Definition at line 31 of file rtcm3.h.

◆ GOT_ID

#define GOT_ID   4

Definition at line 32 of file rtcm3.h.

◆ GOT_LEN1

#define GOT_LEN1   5

Definition at line 33 of file rtcm3.h.

◆ GOT_LEN2

#define GOT_LEN2   6

Definition at line 34 of file rtcm3.h.

◆ GOT_PAYLOAD

#define GOT_PAYLOAD   7

Definition at line 35 of file rtcm3.h.

◆ GOT_SYNC1

#define GOT_SYNC1   1

Definition at line 29 of file rtcm3.h.

◆ GOT_SYNC2

#define GOT_SYNC2   2

Definition at line 30 of file rtcm3.h.

◆ GPS_UBX_ERR_CHECKSUM

#define GPS_UBX_ERR_CHECKSUM   3

Definition at line 46 of file rtcm3.h.

◆ GPS_UBX_ERR_MSG_TOO_LONG

#define GPS_UBX_ERR_MSG_TOO_LONG   2

Definition at line 45 of file rtcm3.h.

◆ GPS_UBX_ERR_NONE

#define GPS_UBX_ERR_NONE   0

Definition at line 43 of file rtcm3.h.

◆ GPS_UBX_ERR_OUT_OF_SYNC

#define GPS_UBX_ERR_OUT_OF_SYNC   5

Definition at line 48 of file rtcm3.h.

◆ GPS_UBX_ERR_OVERRUN

#define GPS_UBX_ERR_OVERRUN   1

Definition at line 44 of file rtcm3.h.

◆ GPS_UBX_ERR_UNEXPECTED

#define GPS_UBX_ERR_UNEXPECTED   4

Definition at line 47 of file rtcm3.h.

◆ GPS_UBX_MAX_PAYLOAD

#define GPS_UBX_MAX_PAYLOAD   255

Definition at line 41 of file rtcm3.h.

◆ NO_CLASS

#define NO_CLASS   0

Definition at line 50 of file rtcm3.h.

◆ READ_CHECKSUM

#define READ_CHECKSUM   4

Definition at line 17 of file rtcm3.h.

◆ READ_LENGTH

#define READ_LENGTH   2

Definition at line 15 of file rtcm3.h.

◆ READ_MESSAGE

#define READ_MESSAGE   3

Definition at line 16 of file rtcm3.h.

◆ READ_RESERVED

#define READ_RESERVED   1

Definition at line 14 of file rtcm3.h.

◆ RTCM3_MSG_1005

#define RTCM3_MSG_1005   0x69

Definition at line 20 of file rtcm3.h.

◆ RTCM3_MSG_1077

#define RTCM3_MSG_1077   0xB1

Definition at line 22 of file rtcm3.h.

◆ RTCM3_MSG_1087

#define RTCM3_MSG_1087   0xBB

Definition at line 23 of file rtcm3.h.

◆ RTCM3_MSG_1230

#define RTCM3_MSG_1230   0xE6

Definition at line 24 of file rtcm3.h.

◆ RTCM3_MSG_4072

#define RTCM3_MSG_4072   0x72

Definition at line 21 of file rtcm3.h.

◆ RTCM3_PREAMBLE

#define RTCM3_PREAMBLE   0xD3

Definition at line 19 of file rtcm3.h.

◆ RTCM_CALLBACK_ERROR

#define RTCM_CALLBACK_ERROR   -1

Return value indicating an error with the callback (function defined).

Definition at line 85 of file rtcm3.h.

◆ RTCM_CLASS

#define RTCM_CLASS   1

Definition at line 51 of file rtcm3.h.

◆ RTCM_CRC_ERROR

#define RTCM_CRC_ERROR   -2

Return value indicating a CRC error.

Definition at line 87 of file rtcm3.h.

◆ RTCM_NULL_ERROR

#define RTCM_NULL_ERROR   -4

Return value indicating an error occured because an argument was NULL.

Definition at line 91 of file rtcm3.h.

◆ RTCM_OK

#define RTCM_OK   0

Return value indicating success.

Definition at line 79 of file rtcm3.h.

◆ RTCM_OK_CALLBACK_EXECUTED

#define RTCM_OK_CALLBACK_EXECUTED   1

Return value indicating message decoded and callback executed by rtcm3_process.

Definition at line 81 of file rtcm3.h.

◆ RTCM_OK_CALLBACK_UNDEFINED

#define RTCM_OK_CALLBACK_UNDEFINED   2

Return value indicating message decoded with no associated callback in rtcm3_process.

Definition at line 83 of file rtcm3.h.

◆ RTCM_SEND_ERROR

#define RTCM_SEND_ERROR   -3

Return value indicating an error occured whilst sending an RTCM3 message.

Definition at line 89 of file rtcm3.h.

◆ UBX_CLASS

#define UBX_CLASS   2

Definition at line 52 of file rtcm3.h.

◆ UBX_NAV_SVIN

#define UBX_NAV_SVIN   0x3B

Definition at line 40 of file rtcm3.h.

◆ UBX_NAV_SVIN_Active

#define UBX_NAV_SVIN_Active (   _ubx_payload)    (uint8_t)(*((uint8_t*)_ubx_payload+37))

Definition at line 70 of file rtcm3.h.

◆ UBX_NAV_SVIN_dur

#define UBX_NAV_SVIN_dur (   _ubx_payload)    (uint32_t)(*((uint8_t*)_ubx_payload+8)|*((uint8_t*)_ubx_payload+1+8)<<8|((uint32_t)*((uint8_t*)_ubx_payload+2+8))<<16|((uint32_t)*((uint8_t*)_ubx_payload+3+8))<<24)

Definition at line 59 of file rtcm3.h.

◆ UBX_NAV_SVIN_ITOW

#define UBX_NAV_SVIN_ITOW (   _ubx_payload)    (uint32_t)(*((uint8_t*)_ubx_payload+4)|*((uint8_t*)_ubx_payload+1+4)<<8|((uint32_t)*((uint8_t*)_ubx_payload+2+4))<<16|((uint32_t)*((uint8_t*)_ubx_payload+3+4))<<24)

Definition at line 58 of file rtcm3.h.

◆ UBX_NAV_SVIN_meanACC

#define UBX_NAV_SVIN_meanACC (   _ubx_payload)    (uint32_t)(*((uint8_t*)_ubx_payload+28)|*((uint8_t*)_ubx_payload+1+28)<<8|((uint32_t)*((uint8_t*)_ubx_payload+2+28))<<16|((uint32_t)*((uint8_t*)_ubx_payload+3+28))<<24)

Definition at line 67 of file rtcm3.h.

◆ UBX_NAV_SVIN_meanX

#define UBX_NAV_SVIN_meanX (   _ubx_payload)    (int32_t)(*((uint8_t*)_ubx_payload+12)|*((uint8_t*)_ubx_payload+1+12)<<8|((int32_t)*((uint8_t*)_ubx_payload+2+12))<<16|((int32_t)*((uint8_t*)_ubx_payload+3+12))<<24)

Definition at line 60 of file rtcm3.h.

◆ UBX_NAV_SVIN_meanXHP

#define UBX_NAV_SVIN_meanXHP (   _ubx_payload)    (int8_t)(*((uint8_t*)_ubx_payload+24))

Definition at line 63 of file rtcm3.h.

◆ UBX_NAV_SVIN_meanY

#define UBX_NAV_SVIN_meanY (   _ubx_payload)    (int32_t)(*((uint8_t*)_ubx_payload+16)|*((uint8_t*)_ubx_payload+1+16)<<8|((int32_t)*((uint8_t*)_ubx_payload+2+16))<<16|((int32_t)*((uint8_t*)_ubx_payload+3+16))<<24)

Definition at line 61 of file rtcm3.h.

◆ UBX_NAV_SVIN_meanYHP

#define UBX_NAV_SVIN_meanYHP (   _ubx_payload)    (int8_t)(*((uint8_t*)_ubx_payload+25))

Definition at line 64 of file rtcm3.h.

◆ UBX_NAV_SVIN_meanZ

#define UBX_NAV_SVIN_meanZ (   _ubx_payload)    (int32_t)(*((uint8_t*)_ubx_payload+20)|*((uint8_t*)_ubx_payload+1+20)<<8|((int32_t)*((uint8_t*)_ubx_payload+2+20))<<16|((int32_t)*((uint8_t*)_ubx_payload+3+20))<<24)

Definition at line 62 of file rtcm3.h.

◆ UBX_NAV_SVIN_meanZHP

#define UBX_NAV_SVIN_meanZHP (   _ubx_payload)    (int8_t)(*((uint8_t*)_ubx_payload+26))

Definition at line 65 of file rtcm3.h.

◆ UBX_NAV_SVIN_OBS

#define UBX_NAV_SVIN_OBS (   _ubx_payload)    (uint32_t)(*((uint8_t*)_ubx_payload+32)|*((uint8_t*)_ubx_payload+1+32)<<8|((uint32_t)*((uint8_t*)_ubx_payload+2+32))<<16|((uint32_t)*((uint8_t*)_ubx_payload+3+32))<<24)

Definition at line 68 of file rtcm3.h.

◆ UBX_NAV_SVIN_RES1

#define UBX_NAV_SVIN_RES1 (   _ubx_payload)    (uint8_t)(*((uint8_t*)_ubx_payload+1))

Definition at line 56 of file rtcm3.h.

◆ UBX_NAV_SVIN_RES2

#define UBX_NAV_SVIN_RES2 (   _ubx_payload)    (uint16_t)(*((uint8_t*)_ubx_payload+2)|*((uint8_t*)_ubx_payload+1+2)<<8)

Definition at line 57 of file rtcm3.h.

◆ UBX_NAV_SVIN_RES3

#define UBX_NAV_SVIN_RES3 (   _ubx_payload)    (uint8_t)(*((uint8_t*)_ubx_payload+27))

Definition at line 66 of file rtcm3.h.

◆ UBX_NAV_SVIN_RES4

#define UBX_NAV_SVIN_RES4 (   _ubx_payload)    (uint16_t)(*((uint8_t*)_ubx_payload+38)|*((uint8_t*)_ubx_payload+1+38)<<8)

Definition at line 71 of file rtcm3.h.

◆ UBX_NAV_SVIN_Valid

#define UBX_NAV_SVIN_Valid (   _ubx_payload)    (uint8_t)(*((uint8_t*)_ubx_payload+36))

Definition at line 69 of file rtcm3.h.

◆ UBX_NAV_SVIN_VERSION

#define UBX_NAV_SVIN_VERSION (   _ubx_payload)    (uint8_t)(*((uint8_t*)_ubx_payload+0))

Definition at line 55 of file rtcm3.h.

◆ UBX_PREAMBLE1

#define UBX_PREAMBLE1   0xB5

Definition at line 38 of file rtcm3.h.

◆ UBX_PREAMBLE2

#define UBX_PREAMBLE2   0x62

Definition at line 39 of file rtcm3.h.

◆ UNINIT

#define UNINIT   0

Definition at line 28 of file rtcm3.h.

Typedef Documentation

◆ rtcm3_msg_callback_t

typedef void(* rtcm3_msg_callback_t) (u8 len, u8 msg[])

RTCM3 callback function prototype definition.

Definition at line 95 of file rtcm3.h.

◆ rtcm3_msg_callbacks_node_t

RTCM3 callback node.

Forms a linked list of callbacks.

Note
Must be statically allocated for use with rtcm3_register_callback().

Function Documentation

◆ msg_state_init()

void msg_state_init ( msg_state_t s)

Initialize an msg_state_t struct before use.

This resets the entire state, including all callbacks. Remember to use this function to initialize the state before calling rtcm3_process() for the first time.

Parameters
sState structure

Definition at line 254 of file rtcm3.h.

References NO_CLASS, rtcm3_clear_callbacks(), s, and UNINIT.

+ Here is the call graph for this function:

◆ rtcm3_clear_callbacks()

void rtcm3_clear_callbacks ( msg_state_t s)

Clear all registered callbacks.

This is probably only useful for testing but who knows!

Definition at line 210 of file rtcm3.h.

References s.

Referenced by msg_state_init().

+ Here is the caller graph for this function:

◆ rtcm3_find_callback()

rtcm3_msg_callbacks_node_t * rtcm3_find_callback ( msg_state_t s,
u16  msg_type 
)

Find the callback function associated with a message type.

Searches through the list of registered callbacks to find the callback associated with the passed message type.

Parameters
msg_typeMessage type to find callback for
Returns
Pointer to callback node (rtcm3_msg_callbacks_node_t) or NULL if callback not found for that message type.

Definition at line 224 of file rtcm3.h.

References p, and s.

Referenced by rtcm3_process(), rtcm3_register_callback(), and ubx_process().

+ Here is the caller graph for this function:

◆ rtcm3_process()

s8 rtcm3_process ( msg_state_t s,
unsigned char  buff 
)

Read and process RTCM3 messages.

Reads bytes from an input source using the provided read function, decodes the RTCM3.

When an RTCM3 message is successfully received then the list of callbacks is searched for a callback corresponding to the received message type. If a callback is found then it is called with the ID of the sender, the message length and the message payload data buffer as arguments.

Note
rtcm3_process will always call read with n > 0 (aka it will attempt to always read something)

The supplied read function must have the prototype:

u32 read(u8 *buff, u32 n, void* context)
uint8_t u8
Unsigned 8-bit integer.
Definition: common.h:41
uint32_t u32
Unsigned 32-bit integer.
Definition: common.h:45
uint8_t buff[25]
Buffer used for general comunication over SPI (in buffer)

where n is the number of bytes requested and buff is the buffer into which to write the received data, and context is the arbitrary pointer set by rtcm3_state_set_io_context. The function should return the number of bytes successfully written into buff which may be between 0 and n inclusive, but must never be greater than n.

Note that rtcm3_process may not read all available bytes from the read function so the caller should loop until all bytes available from the input source have been consumed.

Parameters
sState structure
readFunction pointer to a function that reads n bytes from the input source into buff and returns the number of bytes successfully read.
Returns
RTCM_OK (0) if successful but no complete message yet, RTCM_OK_CALLBACK_EXECUTED (1) if message decoded and callback executed, RTCM_OK_CALLBACK_UNDEFINED (2) if message decoded with no associated callback, and RTCM_CRC_ERROR (-2) if a CRC error has occurred. Thus can check for >0 to ensure good processing.

Definition at line 308 of file rtcm3.h.

References buff, byteIndex, rtcm3_msg_callbacks_node::cb, checksumCounter, NO_CLASS, rawIndex, rd_msg_len, rd_msg_len1, READ_CHECKSUM, READ_LENGTH, READ_MESSAGE, READ_RESERVED, rtcm3_find_callback(), RTCM3_MSG_1005, RTCM3_MSG_1077, RTCM3_MSG_1087, RTCM3_MSG_1230, RTCM3_MSG_4072, RTCM3_PREAMBLE, RTCM_CLASS, RTCM_OK, RTCM_OK_CALLBACK_EXECUTED, RTCM_OK_CALLBACK_UNDEFINED, RTCMgetbitu(), s, and UNINIT.

+ Here is the call graph for this function:

◆ rtcm3_register_callback()

s8 rtcm3_register_callback ( msg_state_t s,
u16  msg_type,
rtcm3_msg_callback_t  cb,
rtcm3_msg_callbacks_node_t node 
)

Register a callback for a message type.

Register a callback that is called when a message with type msg_type is received.

Parameters
msg_typeMessage type associated with callback
cbPointer to message callback function
contextPointer to context for callback function
nodeStatically allocated rtcm3_msg_callbacks_node_t struct
Returns
RTCM_OK (0) if successful, RTCM_CALLBACK_ERROR if callback was already registered for that message type.

Definition at line 159 of file rtcm3.h.

References rtcm3_msg_callbacks_node::cb, rtcm3_msg_callbacks_node::msg_type, rtcm3_msg_callbacks_node::next, p, rtcm3_find_callback(), RTCM_CALLBACK_ERROR, RTCM_NULL_ERROR, RTCM_OK, and s.

+ Here is the call graph for this function:

◆ RTCMgetbits()

int RTCMgetbits ( unsigned char *  buff,
int  pos,
int  lenb 
)

Definition at line 503 of file rtcm3.h.

References buff, and RTCMgetbitu().

Referenced by RTCMgetbits_38().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RTCMgetbits_38()

static double RTCMgetbits_38 ( unsigned char *  buff,
int  pos 
)
static

Definition at line 510 of file rtcm3.h.

References buff, RTCMgetbits(), and RTCMgetbitu().

+ Here is the call graph for this function:

◆ RTCMgetbitu()

unsigned int RTCMgetbitu ( unsigned char *  buff,
int  pos,
int  lenb 
)

Definition at line 495 of file rtcm3.h.

References buff.

Referenced by rtcm3_process(), RTCMgetbits(), and RTCMgetbits_38().

+ Here is the caller graph for this function:

◆ ubx_process()

Variable Documentation

◆ byteIndex

int byteIndex = 0

Definition at line 144 of file rtcm3.h.

Referenced by rtcm3_process().

◆ checksumCounter

int checksumCounter = 0

Definition at line 145 of file rtcm3.h.

Referenced by rtcm3_process().

◆ rawIndex

int rawIndex = 0

Definition at line 146 of file rtcm3.h.

Referenced by rtcm3_process().

◆ rd_msg_len

int rd_msg_len = 0

Definition at line 142 of file rtcm3.h.

Referenced by rtcm3_process().

◆ rd_msg_len1

int rd_msg_len1 = 0

Definition at line 143 of file rtcm3.h.

Referenced by rtcm3_process().