SPP SPI HAL API — dispatches through the registered HAL port. More...
Go to the source code of this file.
Data Structures | |
| struct | SPP_SpiInitCfg_t |
| SPI bus and device initialisation configuration. More... | |
Enumerations | |
| enum | SPP_SpiMode_t { K_SPP_SPI_MODE0 = 0U , K_SPP_SPI_MODE1 = 1U , K_SPP_SPI_MODE3 = 3U } |
| SPI clock phase/polarity mode. More... | |
| enum | SPP_SpiDuplex_t { K_SPP_SPI_FULL_DUPLEX = 0U , K_SPP_SPI_HALF_DUPLEX = 1U } |
| SPI duplex mode. More... | |
Functions | |
| SPP_RetVal_t | SPP_HAL_SPI_busInit (void) |
| Initialise the SPI bus. | |
| void * | SPP_HAL_SPI_getHandle (spp_uint8_t deviceIdx) |
| Obtain the SPI device handle for the given device index. | |
| SPP_RetVal_t | SPP_HAL_SPI_deviceInit (void *p_handle) |
| Initialise a specific SPI device. | |
| SPP_RetVal_t | SPP_HAL_SPI_transmit (void *p_handle, spp_uint8_t *p_data, spp_uint8_t length) |
| Perform a full-duplex SPI transaction. | |
| SPP_RetVal_t | SPP_HAL_SPI_deviceSetSpeed (void *p_handle, spp_uint32_t speedHz) |
| Remove and re-add a SPI device with a new clock speed. | |
SPP SPI HAL API — dispatches through the registered HAL port.
Definition in file spi.h.
| enum SPP_SpiMode_t |
| enum SPP_SpiDuplex_t |
| SPP_RetVal_t SPP_HAL_SPI_busInit | ( | void | ) |
Initialise the SPI bus.
Safe to call multiple times; subsequent calls are no-ops.
Definition at line 19 of file spi.c.
References K_SPP_ERROR, K_SPP_ERROR_NULL_POINTER, K_SPP_OK, SPP_HalPort_t::spi, SPP_HALSpi_t::spiBusInit, SPP_HAL_getPort(), and SPP_HAL_SPI_busInit().
Referenced by SPP_HAL_init(), and SPP_HAL_SPI_busInit().
| void * SPP_HAL_SPI_getHandle | ( | spp_uint8_t | deviceIdx | ) |
Obtain the SPI device handle for the given device index.
| [in] | deviceIdx | Zero-based device index (0 = first device, etc.). |
Definition at line 39 of file spi.c.
References SPP_HalPort_t::spi, SPP_HALSpi_t::spiGetHandle, SPP_HAL_getPort(), and SPP_HAL_SPI_getHandle().
Referenced by SPP_HAL_SPI_getHandle(), SPP_SERVICES_BMP390_init(), and SPP_SERVICES_ICM20948_init().
| SPP_RetVal_t SPP_HAL_SPI_deviceInit | ( | void * | p_handle | ) |
Initialise a specific SPI device.
| [in] | p_handle | Handle returned by SPP_HAL_SPI_getHandle(). |
Definition at line 49 of file spi.c.
References K_SPP_ERROR, K_SPP_ERROR_NULL_POINTER, K_SPP_OK, SPP_HalPort_t::spi, SPP_HALSpi_t::spiDeviceInit, SPP_HAL_getPort(), and SPP_HAL_SPI_deviceInit().
Referenced by SPP_HAL_SPI_deviceInit(), SPP_SERVICES_BMP390_init(), and SPP_SERVICES_ICM20948_init().
| SPP_RetVal_t SPP_HAL_SPI_transmit | ( | void * | p_handle, |
| spp_uint8_t * | p_data, | ||
| spp_uint8_t | length ) |
Perform a full-duplex SPI transaction.
| [in,out] | p_handle | SPI device handle. |
| [in,out] | p_data | TX data in, RX data out (in-place). |
| [in] | length | Number of bytes in the transaction. |
Definition at line 79 of file spi.c.
References K_SPP_ERROR, K_SPP_ERROR_NULL_POINTER, K_SPP_OK, SPP_HalPort_t::spi, SPP_HALSpi_t::spiTransmit, SPP_HAL_getPort(), and SPP_HAL_SPI_transmit().
Referenced by readFifoBurst(), SPP_HAL_SPI_transmit(), SPP_SERVICES_BMP390_configCheck(), SPP_SERVICES_BMP390_enableSpiMode(), SPP_SERVICES_BMP390_intEnableDrdy(), SPP_SERVICES_BMP390_prepareMeasure(), SPP_SERVICES_BMP390_readRawPress(), SPP_SERVICES_BMP390_readRawPressCoeffs(), SPP_SERVICES_BMP390_readRawTemp(), SPP_SERVICES_BMP390_readRawTempCoeffs(), SPP_SERVICES_BMP390_softReset(), SPP_SERVICES_ICM20948_checkFifoData(), SPP_SERVICES_ICM20948_readReg(), SPP_SERVICES_ICM20948_writeReg(), SX1262_CalibrateImage(), SX1262_ClearIrqStatus(), SX1262_SetBufferBaseAddress(), SX1262_SetDioIrqParams(), SX1262_SetModulationParams(), SX1262_SetPacketParams(), SX1262_SetPacketType(), SX1262_SetPaConfig(), SX1262_SetRfFrequency(), SX1262_SetStandby(), SX1262_SetTx(), SX1262_SetTxParams(), and SX1262_WriteBuffer().
| SPP_RetVal_t SPP_HAL_SPI_deviceSetSpeed | ( | void * | p_handle, |
| spp_uint32_t | speedHz ) |
Remove and re-add a SPI device with a new clock speed.
Intended for devices that require a lower speed during initialisation and a higher speed for normal operation (e.g. SD cards: 400 kHz init, up to 25 MHz normal operation).
| [in] | p_handle | Handle returned by SPP_HAL_SPI_getHandle(). |
| [in] | speedHz | New clock frequency in Hz. |
Definition at line 69 of file spi.c.
References K_SPP_ERROR_NULL_POINTER, SPP_HalPort_t::spi, SPP_HALSpi_t::spiDeviceSetSpeed, SPP_HAL_getPort(), and SPP_HAL_SPI_deviceSetSpeed().
Referenced by SPP_HAL_SPI_deviceSetSpeed().