The API Encoder Module Encodes the MAC Api's into appropriate command byte stream.
Macros | |
#define | MAX_MAC_PIB_ATTRIBUTE_ID (macMinSIFSPeriod) |
#define | MAX_PHY_PIB_ATTRIBUTE_ID (phySymbolsPerOctet) |
#define | MIN_MAC_PIB_ATTRIBUTE_ID (macAckWaitDuration) |
#define | MIN_PRIVATE_PIB_ATTRIBUTE_ID (macIeeeAddress) |
Functions | |
static | FLASH_DECLARE (uint8_t phy_pib_size[]) |
uint8_t | mac_get_pib_attribute_size (uint8_t pib_attribute_id) |
retval_t | wpan_init (void) |
The stack initialization function. More... | |
bool | wpan_mcps_data_req (uint8_t SrcAddrMode, wpan_addr_spec_t *DstAddrSpec, uint8_t msduLength, uint8_t *msdu, uint8_t msduHandle, uint8_t TxOptions) |
Initiate MCPS-DATA.request service and have it placed in the MCPS-SAP queue. More... | |
bool | wpan_mlme_associate_req (uint8_t LogicalChannel, uint8_t ChannelPage, wpan_addr_spec_t *CoordAddrSpec, uint8_t CapabilityInformation) |
Initiate MLME-ASSOCIATE.request service and have it placed in the MLME-SAP queue. More... | |
bool | wpan_mlme_disassociate_req (wpan_addr_spec_t *DeviceAddrSpec, uint8_t DisassociateReason, bool TxIndirect) |
Inititate MLME-DISASSOCIATE.request service and have it placed in the MLME-SAP queue. More... | |
bool | wpan_mlme_get_req (uint8_t PIBAttribute) |
Initiate MLME-GET.request service and have it placed in the MLME-SAP queue. More... | |
bool | wpan_mlme_gts_req (uint16_t DevShortAddr, gts_char_t GtsChar) |
bool | wpan_mlme_poll_req (wpan_addr_spec_t *CoordAddrSpec) |
Initiate MLME-POLL.request service and have it placed in the MLME-SAP queue. More... | |
bool | wpan_mlme_reset_req (bool SetDefaultPib) |
Initiate MLME-RESET.request service and have it placed in the MLME-SAP queue. More... | |
bool | wpan_mlme_rx_enable_req (bool DeferPermit, uint32_t RxOnTime, uint32_t RxOnDuration) |
Initiate MLME-RX-ENABLE.request service and have it placed in the MLME-SAP queue. More... | |
bool | wpan_mlme_scan_req (uint8_t ScanType, uint32_t ScanChannels, uint8_t ScanDuration, uint8_t ChannelPage) |
Initiate MLME-SCAN.request service and have it placed in the MLME-SAP queue. More... | |
bool | wpan_mlme_set_req (uint8_t PIBAttribute, void *PIBAttributeValue) |
Initiate MLME-SET.request service and have it placed in MLME_SAP queue. More... | |
bool | wpan_mlme_sync_req (uint8_t LogicalChannel, uint8_t ChannelPage, bool TrackBeacon) |
Initiate MLME-SYNC.request service and have it placed in the MLME-SAP queue. More... | |
Variables | |
static uint8_t | length = 0 |
static uint8_t * | tx_buff_ptr = &tx_buffer[CMD_POS] |
static uint8_t | tx_buffer [TX_BUFFER_LENGTH] = {0} |
#define MAX_MAC_PIB_ATTRIBUTE_ID (macMinSIFSPeriod) |
Referenced by mac_get_pib_attribute_size().
#define MAX_PHY_PIB_ATTRIBUTE_ID (phySymbolsPerOctet) |
Referenced by mac_get_pib_attribute_size().
#define MIN_MAC_PIB_ATTRIBUTE_ID (macAckWaitDuration) |
Referenced by mac_get_pib_attribute_size().
#define MIN_PRIVATE_PIB_ATTRIBUTE_ID (macIeeeAddress) |
Referenced by mac_get_pib_attribute_size().
|
static |
uint8_t mac_get_pib_attribute_size | ( | uint8_t | pib_attribute_id | ) |
References macBeaconPayload, MAX_MAC_PIB_ATTRIBUTE_ID, MAX_PHY_PIB_ATTRIBUTE_ID, MIN_MAC_PIB_ATTRIBUTE_ID, MIN_PRIVATE_PIB_ATTRIBUTE_ID, PGM_READ_BYTE, and rcv_frame_ptr.
Referenced by wpan_mlme_set_req().
retval_t wpan_init | ( | void | ) |
The stack initialization function.
This function initializes all resources, which are used from the stack. It has to be called before any other function of the stack is called.
References MAC_SUCCESS, PROTOCOL_ID, PROTOCOL_ID_POS, rcv_buffer, rcv_frame_ptr, sio2ncp_init(), SOT, and SOT_POS.
Referenced by main().
bool wpan_mcps_data_req | ( | uint8_t | SrcAddrMode, |
wpan_addr_spec_t * | DstAddrSpec, | ||
uint8_t | msduLength, | ||
uint8_t * | msdu, | ||
uint8_t | msduHandle, | ||
uint8_t | TxOptions | ||
) |
Initiate MCPS-DATA.request service and have it placed in the MCPS-SAP queue.
SrcAddrMode | Address Mode of the source address. |
DstAddrSpec | Pointer to wpan_addr_spec_t structure for destination. |
msduHandle | Handle (identification) of the MSDU. |
TxOptions | Bitmap for transmission options. Valid values: |
msdu | Pointer to the data to be transmitted. |
msduLength | Length of the data to be transmitted. |
SecurityLevel | Used security level; this parameter is only available if MAC security is enabled via MAC_SECURITY_ZIP |
KeyIdMode | Used mode to identify the key; this parameter is only available if MAC security is enabled via MAC_SECURITY_ZIP |
KeyIndex | Used index of the key; this parameter is only available if MAC security is enabled via MAC_SECURITY_ZIP |
References wpan_addr_spec_tag::Addr, wpan_addr_spec_tag::AddrMode, CMD_POS, EOT, LEN_POS, MCPS_DATA_REQUEST, wpan_addr_spec_tag::PANId, and sio2ncp_tx().
Referenced by usr_mlme_beacon_notify_ind().
bool wpan_mlme_associate_req | ( | uint8_t | LogicalChannel, |
uint8_t | ChannelPage, | ||
wpan_addr_spec_t * | CoordAddrSpec, | ||
uint8_t | CapabilityInformation | ||
) |
Initiate MLME-ASSOCIATE.request service and have it placed in the MLME-SAP queue.
LogicalChannel | The logical channel on which to attempt association. |
ChannelPage | The channel page on which to attempt association. |
CoordAddrSpec | Pointer to wpan_addr_spec_t structure for coordinator. |
CapabilityInformation | Bitmap that describes the nodes capabilities. (WPAN_CAP_ALTPANCOORD | WPAN_CAP_FFD | WPAN_CAP_PWRSOURCE | WPAN_CAP_RXONWHENIDLE | WPAN_CAP_ALLOCADDRESS) |
References wpan_addr_spec_tag::Addr, wpan_addr_spec_tag::AddrMode, CMD_POS, EOT, LEN_POS, MLME_ASSOCIATE_REQUEST, wpan_addr_spec_tag::PANId, and sio2ncp_tx().
Referenced by usr_mlme_beacon_notify_ind().
bool wpan_mlme_disassociate_req | ( | wpan_addr_spec_t * | DeviceAddrSpec, |
uint8_t | DisassociateReason, | ||
bool | TxIndirect | ||
) |
Inititate MLME-DISASSOCIATE.request service and have it placed in the MLME-SAP queue.
DeviceAddrSpec | Pointer to wpan_addr_spec_t structure for device to which to send the disassociation notification command. |
DisassociateReason | Reason for disassociation. Valid values: |
TxIndirect | TRUE if the disassociation notification command is to be sent indirectly |
References wpan_addr_spec_tag::Addr, wpan_addr_spec_tag::AddrMode, CMD_POS, EOT, LEN_POS, MLME_DISASSOCIATE_REQUEST, wpan_addr_spec_tag::PANId, and sio2ncp_tx().
bool wpan_mlme_get_req | ( | uint8_t | PIBAttribute | ) |
Initiate MLME-GET.request service and have it placed in the MLME-SAP queue.
PIBAttribute | PIB attribute to be retrieved. |
PIBAttributeIndex | Index of the PIB attribute to be read. |
References CMD_POS, EOT, LEN_POS, MLME_GET_REQUEST, and sio2ncp_tx().
Referenced by usr_mlme_get_conf(), and usr_mlme_reset_conf().
bool wpan_mlme_gts_req | ( | uint16_t | DevShortAddr, |
gts_char_t | GtsChar | ||
) |
References CMD_POS, EOT, LEN_POS, MLME_GTS_REQUEST, and sio2ncp_tx().
Referenced by usr_mlme_associate_conf().
bool wpan_mlme_poll_req | ( | wpan_addr_spec_t * | CoordAddrSpec | ) |
Initiate MLME-POLL.request service and have it placed in the MLME-SAP queue.
CoordAddrSpec | Pointer to wpan_addr_spec_t structure for the coordinator. |
References wpan_addr_spec_tag::Addr, wpan_addr_spec_tag::AddrMode, CMD_POS, EOT, LEN_POS, MLME_POLL_REQUEST, wpan_addr_spec_tag::PANId, and sio2ncp_tx().
Initiate MLME-RESET.request service and have it placed in the MLME-SAP queue.
SetDefaultPib | Boolean to set all PIB values to their respective defaults. |
References CMD_POS, EOT, LEN_POS, MLME_RESET_REQUEST, and sio2ncp_tx().
Referenced by main(), usr_mlme_associate_conf(), usr_mlme_reset_conf(), usr_mlme_scan_conf(), and usr_mlme_set_conf().
Initiate MLME-RX-ENABLE.request service and have it placed in the MLME-SAP queue.
DeferPermit | Set to true if receiver enable can be deferred until next superframe if requested time has already passed. |
RxOnTime | Number of symbols from start of superframe before receiver is enabled. |
RxOnDuration | Number of symbols for which the receiver is enabled, |
References CMD_POS, EOT, LEN_POS, MLME_RX_ENABLE_REQUEST, and sio2ncp_tx().
bool wpan_mlme_scan_req | ( | uint8_t | ScanType, |
uint32_t | ScanChannels, | ||
uint8_t | ScanDuration, | ||
uint8_t | ChannelPage | ||
) |
Initiate MLME-SCAN.request service and have it placed in the MLME-SAP queue.
ScanType | Type of scan to perform. Valid values: |
ScanChannels | Channels to be scanned. |
ScanDuration | Duration of each scan. |
ChannelPage | The channel page on which to perform the scan. |
References CMD_POS, EOT, LEN_POS, MLME_SCAN_REQUEST, and sio2ncp_tx().
Referenced by usr_mlme_get_conf(), and usr_mlme_scan_conf().
bool wpan_mlme_set_req | ( | uint8_t | PIBAttribute, |
void * | PIBAttributeValue | ||
) |
Initiate MLME-SET.request service and have it placed in MLME_SAP queue.
PIBAttribute | PIB attribute to be set. |
PIBAttributeIndex | Index of the PIB attribute to be set. |
PIBAttributeValue | Pointer to new PIB attribute value. |
References CMD_POS, EOT, LEN_POS, mac_get_pib_attribute_size(), macBeaconPayload, MLME_SET_REQUEST, and sio2ncp_tx().
Referenced by usr_mlme_associate_conf(), usr_mlme_get_conf(), usr_mlme_reset_conf(), usr_mlme_scan_conf(), and usr_mlme_set_conf().
Initiate MLME-SYNC.request service and have it placed in the MLME-SAP queue.
LogicalChannel | The logical channel on which to attempt coordinator synchronization. |
ChannelPage | The channel page on which to attempt coordinator synchronization. |
TrackBeacon | Boolean to synchronize with next beacon and to track all future beacons. |
References CMD_POS, EOT, LEN_POS, MLME_SYNC_REQUEST, and sio2ncp_tx().
Referenced by usr_mlme_set_conf(), and usr_mlme_sync_loss_ind().
|
static |
Referenced by sio2host_tx(), and sio2ncp_tx().
|
static |