Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
MCL Request API's

This module describes all MCL Request API's.

Functions

void mcps_data_request (uint8_t *msg)
 Builds the data frame for transmission. More...
 
void mlme_reset_request (uint8_t *m)
 Resets the MAC layer. More...
 
void mlme_rx_enable_request (uint8_t *m)
 Implement the MLME-RX-ENABLE.request primitive. More...
 
void mlme_sync_request (uint8_t *m)
 Implements the MLME-SYNC request. More...
 

void mlme_reset_request ( uint8_t *  m)

Resets the MAC layer.

The MLME-RESET.request primitive allows the next higher layer to request that the MLME performs a reset operation.

Parameters
mPointer to the MLME_RESET.request given by the NHLE

References BMM_BUFFER_POINTER, flush_queues(), mac_reset(), mac_sleep_trans(), mac_trx_wakeup(), send_reset_conf(), and mlme_reset_req_tag::SetDefaultPIB.

void mlme_rx_enable_request ( uint8_t *  m)

Implement the MLME-RX-ENABLE.request primitive.

The MLME-RX-ENABLE.request primitive is generated by the next higher layer and issued to MAC to enable the receiver for a fixed duration, at a time relative to the start of the current or next superframe on a beacon-enabled PAN or immediately on a nonbeacon-enabled PAN. The receiver is enabled exactly once per primitive request.

Parameters
mPointer to the MLME-RX-ENABLE.request message

References BMM_BUFFER_POINTER, mlme_rx_enable_req_tag::DeferPermit, FUNC_PTR, gen_rx_enable_conf(), handle_rx_on(), MAC_INVALID_PARAMETER, MAC_PAST_TIME, MAC_POLL_IDLE, mac_poll_state, MAC_SCAN_IDLE, mac_scan_state, MAC_SUCCESS, mac_t_rx_off_cb(), MAC_TX_ACTIVE, MIN_TIMEOUT, NON_BEACON_NWK, pal_get_current_time(), pal_timer_start(), pal_timer_stop(), mlme_rx_enable_req_tag::RxOnDuration, mlme_rx_enable_req_tag::RxOnTime, T_Rx_Enable, tal_add_time_symbols(), TAL_CONVERT_SYMBOLS_TO_US, TAL_CONVERT_US_TO_SYMBOLS, TAL_GET_BEACON_INTERVAL_TIME, tal_pib, tal_sub_time_symbols(), and TIMEOUT_ABSOLUTE.

void mlme_sync_request ( uint8_t *  m)

Implements the MLME-SYNC request.

The MLME-SYNC.request primitive requests to synchronize with the coordinator by acquiring and, if specified, tracking its beacons. The MLME-SYNC.request primitive is generated by the next higher layer of a device on a beacon-enabled PAN and issued to its MLME to synchronize with the coordinator.

Enable receiver and search for beacons for at most an interval of [aBaseSuperframeDuration * ((2 ^ (n))+ 1)] symbols where n is the value of macBeaconOrder. If a beacon frame containing the current PAN identifier of the device is not received, the MLME shall repeat this search. Once the number of missed beacons reaches aMaxLostBeacons, the MLME shall notify the next higher layer by issuing the MLME-SYNC-LOSS.indication primitive with a loss reason of BEACON_LOSS.

Parameters
mPointer to the MLME sync request parameters.