Data Structures | |
union | fcf_t |
Defines the bitfields of the frame control field (FCF). More... | |
struct | scf_t |
802.15.4 security control bitfield. More... | |
struct | aux_hdr_t |
802.15.4 Aux security header More... | |
union | ADDR_SIZE_SPEC_t |
A union of short and long address types. More... | |
struct | PAN_ID_ADDR_SPEC_t |
Structure containing a PAN ID and an address. More... | |
struct | ADDR_FIELD_SPEC_t |
Structure containing both source and destination addresses. More... | |
union | addr_t |
Union of both short and long addresses. More... | |
struct | frame_result_t |
Strucure used to return that status of the frame create process. More... | |
struct | frame_create_params_t |
Parameters used by the frame_tx_create() function. More... | |
Files | |
file | frame.c |
802.15.4 frame creation and parsing functions | |
file | frame.h |
802.15.4 frame creation and parsing functions | |
Defines | |
#define | FIXEDFRAMEOVERHEAD (5) |
Some constants for frame length calculations. | |
Functions | |
void | frame_tx_create (frame_create_params_t *p, frame_result_t *frame_result) |
Creates a frame for transmission over the air. | |
void | rx_frame_parse (hal_rx_frame_t *rx_frame, parsed_frame_t *pf) |
Parses an input frame. |
#define FIXEDFRAMEOVERHEAD (5) |
Some constants for frame length calculations.
The IEEE 802.15.4 frame has a number of constant/fixed fields that can be counted to make frame construction and max payload calculations easier.
These include: 1. FCF - 2 bytes - Fixed 2. Sequence number - 1 byte - Fixed 3. Addressing fields - 4 - 20 bytes - Variable 4. Aux security header - 0 - 14 bytes - Variable 5. CRC - 2 bytes - Fixed
void frame_tx_create | ( | frame_create_params_t * | p, | |
frame_result_t * | frame_result | |||
) |
Creates a frame for transmission over the air.
This function is meant to be called by a higher level function, that interfaces to a MAC.
p | Pointer to frame_create_params_t struct, which specifies the frame to send. | |
frame_result | Pointer to frame_result_t struct, which will receive the results of this function, a pointer to the frame created, and the length of the frame. |
Referenced by sicslowmac_dataRequest().
void rx_frame_parse | ( | hal_rx_frame_t * | rx_frame, | |
parsed_frame_t * | pf | |||
) |
Parses an input frame.
Scans the input frame to find each section, and stores the resulting addresses of each section in a parsed_frame_t structure.
rx_frame | The input data from the radio chip. | |
pf | The parsed_frame_t struct that stores a pointer to each section of the frame payload. |