Applications
Example
The SDK provides application examples targeting the SPARK Evaluation carrier boards. These examples provide working code with interfaces to SPARK Cores and Libraries. Examples are listed below in order of increasing complexity:
Note
The application examples are configured with channels using frequencies from 6 to 9 GHz which are suitable for the SR1020 and SR1120 transceivers. If an SR1010 transceiver is to be used, application examples must be reconfigured with channels using frequencies from 3 to 6 GHz. To change the frequencies, seek the CHANNEL_FREQ constant in swc_cfg_*.h files in each application folder.
Wireless Core API Access
Applications configure and access the SPARK Radio through the Wireless Core public API provided by swc_api.h. The SPARK Radio PHY is used internally by the Wireless Core and is not exposed as a public application API.
Tools
QSPI Configuration
By default, the applications are compiled to use the SPI peripheral. The QSPI peripheral can be enabled when using the SR1100 radio. To activate it, manually add the "RADIO_INTERFACE_QSPI": "ON" variable to the preset.
QSPI mode is supported only for single-radio SR1100 applications. It must not be combined with "MULTI_TRANSCEIVER": "DUAL_TRANSCEIVER".
{ "name": "audio-bidirectional-sr11xx-quasar", "inherits": ["base","quasar"], "description": "Audio bidirectional example for SR11xx with Quasar", "cacheVariables": { "APP": "Audio-Bidirectional", "TRANSCEIVER": "SR1100", "RADIO_INTERFACE_QSPI": "ON", } },
Important
The QSPI interface requires a different hardware configuration. See SPI/QSPI Communication for more details.
QSPI mode is only compatible with single-radio operation.
Dual Radio Configuration
These application supports Dual Radio on their node device, but is disabled by default. To activate it, manually add the "MULTI_TRANSCEIVER": "DUAL_TRANSCEIVER" variable to the preset.
{ "name": "audio-bidirectional-sr11xx-quasar", "inherits": ["base","quasar"], "description": "Audio bidirectional example for SR11xx with Quasar", "cacheVariables": { "APP": "Audio-Bidirectional", "TRANSCEIVER": "SR1100", "MULTI_TRANSCEIVER": "DUAL_TRANSCEIVER" } },
Important
Do not activate this feature on the SPARK EVK1.4 hardware as it only has one physical transceiver.
Special hardware is required to use this feature on the SPARK Quasar hardware. Contact your SPARK representative to request it.
The profiler application does not currently support dual radio.
Only the node device implement the dual radio mode since it works best on a receiver device.
Dual radio mode is only supported with SPI. It must not be combined with QSPI mode.
USB Audio Support
Some applications support USB Audio class to stream audio to/from a host computer. To compile an application for USB audio, set the “USB_AUDIO_ENABLED”: “ON” flag in the application’s CMake preset cacheVariables section.
{ "name": "audio-bidirectional-sr11xx-quasar-usb_audio", "inherits": ["base","quasar"], "description": "Audio bidirectional example for SR11xx with Quasar USB AUDIO", "cacheVariables": { "APP": "Audio-Bidirectional", "TRANSCEIVER": "SR1100", "USB_AUDIO_ENABLED": "ON" } },
Note
On Windows, when plugging in a USB device, its configuration will be installed automatically. This can cause issues when testing multiple audio configurations with the same device identification (Serial Number, Vendor ID, Product ID) as the configuration of the USB device will remain the same even if you change the device firmware. To avoid any issue, the USB Audio device needs to be uninstalled before switching modes.
To uninstall the drivers, use the Windows device manager.
Click on Sound, video and game controllers and then on the devices’ name. (ex: QUASAR)
Click on View and then on Devices by connection.
Right-click on the USB Composite Device drop-down containing the device to uninstall and select Uninstall device.
Reset the device. It should now be functional. The audio application on the computer may need to be reloaded.