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, CMD_PLL_ON, CRC16_NOT_VALID, ED_VAL_LEN, LENGTH_FIELD_LEN, LQI_LEN, frame_info_tag::mpdu, NULL, RG_PHY_ED_LEVEL, set_trx_state(), SR_RX_CRC_VALID, tal_incoming_frame_queue, tal_pib, tal_rx_buffer, tal_rx_on_required, tal_rx_timestamp, tal_timestamp, frame_info_tag::time_stamp, trx_bit_read(), trx_frame_read(), trx_reg_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 ACK_PAYLOAD_LEN, BACKOFF_WAITING_FOR_BEACON, frame_info_tag::buffer_header, CSMA_HANDLE_BEACON, FCF_ACK_REQUEST, FCF_FRAMETYPE_BEACON, FCF_FRAMETYPE_MASK, FCS_LEN, last_frame_length, LENGTH_FIELD_LEN, LQI_LEN, frame_info_tag::mpdu, PHY_OVERHEAD, PIN_BEACON_END, PIN_BEACON_START, PIN_WAITING_FOR_BEACON_END, PL_POS_FCF_1, tal_csma_state, tal_pib, tal_rx_frame_cb(), and frame_info_tag::time_stamp.
Referenced by tal_task().