Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
u_blox_spi.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_SPI_
20#define INFUSE_MODEM_BACKEND_U_BLOX_SPI_
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
30
36 const struct spi_dt_spec *spi;
38 uint8_t spi_rx[70];
39};
40
44 const struct spi_dt_spec *spi;
48 const struct gpio_dt_spec *data_ready;
50 k_timeout_t poll_period;
51};
52
61struct modem_pipe *
63 const struct modem_backend_ublox_spi_config *config);
64
71
79
83
84#ifdef __cplusplus
85}
86#endif
87
88#endif /* INFUSE_MODEM_BACKEND_U_BLOX_SPI_ */
struct modem_pipe * modem_backend_ublox_spi_init(struct modem_backend_ublox_spi *backend, const struct modem_backend_ublox_spi_config *config)
Initialize modem backend.
void modem_backend_ublox_spi_use_data_ready_gpio(struct modem_backend_ublox_spi *backend)
Transition from polling to interrupt driven mode.
void modem_backend_ublox_spi_mon_rxr(struct modem_backend_ublox_spi *backend, bool awake)
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 SPI modem backend configuration
Definition u_blox_spi.h:42
const struct spi_dt_spec * spi
Bus to use.
Definition u_blox_spi.h:44
k_timeout_t poll_period
Period to poll for data before modem_backend_ublox_spi_use_data_ready_gpio.
Definition u_blox_spi.h:50
const struct gpio_dt_spec * data_ready
GPIO that will transition to active when data is ready after modem_backend_ublox_spi_use_data_ready_g...
Definition u_blox_spi.h:48
u-blox SPI modem backend state
Definition u_blox_spi.h:32
const struct spi_dt_spec * spi
Pointer to SPI configuration.
Definition u_blox_spi.h:36
struct modem_backend_common common
Common backend.
Definition u_blox_spi.h:34
uint8_t spi_rx[70]
Temporary RX buffer.
Definition u_blox_spi.h:38