Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
UBX Modem Configuration

Expected usage of configuration interface: More...

Topics

 UBX_CFG_KEY_I2C
 
 
 UBX_CFG_KEY_I2CINPROT
 
 
 UBX_CFG_KEY_I2COUTPROT
 
 
 UBX_CFG_KEY_MSGOUT
 
 
 UBX_CFG_KEY_NAVSPG
 
 
 UBX_CFG_KEY_PM
 
 
 UBX_CFG_KEY_RATE
 
 
 UBX_CFG_KEY_SIGNAL
 
 
 UBX_CFG_KEY_TP
 
 
 UBX_CFG_KEY_TXREADY
 
 
 UBX_CFG_KEY_UART1
 
 

Data Structures

struct  ubx_cfg_val
 Configuration value structure as returned by parser. More...
 

Macros

#define UBX_CFG_VALUE_APPEND(buf, key, value)
 Macro to append a configuration value to a buffer.
 

Functions

static void ubx_msg_prepare_valset (struct net_buf_simple *buf, uint8_t layers)
 Helper to prepare the common CFG-VALSET message.
 
static void ubx_msg_prepare_valget (struct net_buf_simple *buf, uint8_t layer, uint8_t offset)
 Helper to prepare the common CFG-VALGET message.
 
static int ubx_cfg_val_parse (const uint8_t **ptr, size_t *remaining, struct ubx_cfg_val *cfg)
 Iteratively parse configuration values from a buffer.
 

Detailed Description

Expected usage of configuration interface:

struct ubx_msg_cfg_valset_v0 *valset;
NET_BUF_SIMPLE_DEFINE(cfg_buf, 32);
UBX_CFG_VALUE_APPEND(&cfg_buf, UBX_CFG_KEY_RATE_MEAS, fix_interval_ms);
ubx_msg_finalise(&cfg_buf);
@ UBX_CFG_KEY_RATE_MEAS
Definition cfg.h:355
@ UBX_CFG_KEY_RATE_NAV
Definition cfg.h:356
@ UBX_MSG_CFG_VALSET_LAYERS_BBR
Definition protocol.h:303
@ UBX_MSG_CFG_VALSET_LAYERS_RAM
Definition protocol.h:302
static void ubx_msg_prepare_valset(struct net_buf_simple *buf, uint8_t layers)
Helper to prepare the common CFG-VALSET message.
Definition cfg.h:508
#define UBX_CFG_VALUE_APPEND(buf, key, value)
Macro to append a configuration value to a buffer.
Definition cfg.h:547
static void ubx_msg_finalise(struct net_buf_simple *buf)
Finalise a net_buf_simple to be used as a UBX protocol message.
Definition protocol.h:846
UBX_MSG_ID_CFG_VALSET
Definition protocol.h:283

Macro Definition Documentation

◆ UBX_CFG_VALUE_APPEND

#define UBX_CFG_VALUE_APPEND ( buf,
key,
value )

#include <infuse/gnss/ubx/cfg.h>

Value:
net_buf_simple_add_le32(buf, key); \
switch (key & _UBX_CFG_KEY_SIZE_MASK) { \
case _UBX_CFG_KEY_SIZE_1BIT_: \
net_buf_simple_add_u8(buf, value ? 0x01 : 0x00); \
break; \
case _UBX_CFG_KEY_SIZE_1BYTE: \
net_buf_simple_add_u8(buf, value); \
break; \
case _UBX_CFG_KEY_SIZE_2BYTE: \
net_buf_simple_add_le16(buf, value); \
break; \
case _UBX_CFG_KEY_SIZE_4BYTE: \
net_buf_simple_add_le32(buf, value); \
break; \
default: \
net_buf_simple_add_le64(buf, value); \
break; \
}

Macro to append a configuration value to a buffer.

Implemented as a macro to allow the type of value to be preserved. As key should always be a compile time constant, only the chosen branch should ever be present in the output binary.

Parameters
bufBuffer to append value to
keyUBX configuration value key
valueValue

Function Documentation

◆ ubx_cfg_val_parse()

static int ubx_cfg_val_parse ( const uint8_t ** ptr,
size_t * remaining,
struct ubx_cfg_val * cfg )
inlinestatic

#include <infuse/gnss/ubx/cfg.h>

Iteratively parse configuration values from a buffer.

Expected usage:

struct ubx_cfg_val cfg_val;
uint8_t *val_ptr = &buffer;
uint16_t val_len = buffer_len;
while (ubx_cfg_val_parse(&val_ptr, &val_len, &cfg_val) == 0) {
Handle cfg_val here...
}
static int ubx_cfg_val_parse(const uint8_t **ptr, size_t *remaining, struct ubx_cfg_val *cfg)
Iteratively parse configuration values from a buffer.
Definition cfg.h:614
Configuration value structure as returned by parser.
Definition cfg.h:568
Parameters
ptrPointer to configuration buffer to parse
remaining
cfg
Returns
int

◆ ubx_msg_prepare_valget()

static void ubx_msg_prepare_valget ( struct net_buf_simple * buf,
uint8_t layer,
uint8_t offset )
inlinestatic

#include <infuse/gnss/ubx/cfg.h>

Helper to prepare the common CFG-VALGET message.

Parameters
bufBuffer to prepare
layerLayer to query configuration for
offsetStart value offset for query

◆ ubx_msg_prepare_valset()

static void ubx_msg_prepare_valset ( struct net_buf_simple * buf,
uint8_t layers )
inlinestatic

#include <infuse/gnss/ubx/cfg.h>

Helper to prepare the common CFG-VALSET message.

Parameters
bufBuffer to prepare
layersLayers to set configuration values on