[−][src]Module mynewt::spi
Experimental Non-Blocking SPI Transfer API. Uses a background task to send SPI requests sequentially. Request data is copied into Mbuf Queues before transmitting.
Structs
SpiCallback | Non-blocking SPI transfer callback parameter (not used) |
Constants
DISPLAY_CS | |
DISPLAY_DC | |
DISPLAY_SPI | |
OS_TICKS_PER_SEC | |
SPI_DC_PIN | |
SPI_NUM | |
SPI_SS_PIN | |
SPI_TASK_STACK_SIZE | Size of the stack (in 4-byte units). Previously |
Statics
PENDING_CMD | Pending SPI Command Byte to be written |
PENDING_DATA | Pending SPI Data Bytes to be written |
SPI_CALLBACK | Non-blocking SPI transfer callback values (not used) |
SPI_DATA_QUEUE | Mbuf Queue that contains the SPI data packets to be sent. Why use Mbuf Queue? Because it's a Mynewt OS low-level buffer that allows packets of various sizes to be copied efficiently. |
SPI_EVENT_QUEUE | Event Queue that contains the pending non-blocking SPI requests |
SPI_SEM | Semaphore that is signalled for every completed SPI request |
SPI_SETTINGS | TODO: Remove SPI settings for ST7789 display controller |
SPI_TASK | SPI Task that will send each SPI request sequentially |
SPI_TASK_STACK | Stack space for SPI Task, initialised to 0. |
SPI_THROTTLE_SEM | Semaphore that throttles the number of queued SPI requests |
Functions
delay_ms | Sleep for the specified number of milliseconds |
hal_watchdog_tickle⚠ | Tickles the watchdog so that the Watchdog Timer doesn't expire. This needs to be done periodically, before the value configured in hal_watchdog_init() expires. |
internal_spi_noblock_write | Perform non-blocking SPI write in Mynewt OS. Blocks until SPI write completes. |
spi_event_callback | Callback for the event that is triggered when an SPI request is added to the queue. |
spi_noblock_handler | Called by interrupt handler after Non-blocking SPI transfer has completed |
spi_noblock_init | Init non-blocking SPI transfer |
spi_noblock_write | Enqueue request for non-blocking SPI write. Returns without waiting for write to complete. Request must have a Command Byte, followed by optional Data Bytes. |
spi_noblock_write_command | Set pending request for non-blocking SPI write for Command Byte. Returns without waiting for write to complete. |
spi_noblock_write_data | Set pending request for non-blocking SPI write for Data Bytes. Returns without waiting for write to complete. |
spi_noblock_write_flush | Enqueue any pending request for non-blocking SPI write for Command Byte and Data Bytes. Returns without waiting for write to complete. |
spi_task_func | SPI Task Function. Execute sequentially each SPI request posted to our Event Queue. When there are no requests to process, block until one arrives. |
Type Definitions
PendingCmdSize | Max size of pending Command Bytes |
PendingDataSize | Max size of pending Data Bytes |