evk_radio.h

This module controls the peripherals for the SR10x0 radio.

Copyright

Copyright (C) 2026 SPARK Microsystems International Inc. All rights reserved.

License

This source code is proprietary and subject to the SPARK Microsystems Software EULA found in this package in file EULA.txt.

Author

SPARK FW Team.

Functions

void evk_radio_peripherals_init(void)

Initialize all peripherals related to the SR10x0 radio.

bool evk_radio_read_irq_pin(void)

Read the status of the on-board controller IRQ pin.

Return values:
  • True – Pin is high.

  • False – Pin is low.

void evk_radio_enable_irq_it(void)

Enable the on-board controller IRQ external interrupt.

void evk_radio_disable_irq_it(void)

Disable the on-board controller IRQ external interrupt.

void evk_radio_enable_dma_irq_it(void)

Enable the DMA SPI interrupt of the radio.

void evk_radio_disable_dma_irq_it(void)

Disable the DMA SPI interrupt of the radio.

void evk_radio_set_shutdown_pin(void)

Set the on-board controller shutdown pin.

void evk_radio_reset_shutdown_pin(void)

Reset the on-board controller shutdown pin.

void evk_radio_set_reset_pin(void)

Set the on-board controller reset pin.

void evk_radio_reset_reset_pin(void)

Reset the on-board controller reset pin.

void evk_radio_spi_set_cs(void)

Set the on-board controller chip-select pin.

void evk_radio_spi_reset_cs(void)

Reset the on-board controller chip-select pin.

void evk_radio_set_debug_en(void)

Set the on-board controller debug enable pin.

void evk_radio_reset_debug_en(void)

Reset the on-board controller debug enable pin.

void evk_radio_spi_write_blocking(uint8_t *data, uint8_t size)

Write data on the SPI communication bus.

Parameters:
  • data[in] Data buffer to write.

  • size[in] Size of the data to write.

void evk_radio_spi_read_blocking(uint8_t *data, uint8_t size)

Read data on the SPI communication bus.

Parameters:
  • data[out] Data received.

  • size[in] Size of the data to read.

void evk_radio_spi_transfer_full_duplex_blocking(uint8_t *tx_data, uint8_t *rx_data, uint16_t size)

Read and Write data full duplex on the radio in blocking mode.

Parameters:
  • tx_data[in] Data buffer to write.

  • rx_data[out] Data received.

  • size[in] Size of the data.

void evk_radio_spi_transfer_full_duplex_non_blocking(uint8_t *tx_data, uint8_t *rx_data, uint16_t size)

Read and Write data full duplex on the radio in non-blocking mode.

Parameters:
  • tx_data[in] Data buffer to write.

  • rx_data[out] Data received.

  • size[in] Size of the data.

bool evk_radio_is_spi_busy(void)

Read the status of the radio’s SPI.

Return values:
  • true – SPI is busy.

  • false – SPI is not busy.

void evk_radio_context_switch(void)

Software interrupt trigger to force the cpu to get into the interrupt handler.

void evk_radio_callback_context_switch(void)

Induce a context switch to the pendSV ISR.

void evk_radio_set_spi_baudrate(spi_prescaler_t prescaler)

Change the radio’s SPI BaudRate.

Note

The evk_init() function does initialize by default the SPI peripheral with a prescaler of 4.

Parameters:

prescaler[in] SPI BaudRate Prescaler.