|
WPILibC++
2020.3.2
|
Functions | |
| HAL_ENUM (HAL_SPIPort) | |
| void | HAL_InitializeSPI (HAL_SPIPort port, int32_t *status) |
| Initializes the SPI port. More... | |
| int32_t | HAL_TransactionSPI (HAL_SPIPort port, const uint8_t *dataToSend, uint8_t *dataReceived, int32_t size) |
| Performs an SPI send/receive transaction. More... | |
| int32_t | HAL_WriteSPI (HAL_SPIPort port, const uint8_t *dataToSend, int32_t sendSize) |
| Executes a write transaction with the device. More... | |
| int32_t | HAL_ReadSPI (HAL_SPIPort port, uint8_t *buffer, int32_t count) |
| Executes a read from the device. More... | |
| void | HAL_CloseSPI (HAL_SPIPort port) |
| Closes the SPI port. More... | |
| void | HAL_SetSPISpeed (HAL_SPIPort port, int32_t speed) |
| Sets the clock speed for the SPI bus. More... | |
| void | HAL_SetSPIOpts (HAL_SPIPort port, HAL_Bool msbFirst, HAL_Bool sampleOnTrailing, HAL_Bool clkIdleHigh) |
| Sets the SPI options. More... | |
| void | HAL_SetSPIChipSelectActiveHigh (HAL_SPIPort port, int32_t *status) |
| Sets the CS Active high for a SPI port. More... | |
| void | HAL_SetSPIChipSelectActiveLow (HAL_SPIPort port, int32_t *status) |
| Sets the CS Active low for a SPI port. More... | |
| int32_t | HAL_GetSPIHandle (HAL_SPIPort port) |
| Gets the stored handle for a SPI port. More... | |
| void | HAL_SetSPIHandle (HAL_SPIPort port, int32_t handle) |
| Sets the stored handle for a SPI port. More... | |
| void | HAL_InitSPIAuto (HAL_SPIPort port, int32_t bufferSize, int32_t *status) |
| Initializes the SPI automatic accumulator. More... | |
| void | HAL_FreeSPIAuto (HAL_SPIPort port, int32_t *status) |
| Frees an SPI automatic accumulator. More... | |
| void | HAL_StartSPIAutoRate (HAL_SPIPort port, double period, int32_t *status) |
| Sets the period for automatic SPI accumulation. More... | |
| void | HAL_StartSPIAutoTrigger (HAL_SPIPort port, HAL_Handle digitalSourceHandle, HAL_AnalogTriggerType analogTriggerType, HAL_Bool triggerRising, HAL_Bool triggerFalling, int32_t *status) |
| Starts the auto SPI accumulator on a specific trigger. More... | |
| void | HAL_StopSPIAuto (HAL_SPIPort port, int32_t *status) |
| Stops an automatic SPI accumlation. More... | |
| void | HAL_SetSPIAutoTransmitData (HAL_SPIPort port, const uint8_t *dataToSend, int32_t dataSize, int32_t zeroSize, int32_t *status) |
| Sets the data to be transmitted to the device to initiate a read. More... | |
| void | HAL_ForceSPIAutoRead (HAL_SPIPort port, int32_t *status) |
| Immediately forces an SPI read to happen. More... | |
| int32_t | HAL_ReadSPIAutoReceivedData (HAL_SPIPort port, uint32_t *buffer, int32_t numToRead, double timeout, int32_t *status) |
| Reads data received by the SPI accumulator. More... | |
| int32_t | HAL_GetSPIAutoDroppedCount (HAL_SPIPort port, int32_t *status) |
| Gets the count of how many SPI accumulations have been missed. More... | |
| void | HAL_ConfigureSPIAutoStall (HAL_SPIPort port, int32_t csToSclkTicks, int32_t stallTicks, int32_t pow2BytesPerRead, int32_t *status) |
| Configure the Auto SPI Stall time between reads. More... | |
| void HAL_CloseSPI | ( | HAL_SPIPort | port | ) |
Closes the SPI port.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP |
| void HAL_ConfigureSPIAutoStall | ( | HAL_SPIPort | port, |
| int32_t | csToSclkTicks, | ||
| int32_t | stallTicks, | ||
| int32_t | pow2BytesPerRead, | ||
| int32_t * | status | ||
| ) |
Configure the Auto SPI Stall time between reads.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP. |
| csToSclkTicks | the number of ticks to wait before asserting the cs pin |
| stallTicks | the number of ticks to stall for |
| pow2BytesPerRead | the number of bytes to read before stalling |
| void HAL_ForceSPIAutoRead | ( | HAL_SPIPort | port, |
| int32_t * | status | ||
| ) |
Immediately forces an SPI read to happen.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP. |
| void HAL_FreeSPIAuto | ( | HAL_SPIPort | port, |
| int32_t * | status | ||
| ) |
Frees an SPI automatic accumulator.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP. |
| int32_t HAL_GetSPIAutoDroppedCount | ( | HAL_SPIPort | port, |
| int32_t * | status | ||
| ) |
Gets the count of how many SPI accumulations have been missed.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP. |
| int32_t HAL_GetSPIHandle | ( | HAL_SPIPort | port | ) |
Gets the stored handle for a SPI port.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP |
| void HAL_InitializeSPI | ( | HAL_SPIPort | port, |
| int32_t * | status | ||
| ) |
Initializes the SPI port.
Opens the port if necessary and saves the handle.
If opening the MXP port, also sets up the channel functions appropriately.
| port | The number of the port to use. 0-3 for Onboard CS0-CS3, 4 for MXP |
| void HAL_InitSPIAuto | ( | HAL_SPIPort | port, |
| int32_t | bufferSize, | ||
| int32_t * | status | ||
| ) |
Initializes the SPI automatic accumulator.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP. |
| bufferSize | The accumulator buffer size. |
| int32_t HAL_ReadSPI | ( | HAL_SPIPort | port, |
| uint8_t * | buffer, | ||
| int32_t | count | ||
| ) |
Executes a read from the device.
This method does not write any data out to the device.
Most spi devices will require a register address to be written before they begin returning data.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP |
| buffer | A pointer to the array of bytes to store the data read from the device. |
| count | The number of bytes to read in the transaction. [1..7] |
| int32_t HAL_ReadSPIAutoReceivedData | ( | HAL_SPIPort | port, |
| uint32_t * | buffer, | ||
| int32_t | numToRead, | ||
| double | timeout, | ||
| int32_t * | status | ||
| ) |
Reads data received by the SPI accumulator.
Each received data sequence consists of a timestamp followed by the received data bytes, one byte per word (in the least significant byte). The length of each received data sequence is the same as the combined dataSize + zeroSize set in HAL_SetSPIAutoTransmitData.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP. |
| buffer | The buffer to store the data into. |
| numToRead | The number of words to read. |
| timeout | The read timeout (in seconds). |
| void HAL_SetSPIAutoTransmitData | ( | HAL_SPIPort | port, |
| const uint8_t * | dataToSend, | ||
| int32_t | dataSize, | ||
| int32_t | zeroSize, | ||
| int32_t * | status | ||
| ) |
Sets the data to be transmitted to the device to initiate a read.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP. |
| dataToSend | Pointer to the data to send (Gets copied for continue use, so no need to keep alive). |
| dataSize | The length of the data to send. |
| zeroSize | The number of zeros to send after the data. |
| void HAL_SetSPIChipSelectActiveHigh | ( | HAL_SPIPort | port, |
| int32_t * | status | ||
| ) |
Sets the CS Active high for a SPI port.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP |
| void HAL_SetSPIChipSelectActiveLow | ( | HAL_SPIPort | port, |
| int32_t * | status | ||
| ) |
Sets the CS Active low for a SPI port.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP |
| void HAL_SetSPIHandle | ( | HAL_SPIPort | port, |
| int32_t | handle | ||
| ) |
Sets the stored handle for a SPI port.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP. |
| handle | The value of the handle for the port. |
| void HAL_SetSPIOpts | ( | HAL_SPIPort | port, |
| HAL_Bool | msbFirst, | ||
| HAL_Bool | sampleOnTrailing, | ||
| HAL_Bool | clkIdleHigh | ||
| ) |
Sets the SPI options.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP |
| msbFirst | True to write the MSB first, False for LSB first |
| sampleOnTrailing | True to sample on the trailing edge, False to sample on the leading edge |
| clkIdleHigh | True to set the clock to active low, False to set the clock active high |
| void HAL_SetSPISpeed | ( | HAL_SPIPort | port, |
| int32_t | speed | ||
| ) |
Sets the clock speed for the SPI bus.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP |
| speed | The speed in Hz (0-1MHz) |
| void HAL_StartSPIAutoRate | ( | HAL_SPIPort | port, |
| double | period, | ||
| int32_t * | status | ||
| ) |
Sets the period for automatic SPI accumulation.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP. |
| period | The accumlation period (seconds). |
| void HAL_StartSPIAutoTrigger | ( | HAL_SPIPort | port, |
| HAL_Handle | digitalSourceHandle, | ||
| HAL_AnalogTriggerType | analogTriggerType, | ||
| HAL_Bool | triggerRising, | ||
| HAL_Bool | triggerFalling, | ||
| int32_t * | status | ||
| ) |
Starts the auto SPI accumulator on a specific trigger.
Note that triggering on both rising and falling edges is a valid configuration.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP. |
| digitalSourceHandle | The trigger source to use (Either HAL_AnalogTriggerHandle or HAL_DigitalHandle). |
| analogTriggerType | The analog trigger type, if the source is an analog trigger. |
| triggerRising | Trigger on the rising edge if true. |
| triggerFalling | Trigger on the falling edge if true. |
| void HAL_StopSPIAuto | ( | HAL_SPIPort | port, |
| int32_t * | status | ||
| ) |
Stops an automatic SPI accumlation.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP. |
| int32_t HAL_TransactionSPI | ( | HAL_SPIPort | port, |
| const uint8_t * | dataToSend, | ||
| uint8_t * | dataReceived, | ||
| int32_t | size | ||
| ) |
Performs an SPI send/receive transaction.
This is a lower-level interface to the spi hardware giving you more control over each transaction.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP |
| dataToSend | Buffer of data to send as part of the transaction. |
| dataReceived | Buffer to read data into. |
| size | Number of bytes to transfer. [0..7] |
| int32_t HAL_WriteSPI | ( | HAL_SPIPort | port, |
| const uint8_t * | dataToSend, | ||
| int32_t | sendSize | ||
| ) |
Executes a write transaction with the device.
Writes to a device and wait until the transaction is complete.
| port | The number of the port to use. 0-3 for Onboard CS0-CS2, 4 for MXP |
| datToSend | The data to write to the register on the device. |
| sendSize | The number of bytes to be written |