41 #include "Driver_SPI.h" 58 uint8_t cocoBuffer[2] = {0};
61 if ((pCommDrv == NULL) || (pCommandList == NULL))
72 if (ARM_DRIVER_OK != status)
80 status =
Register_SPI_Read(pCommDrv, devInfo, pWriteParams, 0,
sizeof(cocoBuffer), cocoBuffer);
81 if (ARM_DRIVER_OK != status)
85 commandComplete = cocoBuffer[1] & 0x80;
86 if (commandComplete && cocoBuffer[1] & error_mask)
90 }
while (!commandComplete);
91 }
while ((++pCmd)->writeTo != 0xFFFF);
103 bool endDataMarkAwaited;
106 if ((pCommDrv == NULL) || (pRegWriteList == NULL))
116 endDataMarkAwaited = (pCmd + 1)->writeTo != 0xFFFF;
119 if (ARM_DRIVER_OK != status)
124 }
while (endDataMarkAwaited);
140 if (pCommDrv == NULL || pReadList == NULL || pOutBuffer == NULL)
148 for (pBuf = pOutBuffer; pCmd->
numBytes != 0; pCmd++)
151 if (ARM_DRIVER_OK != status)
The sensor_drv.h file contains sensor state and error definitions.
int32_t Register_SPI_BlockWrite(ARM_DRIVER_SPI *pCommDrv, registerDeviceInfo_t *devInfo, void *pWriteParams, uint8_t offset, const uint8_t *pBuffer, uint8_t bytesToWrite)
The interface function to block write to a sensor register.
void BOARD_DELAY_ms(uint32_t delay_ms)
Function to insert delays.
int32_t Sensor_SPI_BlockWrite(ARM_DRIVER_SPI *pCommDrv, registerDeviceInfo_t *devInfo, void *pWriteParams, const registercommandlist_t *pCommandList, uint8_t error_mask)
Write commands to a sensor.
The sensor_io_spi.h file declares low-level interface functions for reading and writing sensor regist...
int32_t Sensor_SPI_Write(ARM_DRIVER_SPI *pCommDrv, registerDeviceInfo_t *devInfo, void *pWriteParams, const registerwritelist_t *pRegWriteList)
Write register data to a sensor.
const uint8_t * pWriteBuffer
int32_t Register_SPI_Read(ARM_DRIVER_SPI *pCommDrv, registerDeviceInfo_t *devInfo, void *pReadParams, uint8_t offset, uint8_t length, uint8_t *pOutBuffer)
The interface function to read a sensor register.
This structure defines the Write command List.
This structure defines the Read command List.
This structure defines the device specific info required by register I/O.
This structure defines the Block command List.
int32_t Sensor_SPI_Read(ARM_DRIVER_SPI *pCommDrv, registerDeviceInfo_t *devInfo, void *pReadParams, const registerreadlist_t *pReadList, uint8_t *pOutBuffer)
Read register data from a sensor.
int32_t Register_SPI_Write(ARM_DRIVER_SPI *pCommDrv, registerDeviceInfo_t *devInfo, void *pWriteParams, uint8_t offset, uint8_t value, uint8_t mask)
The interface function to write a sensor register.