Microchip® Advanced Software Framework

tal_irq_handler.c File Reference

This file handles the interrupt generated by the transceiver.

Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries.

#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>
#include "pal.h"
#include "tal_config.h"
#include "tal_internal.h"
#include "ieee_const.h"

Functions

void trx_irq_handler_cb (void)
 Transceiver interrupt handler. More...
 

void trx_irq_handler_cb ( void  )

Transceiver interrupt handler.

This function handles the transceiver interrupt. It reads all IRQs from the transceivers and stores them to a variable. If a transceiver is currently sleeping, then the IRQs are not handled. The actual processing of the IRQs is triggered from tal_task().

References BB_IRQ_AGCH, BB_IRQ_AGCR, BB_IRQ_NO_IRQ, BB_IRQ_RXAM, BB_IRQ_RXEM, BB_IRQ_RXFE, BB_IRQ_RXFS, BB_IRQ_TXFE, BB_RX_FRM_BUF_OFFSET, FCF_ACK_REQUEST, NUM_TRX, pal_get_current_time(), RF_BASE_ADDR_OFFSET, RF_IRQ_BATLOW, RF_IRQ_EDC, RF_IRQ_IQIFSF, RF_IRQ_NO_IRQ, RF_IRQ_TRXERR, RF_IRQ_TRXRDY, RF_IRQ_WAKEUP, RG_BBC0_FBRXS, RG_RF09_IRQS, rxe_txe_tstamp, SR_BBC0_AMCS_AACK, tal_bb_irqs, tal_rf_irqs, TAL_SLEEP, tal_state, trx_bit_write(), trx_read(), and trx_reg_read().

Referenced by tal_init(), tal_reset(), and trx_reset().