Frame802154

Data Structures

struct  frame802154_fcf_t
 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. More...
struct  frame802154_scf_t
 802.15.4 security control bitfield. More...
struct  frame802154_aux_hdr_t
 802.15.4 Aux security header More...
struct  frame802154_t
 Parameters used by the frame802154_create() function. More...

Files

file  frame802154.c
 

802.15.4 frame creation and parsing functions


file  frame802154.h
 

802.15.4 frame creation and parsing functions


FCF element values definitions

These are some definitions of values used in the FCF.

See the 802.15.4 spec for details.



uint8_t frame802154_hdrlen (frame802154_t *p)
 Calculates the length of the frame header.
uint8_t frame802154_create (frame802154_t *p, uint8_t *buf, uint8_t buf_len)
 Creates a frame for transmission over the air.
uint8_t frame802154_parse (uint8_t *data, uint8_t len, frame802154_t *pf)
 Parses an input frame.
#define FRAME802154_BEACONFRAME   (0x00)
#define FRAME802154_DATAFRAME   (0x01)
#define FRAME802154_ACKFRAME   (0x02)
#define FRAME802154_CMDFRAME   (0x03)
#define FRAME802154_BEACONREQ   (0x07)
#define FRAME802154_IEEERESERVED   (0x00)
#define FRAME802154_NOADDR   (0x00)
 Only valid for ACK or Beacon frames.
#define FRAME802154_SHORTADDRMODE   (0x02)
#define FRAME802154_LONGADDRMODE   (0x03)
#define FRAME802154_NOBEACONS   (0x0F)
#define FRAME802154_BROADCASTADDR   (0xFFFF)
#define FRAME802154_BROADCASTPANDID   (0xFFFF)
#define FRAME802154_IEEE802154_2003   (0x00)
#define FRAME802154_IEEE802154_2006   (0x01)
#define FRAME802154_SECURITY_LEVEL_NONE   (0)
#define FRAME802154_SECURITY_LEVEL_128   (3)

Define Documentation

#define FRAME802154_NOADDR   (0x00)

Only valid for ACK or Beacon frames.

Definition at line 88 of file frame802154.h.


Function Documentation

uint8_t frame802154_create ( frame802154_t p,
uint8_t *  buf,
uint8_t  buf_len 
)

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.

Parameters:
p Pointer to frame802154_t struct, which specifies the frame to send.
buf Pointer to the buffer to use for the frame.
buf_len The length of the buffer to use for the frame.
Returns:
The length of the frame header or 0 if there was insufficient space in the buffer for the frame headers.
uint8_t frame802154_hdrlen ( frame802154_t p  ) 

Calculates the length of the frame header.

This function is meant to be called by a higher level function, that interfaces to a MAC.

Parameters:
p Pointer to frame802154_t_t struct, which specifies the frame to send.
Returns:
The length of the frame header.
uint8_t frame802154_parse ( uint8_t *  data,
uint8_t  len,
frame802154_t pf 
)

Parses an input frame.

Scans the input frame to find each section, and stores the information of each section in a frame802154_t structure.

Parameters:
data The input data from the radio chip.
len The size of the input data
pf The frame802154_t struct to store the parsed frame information.

Generated on Mon Apr 11 14:23:56 2011 for Contiki 2.5 by  doxygen 1.6.1