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, LARGE_BUFFER_SIZE, 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, tal_timestamp, frame_info_tag::time_stamp, 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().
buf | Pointer to the buffer containing the received frame |
References BACKOFF_WAITING_FOR_BEACON, BMM_BUFFER_POINTER, frame_info_tag::buffer_header, CSMA_HANDLE_BEACON, 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_csma_state, tal_pib, tal_rx_frame_cb(), and frame_info_tag::time_stamp.
Referenced by tal_task().