16#ifndef ZEPHYR_MODEM_UBX_
17#define ZEPHYR_MODEM_UBX_
42#define MODEM_UBX_MATCH_ARRAY_DEFINE(_name, ...) \
43 struct modem_ubx_match _name[] = {__VA_ARGS__};
42#define MODEM_UBX_MATCH_ARRAY_DEFINE(_name, ...) \ …
45#define MODEM_UBX_MATCH_DEFINE(_class_id, _msg_id, _handler) \
51 .handler = _handler, \
45#define MODEM_UBX_MATCH_DEFINE(_class_id, _msg_id, _handler) \ …
151 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:32
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:4073
struct modem_ubx_config::@064247072102043330135135206211045316343340146202 unsol_matches
size_t size
Definition ubx.h:92
const struct modem_ubx_match * array
Definition ubx.h:91
uint16_t receive_buf_size
Definition ubx.h:89
uint8_t * receive_buf
Definition ubx.h:88
void * user_data
Definition ubx.h:87
modem_ubx_match_callback handler
Definition ubx.h:39
struct ubx_frame_match filter
Definition ubx.h:38
uint16_t len
Definition ubx.h:57
k_timeout_t timeout
Definition ubx.h:66
struct modem_ubx_match match
Definition ubx.h:64
uint16_t retry_count
Definition ubx.h:65
uint16_t received_len
Definition ubx.h:62
struct modem_ubx_script::@125262324261144301256337001320113377072112120173 response
uint16_t buf_len
Definition ubx.h:61
const struct ubx_frame * buf
Definition ubx.h:56
struct modem_ubx_script::@352254277043233371101045333366114317241110234076 request
struct k_sem script_running_sem
Definition ubx.h:79
uint8_t * receive_buf
Definition ubx.h:72
struct modem_pipe * pipe
Definition ubx.h:76
atomic_t attached
Definition ubx.h:71
uint16_t receive_buf_size
Definition ubx.h:73
uint16_t receive_buf_offset
Definition ubx.h:74
size_t size
Definition ubx.h:82
struct modem_ubx_script * script
Definition ubx.h:75
void * user_data
Definition ubx.h:70
struct k_work process_work
Definition ubx.h:77
struct k_sem script_stopped_sem
Definition ubx.h:78
const struct modem_ubx_match * array
Definition ubx.h:81
struct modem_ubx::@222303241252066212057020164220110307037317275334 unsol_matches