46 lines
1.4 KiB
C
46 lines
1.4 KiB
C
#pragma once
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
#include "bsp.h"
|
||
|
||
/* 要添加使用SPI的新设备,需要先在此添加对应的枚举值 */
|
||
|
||
/* SPI实体枚举,与设备对应 */
|
||
typedef enum {
|
||
BSP_SPI_IMU,
|
||
BSP_SPI_ICM42688,
|
||
/* BSP_SPI_XXX,*/
|
||
BSP_SPI_NUM,
|
||
BSP_SPI_ERR,
|
||
} bsp_spi_t;
|
||
|
||
typedef enum {
|
||
BSP_SPI_TX_CPLT_CB,
|
||
BSP_SPI_RX_CPLT_CB,
|
||
BSP_SPI_CB_NUM,
|
||
} bsp_spi_callback_t;
|
||
|
||
bsp_status_t bsp_spi_register_callback(bsp_spi_t spi, bsp_spi_callback_t type,
|
||
void (*callback)(void *),
|
||
void *callback_arg);
|
||
bsp_status_t bsp_spi_transmit_receive(bsp_spi_t spi, uint8_t *recv_data,
|
||
const uint8_t *trans_data, size_t size,
|
||
bool block);
|
||
bsp_status_t bsp_spi_transmit(bsp_spi_t spi, const uint8_t *data, size_t size,
|
||
bool block);
|
||
bsp_status_t bsp_spi_receive(bsp_spi_t spi, uint8_t *buff, size_t size,
|
||
bool block);
|
||
uint8_t bsp_spi_mem_read_byte(bsp_spi_t spi, uint8_t reg);
|
||
bsp_status_t bsp_spi_mem_write_byte(bsp_spi_t spi, uint8_t reg, uint8_t data);
|
||
bsp_status_t bsp_spi_mem_read(bsp_spi_t spi, uint8_t reg, uint8_t *buff,
|
||
size_t size, bool block);
|
||
bsp_status_t bsp_spi_mem_write(bsp_spi_t spi, uint8_t reg, const uint8_t *buff,
|
||
size_t size, bool block);
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|