EFR32xG2x-specific interrupt sources.

Below are the interrupt handlers implemented within the RAIL library for EFR32 Series 2. See EFR32 for more details about interrupt initialization and priorities. For more information about the interrupt vectors and where they are on your specific chip, see the startup_efr32xg2xx.c file for your chip. These can be found under the Device/SiliconLabs folder in your release.

Warnings

Public Functions#

void

RAIL interrupt handler for the high-priority FRC_PRI interrupt source.

void

RAIL interrupt handler for the normal-priority FRC interrupt source.

void

RAIL interrupt handler for the MODEM interrupt source.

void

RAIL interrupt handler for the SEQ interrupt source.

void

RAIL interrupt handler for the RAC_RSM interrupt source.

void

RAIL interrupt handler for the BUFC interrupt source.

void

RAIL interrupt handler for the AGC interrupt source.

void

RAIL interrupt handler for the PROTIMER interrupt source.

void

RAIL interrupt handler for the SYNTH interrupt source.

void

RAIL interrupt handler for the RFSENSE interrupt source.

void

RAIL interrupt handler for the PRORTC interrupt source.

void

RAIL interrupt handler for the HOSTMAILBOX interrupt source.

void

RAIL interrupt handler for the RDMAILBOX interrupt source.

void

RAIL interrupt handler for the RFECA0 interrupt source.

void

RAIL interrupt handler for the RFECA1 interrupt source.

void

RAIL interrupt handler for the RFTIMER interrupt source.

void

RAIL interrupt handler for the SOFTM interrupt source.

void

RAIL interrupt handler for the RFDMA interrupt source.

void

RAIL interrupt handler for the SYSRTC SEQ interrupt source.

Public Function Documentation#

FRC_PRI_IRQHandler#

void EFR32xG2x_Interrupts::FRC_PRI_IRQHandler (void)

RAIL interrupt handler for the high-priority FRC_PRI interrupt source.

Parameters
N/A

This source handles interrupts from the FRC High Priority. It is not used at this time.

Note

  • The interrupt vector should still point to the RAIL interrupt handler for compatibility with future RAIL releases.


Definition at line 53 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

FRC_IRQHandler#

void EFR32xG2x_Interrupts::FRC_IRQHandler (void)

RAIL interrupt handler for the normal-priority FRC interrupt source.

Parameters
N/A

This source handles packet completion events for the transmit side. The receive side events are queued and processed in the BUFC_IRQHandler. The following events are currently in use:


Definition at line 58 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

MODEM_IRQHandler#

void EFR32xG2x_Interrupts::MODEM_IRQHandler (void)

RAIL interrupt handler for the MODEM interrupt source.

Parameters
N/A

This source handles demodulator and modulator status and error events. The following events are currently in use:


Definition at line 63 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

RAC_SEQ_IRQHandler#

void EFR32xG2x_Interrupts::RAC_SEQ_IRQHandler (void)

RAIL interrupt handler for the SEQ interrupt source.

Parameters
N/A

This source handles interrupts generated from the radio sequencer. The following events are currently in use:


Definition at line 103 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

RAC_RSM_IRQHandler#

void EFR32xG2x_Interrupts::RAC_RSM_IRQHandler (void)

RAIL interrupt handler for the RAC_RSM interrupt source.

Parameters
N/A

This source handles interrupts generated from the radio state machine. The following events are currently in use:

  • Radio State Changed

    • Enabled in some debug modes.


Definition at line 108 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

BUFC_IRQHandler#

void EFR32xG2x_Interrupts::BUFC_IRQHandler (void)

RAIL interrupt handler for the BUFC interrupt source.

Parameters
N/A

This source handles interrupts generated from the radio buffer controller. The following events are currently in use:

  • RX Buffer Threshold

  • RX Buffer Underflow

    • This event cannot be disabled and indicates that too much data was read from the RX buffer. It should not occur in normal operation as all receive APIs protect against it.

  • RX Buffer Corruption

    • This event cannot be disabled and indicates the pointers in the RX buffer have become corrupt. This event should not occur in normal operation.

  • TX Buffer Threshold

  • TX Buffer Overflow

    • This event cannot be disabled and indicates too much data was placed into the TX buffer. This event should not occur in normal operation as all transmit APIs protect against it.

  • TX Buffer Underflow

    • This event cannot be disabled and occurs when the transmit FIFO runs out of bytes before the end of the packet. This event will always perform any necessary cleanup and will call the eventsCallback if RAIL_EVENT_TX_UNDERFLOW is enabled.

  • TX Buffer Corruption

    • This event cannot be disabled and indicates the pointers in the TX buffer have become corrupt. This event should not occur in normal operation.

  • RX Entry Buffer Threshold

  • RX Entry Buffer Underflow

    • This event cannot be disabled and indicates that too much data was read from the RX entry buffer. This event should not occur in normal operation.

  • RX Entry Buffer Overflow

    • This event cannot be disabled and will fire one time if the RX entry buffer overflows. It will cause the RAIL_EVENT_RX_FIFO_OVERFLOW event to happen later after all valid entries are processed in the RX entry buffer.

  • RX Entry Buffer Underflow

    • This event cannot be disabled and indicates that too much data was read from the RX entry buffer. This event should not occur in normal operation.

  • RX Entry Buffer Corruption

    • This event cannot be disabled and indicates the pointers in the RX entry buffer have become corrupt. This event should not occur in normal operation.


Definition at line 113 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

AGC_IRQHandler#

void EFR32xG2x_Interrupts::AGC_IRQHandler (void)

RAIL interrupt handler for the AGC interrupt source.

Parameters
N/A

This source handles interrupts generated from the automatic gain control block. The following events are currently in use:


Definition at line 118 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

PROTIMER_IRQHandler#

void EFR32xG2x_Interrupts::PROTIMER_IRQHandler (void)

RAIL interrupt handler for the PROTIMER interrupt source.

Parameters
N/A

This source handles interrupts generated from the RAIL timebase (PROTIMER). The following events are currently in use:

  • Scheduled TX/RX

    • This event cannot be disabled and occurs when a scheduled transmit or receive begins.

  • RX scheduled window end timeout

    • This event cannot be disabled and occurs when the scheduled receive window ends and the radio exits receive. This event will call the eventsCallback if RAIL_EVENT_RX_SCHEDULED_RX_END is enabled.

  • Transmit with CCA Failed

    • This event cannot be disabled and occurs when CCA indicates the channel is busy. This event will call the eventsCallback if RAIL_EVENT_TX_CHANNEL_BUSY is enabled.

  • Transmit with CCA Success

    • This event cannot be disabled and occurs when CCA indicates the channel is clear and the packet will be transmitted. This event will call the eventsCallback if RAIL_EVENT_TX_CHANNEL_CLEAR is enabled.

  • Starting a CCA check

  • CCA Retry

    • This event is enabled by RAIL_ConfigEvents() when given RAIL_EVENT_TX_CCA_RETRY. It will occur whenever CSMA or LBT have a failed channel check and are going to begin retrying. Note that on the EFR32xG1 platform this is enabled by default to handle issues with certain CCA threshold values.

  • RAIL Timer

    • This event is enabled by RAIL_SetTimer() and will call the provided callback when the timer expires.


Definition at line 123 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

SYNTH_IRQHandler#

void EFR32xG2x_Interrupts::SYNTH_IRQHandler (void)

RAIL interrupt handler for the SYNTH interrupt source.

Parameters
N/A

This source handles interrupts generated from the synth module. The following events are currently in use:

  • Radio Sequencer Handshake

    • This event is used in to keep the main core awake during some radio operations.


Definition at line 135 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

RFSENSE_IRQHandler#

void EFR32xG2x_Interrupts::RFSENSE_IRQHandler (void)

RAIL interrupt handler for the RFSENSE interrupt source.

Parameters
N/A

This source handles interrupts generated from the RF Sense module. This source is not available on all series-2 devices. The following events are currently in use:

  • RF Sensed

    • This event is enabled by when the RFSENSE block is initialized using RAIL_StartRfSense() and can be disabled by turning off the RFSENSE block using RAIL_StartRfSense() with the band set to RAIL_RFSENSE_OFF. This event will possibly generate a callback provided to RAIL_StartRfSense whenever the RFSENSE block detects RF energy.


Definition at line 151 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

PRORTC_IRQHandler#

void EFR32xG2x_Interrupts::PRORTC_IRQHandler (void)

RAIL interrupt handler for the PRORTC interrupt source.

Parameters
N/A

This source handles interrupts from the internal RTC source on chips that support it (EFR32XG21 and EFR32XG22). It is not used at this time.

Note

  • The interrupt vector should still point to the RAIL interrupt handler for compatibility with future RAIL releases.


Definition at line 162 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

HOSTMAILBOX_IRQHandler#

void EFR32xG2x_Interrupts::HOSTMAILBOX_IRQHandler (void)

RAIL interrupt handler for the HOSTMAILBOX interrupt source.

Parameters
N/A

This source handles interrupts generated from the mailbox between the radio sequencer and main core. This source is not available on all series-2 devices. The following events are currently in use:

  • Mailbox Event

    • Mailbox message from the radio sequencer to the main core.


Definition at line 175 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

RDMAILBOX_IRQHandler#

void EFR32xG2x_Interrupts::RDMAILBOX_IRQHandler (void)

RAIL interrupt handler for the RDMAILBOX interrupt source.

Parameters
N/A

This interrupt source was renamed. See /ref HOSTMAILBOX_IRQHandler for more details.


Definition at line 183 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

RFECA0_IRQHandler#

void EFR32xG2x_Interrupts::RFECA0_IRQHandler (void)

RAIL interrupt handler for the RFECA0 interrupt source.

Parameters
N/A

Currently, there are no interrupt sources enabled within this group. This source is not available on all series-2 devices.

Note

  • The interrupt vector should still point to the RAIL interrupt handler for compatibility with future RAIL releases.


Definition at line 194 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

RFECA1_IRQHandler#

void EFR32xG2x_Interrupts::RFECA1_IRQHandler (void)

RAIL interrupt handler for the RFECA1 interrupt source.

Parameters
N/A

Currently, there are no interrupt sources enabled within this group. This source is not available on all series-2 devices.

Note

  • The interrupt vector should still point to the RAIL interrupt handler for compatibility with future RAIL releases.


Definition at line 205 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

RFTIMER_IRQHandler#

void EFR32xG2x_Interrupts::RFTIMER_IRQHandler (void)

RAIL interrupt handler for the RFTIMER interrupt source.

Parameters
N/A

Currently, there are no interrupt sources enabled within this group. This source is not available on all series-2 devices.

Note

  • The interrupt vector should still point to the RAIL interrupt handler for compatibility with future RAIL releases.


Definition at line 216 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

SOFTM_IRQHandler#

void EFR32xG2x_Interrupts::SOFTM_IRQHandler (void)

RAIL interrupt handler for the SOFTM interrupt source.

Parameters
N/A

This source handles demodulator status and error events on some phys configurations. This source is not available on all series-2 devices.

The following events are currently in use:


Definition at line 256 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

RFLDMA_IRQHandler#

void EFR32xG2x_Interrupts::RFLDMA_IRQHandler (void)

RAIL interrupt handler for the RFDMA interrupt source.

Parameters
N/A

Currently, there are no interrupt sources enabled within this group. This source is not available on all series-2 devices.

Note

  • The interrupt vector should still point to the RAIL interrupt handler for compatibility with future RAIL releases.


Definition at line 267 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h

SYSRTC_SEQ_IRQHandler#

void EFR32xG2x_Interrupts::SYSRTC_SEQ_IRQHandler (void)

RAIL interrupt handler for the SYSRTC SEQ interrupt source.

Parameters
N/A

This source handles system rtc interrupts for the radio subsystem. This source is not available on all series-2 devices.

The following events are currently in use:

  • SYSRTC compare channel

    • This event is enabled by the rail_power_manager and is only used during rail timebase syncronization after sleep.


Definition at line 280 of file chip/efr32/efr32xg2x/rail_efr32xg2x_interrupts.h