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.