Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
u_blox_i2c.h
Go to the documentation of this file.
1
8
9#include <zephyr/kernel.h>
10#include <zephyr/device.h>
11#include <zephyr/drivers/i2c.h>
12#include <zephyr/drivers/gpio.h>
13#include <zephyr/sys/ring_buffer.h>
14
15#include <zephyr/modem/pipe.h>
16
17#include "common.h"
18
19#ifndef INFUSE_MODEM_BACKEND_U_BLOX_I2C_
20#define INFUSE_MODEM_BACKEND_U_BLOX_I2C_
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
30
36 const struct i2c_dt_spec *i2c;
37};
38
42 const struct i2c_dt_spec *i2c;
46 const struct gpio_dt_spec *data_ready;
48 k_timeout_t poll_period;
49};
50
59struct modem_pipe *
61 const struct modem_backend_ublox_i2c_config *config);
62
69
78 bool pm_active);
79
83
84#ifdef __cplusplus
85}
86#endif
87
88#endif /* INFUSE_MODEM_BACKEND_U_BLOX_I2C_ */
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.
void modem_backend_ublox_i2c_mon_rxr(struct modem_backend_ublox_i2c *backend, bool awake, bool pm_active)
MON-RXR message handler to track modem state.
Common u-blox modem backend state.
Common state for u-blox modem backends.
Definition common.h:23
u-blox I2C modem backend configuration
Definition u_blox_i2c.h:40
const struct gpio_dt_spec * data_ready
GPIO that will transition to active when data is ready after modem_backend_ublox_i2c_use_data_ready_g...
Definition u_blox_i2c.h:46
k_timeout_t poll_period
Period to poll for data before modem_backend_ublox_i2c_use_data_ready_gpio.
Definition u_blox_i2c.h:48
const struct i2c_dt_spec * i2c
Bus to use.
Definition u_blox_i2c.h:42
u-blox I2C modem backend state
Definition u_blox_i2c.h:32
struct modem_backend_common common
Common backend.
Definition u_blox_i2c.h:34
const struct i2c_dt_spec * i2c
Pointer to I2C configuration.
Definition u_blox_i2c.h:36