Synchronous Serial Interface (SSI) API Reference#

The SiWx917 (Si91x family) Synchronous Serial Interface (SSI) API in the WiSeConnect SDK provides the modules, data types (enumerations/typedefs), configuration structures, functions, and macros needed to configure and use SSI. It enables applications to operate in primary or secondary roles, select clock settings and data formats, and perform transfers using blocking, interrupt-driven, or DMA.

Public APIs#

This section provides an overview of the public Synchronous Serial Interface (SSI) Application Programming Interfaces (APIs) for the SiWx917 platform. It describes the available modules, enumerations, typedefs, configuration structures, functions, and macros. It also includes usage patterns and concise examples for typical operations, such as configuring primary or secondary modes, selecting clock and data formats, and performing data transfers using interrupts or Direct Memory Access (DMA).

For the complete SSI API documentation, see the official guide: SiWx917 SSI API Reference.

For examples and configuration details, see the following resources:

Callback and Notification APIs#

The callback and notification APIs provide efficient, event-driven handling of SSI events. By registering a callback function, the driver automatically notifies your application when events such as transfer completion or errors occur. This event-drive design improves efficiency and responsiveness by allowing your application to process other events or tasks until it’s notified of an SSI event.

For implementation details, see Registering Event Callbacks.

Integration Notes#

  • Always initialize the SSI interface using sl_si91x_ssi_init() before performing data transfers.

  • Configure communication parameters using sl_si91x_ssi_set_configuration() prior to enabling the interface.

  • Use DMA for large or continuous data transactions to improve throughput and reduce CPU overhead.

  • Register callbacks for non-blocking or asynchronous transfers.