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/*
2 * Copyright (c) 2024 Embeint Holdings Pty Ltd
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
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>
12
13#include <zephyr/modem/pipe.h>
14
15#include "common.h"
16
17#ifndef INFUSE_MODEM_BACKEND_U_BLOX_SPI_
18#define INFUSE_MODEM_BACKEND_U_BLOX_SPI_
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
25 /* Common backend */
27 /* Pointer to SPI configuration */
28 const struct spi_dt_spec *spi;
29 /* Temporary RX buffer */
30 uint8_t spi_rx[70];
31};
32
34 /* Bus to use */
35 const struct spi_dt_spec *spi;
36 /* GPIO that will transition to active when data is ready after @ref
37 * modem_backend_ublox_spi_use_data_ready_gpio
38 */
39 const struct gpio_dt_spec *data_ready;
40 /* Period to poll for data before @ref modem_backend_ublox_spi_use_data_ready_gpio */
41 k_timeout_t poll_period;
42};
43
52struct modem_pipe *
54 const struct modem_backend_ublox_spi_config *config);
55
62
63#ifdef __cplusplus
64}
65#endif
66
67#endif /* INFUSE_MODEM_BACKEND_U_BLOX_SPI_ */
Definition common.h:14
Definition u_blox_spi.h:33
const struct spi_dt_spec * spi
Definition u_blox_spi.h:35
k_timeout_t poll_period
Definition u_blox_spi.h:41
const struct gpio_dt_spec * data_ready
Definition u_blox_spi.h:39
Definition u_blox_spi.h:24
const struct spi_dt_spec * spi
Definition u_blox_spi.h:28
struct modem_backend_common common
Definition u_blox_spi.h:26
uint8_t spi_rx[70]
Definition u_blox_spi.h:30
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.