7#include <zephyr/kernel.h>
8#include <zephyr/device.h>
9#include <zephyr/drivers/i2c.h>
10#include <zephyr/drivers/gpio.h>
11#include <zephyr/sys/ring_buffer.h>
13#include <zephyr/modem/pipe.h>
15#ifndef INFUSE_MODEM_BACKEND_U_BLOX_I2C_
16#define INFUSE_MODEM_BACKEND_U_BLOX_I2C_
24 const struct i2c_dt_spec *
i2c;
51 const struct i2c_dt_spec *
i2c;
Definition u_blox_i2c.h:49
const struct gpio_dt_spec * data_ready
Definition u_blox_i2c.h:55
k_timeout_t poll_period
Definition u_blox_i2c.h:57
const struct i2c_dt_spec * i2c
Definition u_blox_i2c.h:51
Definition u_blox_i2c.h:22
struct k_poll_signal read_result
Definition u_blox_i2c.h:34
uint8_t pipe_memory[CONFIG_GNSS_U_BLOX_PIPE_SIZE]
Definition u_blox_i2c.h:46
struct k_work_delayable fifo_read
Definition u_blox_i2c.h:32
struct k_sem bus_sem
Definition u_blox_i2c.h:38
struct modem_pipe pipe
Definition u_blox_i2c.h:28
uint8_t flags
Definition u_blox_i2c.h:44
k_timeout_t poll_period
Definition u_blox_i2c.h:40
uint16_t bytes_pending
Definition u_blox_i2c.h:42
struct ring_buf pipe_ring_buf
Definition u_blox_i2c.h:30
struct gpio_callback data_ready_cb
Definition u_blox_i2c.h:36
const struct i2c_dt_spec * i2c
Definition u_blox_i2c.h:24
const struct gpio_dt_spec * data_ready
Definition u_blox_i2c.h:26
void modem_backend_ublox_i2c_use_data_ready_gpio(struct modem_backend_ublox_i2c *backend)
Transition from polling to interrupt driven mode.
struct modem_pipe * modem_backend_ublox_i2c_init(struct modem_backend_ublox_i2c *backend, const struct modem_backend_ublox_i2c_config *config)
Initialize modem backend.