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().