16#ifndef ZEPHYR_MODEM_UBX_
17#define ZEPHYR_MODEM_UBX_
44#define MODEM_UBX_MATCH_ARRAY_DEFINE(_name, ...) \
45 struct modem_ubx_match _name[] = {__VA_ARGS__};
47#define MODEM_UBX_MATCH_DEFINE(_class_id, _msg_id, _handler) \
53 .handler = _handler, \
153 struct ubx_frame *array,
size_t array_size);
long atomic_t
Definition atomic_types.h:15
int modem_ubx_run_script_for_each(struct modem_ubx *ubx, struct modem_ubx_script *script, struct ubx_frame *array, size_t array_size)
int modem_ubx_attach(struct modem_ubx *ubx, struct modem_pipe *pipe)
Attach pipe to Modem Ubx.
void modem_ubx_release(struct modem_ubx *ubx)
Release pipe from Modem Ubx instance.
int modem_ubx_run_script(struct modem_ubx *ubx, struct modem_ubx_script *script)
Writes the ubx frame in script.request and reads back its response (if available)
void(* modem_ubx_match_callback)(struct modem_ubx *ubx, const struct ubx_frame *frame, size_t len, void *user_data)
Definition ubx.h:34
int modem_ubx_init(struct modem_ubx *ubx, const struct modem_ubx_config *config)
Initialize Modem Ubx instance.
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
Semaphore structure.
Definition kernel.h:3275
Kernel timeout type.
Definition clock.h:65
A structure used to submit work.
Definition kernel.h:4164
struct modem_ubx_config::@064247072102043330135135206211045316343340146202 unsol_matches
size_t size
Definition ubx.h:94
const struct modem_ubx_match * array
Definition ubx.h:93
uint16_t receive_buf_size
Definition ubx.h:91
uint8_t * receive_buf
Definition ubx.h:90
void * user_data
Definition ubx.h:89
modem_ubx_match_callback handler
Definition ubx.h:41
struct ubx_frame_match filter
Definition ubx.h:40
uint16_t len
Definition ubx.h:59
k_timeout_t timeout
Definition ubx.h:68
const void * buf
Definition ubx.h:58
struct modem_ubx_match match
Definition ubx.h:66
uint16_t retry_count
Definition ubx.h:67
uint16_t received_len
Definition ubx.h:64
struct modem_ubx_script::@125262324261144301256337001320113377072112120173 response
uint16_t buf_len
Definition ubx.h:63
struct modem_ubx_script::@352254277043233371101045333366114317241110234076 request
struct k_sem script_running_sem
Definition ubx.h:81
uint8_t * receive_buf
Definition ubx.h:74
struct modem_pipe * pipe
Definition ubx.h:78
atomic_t attached
Definition ubx.h:73
uint16_t receive_buf_size
Definition ubx.h:75
uint16_t receive_buf_offset
Definition ubx.h:76
size_t size
Definition ubx.h:84
struct modem_ubx_script * script
Definition ubx.h:77
void * user_data
Definition ubx.h:72
struct k_work process_work
Definition ubx.h:79
struct k_sem script_stopped_sem
Definition ubx.h:80
const struct modem_ubx_match * array
Definition ubx.h:83
struct modem_ubx::@222303241252066212057020164220110307037317275334 unsol_matches