This module describes all MAC Request API's.
Functions | |
bool | wpan_mcps_purge_req (const uint8_t msduHandle) |
Initiate MCPS-PURGE.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_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_start_req (uint16_t PANId, uint8_t LogicalChannel, uint8_t ChannelPage, uint8_t BeaconOrder, uint8_t SuperframeOrder, bool PANCoordinator, bool BatteryLifeExtension, bool CoordRealignment) |
Initiate MLME-START service and have it placed in the 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... | |
bool wpan_mcps_purge_req | ( | const uint8_t | msduHandle | ) |
Initiate MCPS-PURGE.request service and have it placed in the MCPS-SAP queue.
msduHandle | Handle of MSDU to be purged. |
References bmm_buffer_alloc(), bmm_buffer_free(), BMM_BUFFER_POINTER, mcps_purge_req_tag::cmdcode, LARGE_BUFFER_SIZE, MAC_SUCCESS, MCPS_PURGE_REQUEST, mcps_purge_req_tag::msduHandle, nhle_mac_q, and qmm_queue_append().
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, ADDR_COPY_DST_SRC_64, wpan_addr_spec_tag::AddrMode, bmm_buffer_alloc(), bmm_buffer_free(), BMM_BUFFER_POINTER, mlme_associate_req_tag::CapabilityInformation, mlme_associate_req_tag::ChannelPage, mlme_associate_req_tag::cmdcode, mlme_associate_req_tag::CoordAddress, mlme_associate_req_tag::CoordAddrMode, mlme_associate_req_tag::CoordPANId, CPU_ENDIAN_TO_LE16, LARGE_BUFFER_SIZE, mlme_associate_req_tag::LogicalChannel, address_field_t::long_address, MAC_SUCCESS, MLME_ASSOCIATE_REQUEST, nhle_mac_q, wpan_addr_spec_tag::PANId, and qmm_queue_append().
Referenced by usr_mlme_scan_conf().
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, ADDR_COPY_DST_SRC_64, wpan_addr_spec_tag::AddrMode, bmm_buffer_alloc(), bmm_buffer_free(), BMM_BUFFER_POINTER, mlme_disassociate_req_tag::cmdcode, CPU_ENDIAN_TO_LE16, mlme_disassociate_req_tag::DeviceAddress, mlme_disassociate_req_tag::DeviceAddrMode, mlme_disassociate_req_tag::DevicePANId, mlme_disassociate_req_tag::DisassociateReason, LARGE_BUFFER_SIZE, address_field_t::long_address, MAC_SUCCESS, MLME_DISASSOCIATE_REQUEST, nhle_mac_q, wpan_addr_spec_tag::PANId, qmm_queue_append(), and mlme_disassociate_req_tag::TxIndirect.
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 bmm_buffer_alloc(), bmm_buffer_free(), BMM_BUFFER_POINTER, mlme_get_req_tag::cmdcode, LARGE_BUFFER_SIZE, MAC_SUCCESS, MLME_GET_REQUEST, nhle_mac_q, mlme_get_req_tag::PIBAttribute, and qmm_queue_append().
Referenced by usr_mlme_get_conf(), and usr_mlme_reset_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, ADDR_COPY_DST_SRC_16, ADDR_COPY_DST_SRC_64, wpan_addr_spec_tag::AddrMode, bmm_buffer_alloc(), bmm_buffer_free(), BMM_BUFFER_POINTER, mlme_poll_req_tag::cmdcode, mlme_poll_req_tag::CoordAddress, mlme_poll_req_tag::CoordAddrMode, mlme_poll_req_tag::CoordPANId, CPU_ENDIAN_TO_LE16, LARGE_BUFFER_SIZE, address_field_t::long_address, MAC_SUCCESS, MLME_POLL_REQUEST, nhle_mac_q, wpan_addr_spec_tag::PANId, qmm_queue_append(), address_field_t::short_address, and WPAN_ADDRMODE_SHORT.
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 bmm_buffer_alloc(), bmm_buffer_free(), BMM_BUFFER_POINTER, mlme_reset_req_tag::cmdcode, LARGE_BUFFER_SIZE, MAC_SUCCESS, MLME_RESET_REQUEST, nhle_mac_q, qmm_queue_append(), and mlme_reset_req_tag::SetDefaultPIB.
Referenced by main(), usr_mlme_associate_conf(), usr_mlme_reset_conf(), usr_mlme_scan_conf(), usr_mlme_set_conf(), and usr_mlme_start_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 bmm_buffer_alloc(), bmm_buffer_free(), BMM_BUFFER_POINTER, mlme_rx_enable_req_tag::cmdcode, mlme_rx_enable_req_tag::DeferPermit, LARGE_BUFFER_SIZE, MAC_SUCCESS, MLME_RX_ENABLE_REQUEST, nhle_mac_q, qmm_queue_append(), mlme_rx_enable_req_tag::RxOnDuration, and mlme_rx_enable_req_tag::RxOnTime.
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 bmm_buffer_alloc(), bmm_buffer_free(), BMM_BUFFER_POINTER, mlme_scan_req_tag::ChannelPage, mlme_scan_req_tag::cmdcode, LARGE_BUFFER_SIZE, MAC_SUCCESS, MLME_SCAN_REQUEST, nhle_mac_q, qmm_queue_append(), mlme_scan_req_tag::ScanChannels, mlme_scan_req_tag::ScanDuration, and mlme_scan_req_tag::ScanType.
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 bmm_buffer_alloc(), bmm_buffer_free(), BMM_BUFFER_POINTER, mlme_set_req_tag::cmdcode, LARGE_BUFFER_SIZE, mac_get_pib_attribute_size(), MAC_SUCCESS, macBeaconTxTime, macMaxFrameTotalWaitTime, macResponseWaitTime, macTransactionPersistenceTime, MLME_SET_REQUEST, nhle_mac_q, mlme_set_req_tag::PIBAttribute, mlme_set_req_tag::PIBAttributeValue, and qmm_queue_append().
Referenced by usr_mlme_scan_conf(), and usr_mlme_set_conf().
bool wpan_mlme_start_req | ( | uint16_t | PANId, |
uint8_t | LogicalChannel, | ||
uint8_t | ChannelPage, | ||
uint8_t | BeaconOrder, | ||
uint8_t | SuperframeOrder, | ||
bool | PANCoordinator, | ||
bool | BatteryLifeExtension, | ||
bool | CoordRealignment | ||
) |
Initiate MLME-START service and have it placed in the MLME-SAP queue.
PANId | PAN identifier to be used by device. |
LogicalChannel | The logical channel on which to start using the new superframe configuration. |
ChannelPage | The channel page on which to begin using the new superframe configuration. |
BeaconOrder | Beacon transmission interval. |
SuperframeOrder | Duration of active portion of superframe. |
PANCoordinator | Indicates whether node is PAN coordinator of PAN. |
BatteryLifeExtension | Boolean true disables receiver of beaconing device for a period after interframe spacing of beacon frame. |
CoordRealignment | Boolean to transmit Coordinator Realignment command prior to changing to new superframe configuration. |
References mlme_start_req_tag::BatteryLifeExtension, mlme_start_req_tag::BeaconOrder, bmm_buffer_alloc(), bmm_buffer_free(), BMM_BUFFER_POINTER, mlme_start_req_tag::ChannelPage, mlme_start_req_tag::cmdcode, mlme_start_req_tag::CoordRealignment, CPU_ENDIAN_TO_LE16, LARGE_BUFFER_SIZE, mlme_start_req_tag::LogicalChannel, MAC_SUCCESS, MLME_START_REQUEST, nhle_mac_q, mlme_start_req_tag::PANCoordinator, mlme_start_req_tag::PANId, qmm_queue_append(), and mlme_start_req_tag::SuperframeOrder.
Referenced by 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. |