Module for declaring MAC Common API. More...
Data Structures | |
union | mac_addr_t |
MAC ADDRESS. More... | |
struct | mac_payload_descriptor_t |
Payload descriptor. More... | |
Macros | |
#define | macAckWaitDuration 544 |
Maximum interval for acknowledgement frame to arrive in microseconds. More... | |
#define | aMaxBeaconOverhead 75 |
The maximum number of octets added by the MAC sublayer to the MAC payload of a beacon frame. | |
#define | aUnitBackoffPeriod 20UL |
The number of symbols forming the basic time period used by the CSMA-CA algorithm. | |
#define | aBaseSlotDuration 60UL |
The number of symbols forming a superframe slot when the superframe order is equal to 0. | |
#define | aNumSuperframeSlots 16UL |
The number of slots contained in any superframe. | |
#define | aBaseSuperframeDuration (aBaseSlotDuration * aNumSuperframeSlots) |
The number of symbols forming a superframe when the superframe order is equal to 0. | |
#define | aMaxBeaconPayloadLength (aMaxPHYPacketSize - aMaxBeaconOverhead) |
The maximum size, in octets, of a beacon payload. | |
#define | aMaxMPDUUnsecuredOverhead 25 |
The maximum number of octets added by the MAC sublayer to the PSDU without security. | |
#define | aMaxMACSafePayloadSize (aMaxPHYPacketSize - aMaxMPDUUnsecuredOverhead) |
The maximum number of octets that can be transmitted in the MAC Payload field of an unsecured MAC frame that will be guaranteed not to exceed aMaxPHYPacketSize. | |
#define | aMinMPDUOverhead 9 |
The minimum number of octets added by the MAC sublayer to the PSDU. | |
#define | aMaxMACPayloadSize (aMaxPHYPacketSize - aMinMPDUOverhead) |
The maximum number of octets that can be transmitted in the MAC Payload field. | |
#define | aMaxSIFSFrameSize 18 |
The maximum size of an MPDU, in octets, that can be followed by a SIFS period. | |
#define | aMinCAPLength 440 |
The minimum number of symbols forming the CAP. More... | |
#define | aGTSDescPersistenceTime 4 |
The number of superframes in which a GTS descriptor exists in the beacon frame of the PAN coordinator. | |
#define | aMaxLostBeacons 4 |
The number of consecutive lost beacons that will cause the MAC sublayer of a receiving device to declare a loss of synchronization. | |
#define | MAC_MIN_BATT_LIFE_EXT_PERIODS 6 |
Maximum number of battery life extension periods. | |
#define | MAC_MAX_BATT_LIFE_EXT_PERIODS 41 |
Minimum number of battery life extension periods. | |
#define | MAC_MIN_BEACON_ORDER 0 |
Minimum value for macBeaconOrder parameter. | |
#define | MAC_MAX_BEACON_ORDER 15 |
Maximum value for macBeaconOrder parameter. | |
#define | MAC_MIN_MAX_CSMA_BACKOFFS 0 |
Minimum value for macMaxCSMABackoffs parameter. | |
#define | MAC_MAX_MAX_CSMA_BACKOFFS 5 |
Maximum value for macMaxCSMABackoffs parameter. | |
#define | MAC_MIN_MIN_BE 0 |
Minimum value for macMinBE parameter. | |
#define | MAC_MIN_MAX_BE 3 |
Minimum value for macMaxBE parameter. | |
#define | MAC_MAX_MAX_BE 8 |
Maximum value for macMaxBE parameter. | |
#define | MAC_MIN_SUPERFRAME_ORDER 0 |
Minimum value for macSuperframeOrder parameter. | |
#define | MAC_MAX_SUPERFRAME_ORDER 15 |
Maximum value for macSuperframeOrder parameter. | |
#define | MAC_MIN_MAX_FRAME_RETRIES 0 |
Minimum value for macMaxFrameRetries parameter. | |
#define | MAC_MAX_MAX_FRAME_RETRIES 7 |
Maximum value for macMaxFrameRetries parameter. | |
#define | MAC_MIN_RESPONSE_WAIT_TIME 2 |
Minimum value for macResponseWaitTime parameter. | |
#define | MAC_MAX_RESPONSE_WAIT_TIME 64 |
Maximum value for macResponseWaitTime parameter. | |
#define | MAC_SHORT_ADDRESS_NOT_SET 0xFFFF |
A handy macro for a never initialized short address. | |
#define | MAC_EXTENDED_ADDRESS_NOT_SET 0xFFFFFFFFFFFFFFFFULL |
A handy macro for a never initialized short address. | |
#define | MAC_NO_BEACONS 15 |
A value of MAC beacon order attribute which determines a state with no periodic beacons. | |
#define | MAC_BROADCAST_SHORT_ADDRESS 0xFFFF |
A handy macro for broadcast address. | |
#define | MAC_BROADCAST_PANID 0xFFFF |
A handy macro for unknown PAN ID. | |
#define | MAC_EXTENDED_ADDRESS_ONLY 0xFFFE |
Short address field value that is used when the device does not support short addressing mode. | |
#define | MAC_FINAL_CAP_SLOT_NBPAN 15 |
Final CAP slot field value in the beacon for non-beacon enabled PAN. | |
#define | MAC_SLOT_AMOUNT 16 |
Total amount of slots available in beacon enabled PAN. | |
#define | MAC_SECURITY_KEY_INDEX_NOT_SET 0xFF |
This is the value of auto request key index until it has been set. | |
#define | MAC_ADDR_SHORT_LEN 2 |
Length of short MAC address in bytes. | |
#define | MAC_ADDR_EXTENDED_LEN 8 |
Length of extended MAC address in bytes. | |
#define | MAC_PAN_ID_LEN 2 |
Length of PAN ID field in bytes. | |
#define | MAC_MFR_SIZE 2 |
MAC footer (FCS) size. | |
#define | MAC_MAX_AUX_HEADER_SIZE 0 |
Maximum auxiliary header length. | |
#define | MAC_MAX_MHR_SIZE |
Maximum MAC header length. More... | |
#define | MAC_MAX_BCN_MHR_SIZE |
Maximum MAC header length for beacon frame. More... | |
#define | MAC_MEMORY_RESERVE (MAC_MAX_MHR_SIZE + MAC_MFR_SIZE) |
Memory which should be reserved for MAC fields. | |
#define | MAC_MAX_MSDU_OFFSET MAC_MAX_MHR_SIZE |
Offset of MAC payload in the frame buffer. | |
Module for declaring MAC Common API.
The Common MAC module contains declarations of commonly used MAC routines and necessary macros and types.
#define aMinCAPLength 440 |
The minimum number of symbols forming the CAP.
This ensures that MAC commands can still be transferred to devices when GTSs are being used.
#define MAC_MAX_BCN_MHR_SIZE |
Maximum MAC header length for beacon frame.
#define MAC_MAX_MHR_SIZE |
Maximum MAC header length.
#define macAckWaitDuration 544 |
Maximum interval for acknowledgement frame to arrive in microseconds.
macAckWaitDuration = aUnitBackoffPeriod(only for beacon enabled PAN) + aTurnaroundTime + phySHRDuration + ceil(6 * phySymbolsPerOctet) = 20 + 12 + 10 + 6 * 2 = 54 symbols / 62.5 ksymbols/s = 864 us (544 us for beacon disabled PAN)
enum mac_addr_mode_t |
enum mac_command_id_t |
Command frame IDs defined by the MAC sublayer that are listed in Table 82 of the standard.
enum mac_frame_type_t |
enum mac_frame_version_t |
enum mac_status_t |
MAC status.
In accordance with IEEE Std 802.15.4-2006, section 7.1.17 excluding: MAC_IS_NOT_AVAILABLE This status is necessary for synchronous API.