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 sys_clock.h:65
A structure used to submit work.
Definition kernel.h:4073
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
struct modem_ubx_config::@362 unsol_matches
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_script::@359 request
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
uint16_t buf_len
Definition ubx.h:61
uint8_t * buf
Definition ubx.h:60
const struct ubx_frame * buf
Definition ubx.h:56
struct modem_ubx_script::@360 response
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 modem_ubx::@361 unsol_matches
struct k_sem script_stopped_sem
Definition ubx.h:78
const struct modem_ubx_match * array
Definition ubx.h:81