Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages

The Frame Reception Unit reads/uploads the incoming frames .

Functions

void handle_received_frame_irq (void)
 Handle received frame interrupt. More...
 
void process_incoming_frame (buffer_t *buf)
 Parses received frame and create the frame_info_t structure. More...
 

void handle_received_frame_irq ( void  )

Handle received frame interrupt.

This function handles transceiver interrupts for received frames and uploads the frames from the trx.

References Assert, bmm_buffer_alloc(), BMM_BUFFER_POINTER, CMD_PLL_ON, CRC16_NOT_VALID, ED_VAL_LEN, LENGTH_FIELD_LEN, LQI_LEN, frame_info_tag::mpdu, qmm_queue_append(), set_trx_state(), SR_RX_CRC_VALID, tal_incoming_frame_queue, tal_pib, tal_rx_buffer, tal_rx_on_required, trx_bit_read(), trx_frame_read(), and trx_sram_read().

Referenced by trx_irq_handler_cb().

void process_incoming_frame ( buffer_t buf)

Parses received frame and create the frame_info_t structure.

This function parses the received frame and creates the frame_info_t structure to be sent to the MAC as a parameter of tal_rx_frame_cb().

Parameters
bufPointer to the buffer containing the received frame

References BMM_BUFFER_POINTER, frame_info_tag::buffer_header, FCF_FRAMETYPE_BEACON, FCF_FRAMETYPE_MASK, last_frame_length, LQI_LEN, frame_info_tag::mpdu, normalize_lqi(), PIN_BEACON_END, PIN_BEACON_START, PIN_WAITING_FOR_BEACON_END, PL_POS_FCF_1, TAL_CONVERT_US_TO_SYMBOLS, tal_pib, and tal_rx_frame_cb().

Referenced by tal_task().