This file implements the MLME-START.request (MAC layer management entity) entry points.
Copyright (c) 2013-2018 Microchip Technology Inc. and its subsidiaries.
#include <compiler.h>
#include <string.h>
#include <stdint.h>
#include <stdbool.h>
#include "return_val.h"
#include "pal.h"
#include "bmm.h"
#include "qmm.h"
#include "tal.h"
#include "ieee_const.h"
#include "mac_msg_const.h"
#include "mac_api.h"
#include "mac_msg_types.h"
#include "mac_data_structures.h"
#include "stack_config.h"
#include "mac_internal.h"
#include "mac.h"
#include "mac_config.h"
#include "mac_build_config.h"
Functions | |
static bool | check_start_parameter (mlme_start_req_t *msg) |
static void | gen_mlme_start_conf (buffer_t *start_buf_ptr, uint8_t start_req_status) |
void | mac_coord_realignment_command_tx_success (uint8_t tx_status, buffer_t *buf_ptr) |
Continues handling of MLME_START.request (Coordinator realignment) command. More... | |
void | mlme_start_request (uint8_t *m) |
The MLME-START.request primitive makes a request for the device to start using a new superframe configuration. More... | |
Variables | |
static mlme_start_req_t | msr_params |
|
static |
References mlme_start_req_tag::BeaconOrder, mlme_start_req_tag::CoordRealignment, MAC_ASSOCIATED, MAC_IDLE, mac_state, NON_BEACON_NWK, and mlme_start_req_tag::SuperframeOrder.
Referenced by mlme_start_request().
|
static |
References BMM_BUFFER_POINTER, mlme_start_conf_tag::cmdcode, mac_nhle_q, MLME_START_CONFIRM, qmm_queue_append(), and mlme_start_conf_tag::status.
Referenced by mac_coord_realignment_command_tx_success(), and mlme_start_request().
void mac_coord_realignment_command_tx_success | ( | uint8_t | tx_status, |
buffer_t * | buf_ptr | ||
) |
Continues handling of MLME_START.request (Coordinator realignment) command.
This function is called once the coordinator realignment command is sent out to continue the handling of the MLME_START.request command.
tx_status | Status of the coordinator realignment command transmission |
buf_ptr | Buffer for start confirmation |
References Assert, mlme_start_req_tag::BeaconOrder, mlme_start_req_tag::ChannelPage, gen_mlme_start_conf(), mlme_start_req_tag::LogicalChannel, MAC_INVALID_PARAMETER, mac_sleep_trans(), MAC_SUCCESS, macBattLifeExt, macBeaconOrder, macPANId, macSuperframeOrder, NON_BEACON_NWK, mlme_start_req_tag::PANId, phyCurrentChannel, phyCurrentPage, set_tal_pib_internal(), mlme_start_req_tag::SuperframeOrder, and tal_pib.
Referenced by mac_process_tal_tx_status().
void mlme_start_request | ( | uint8_t * | m | ) |
The MLME-START.request primitive makes a request for the device to start using a new superframe configuration.
m | Pointer to MLME_START.request message issued by the NHLE |
References mlme_start_req_tag::BeaconOrder, BMM_BUFFER_POINTER, BROADCAST, mlme_start_req_tag::ChannelPage, check_start_parameter(), COORDINATORREALIGNMENT, mlme_start_req_tag::CoordRealignment, gen_mlme_start_conf(), mlme_start_req_tag::LogicalChannel, MAC_COORDINATOR, mac_i_pan_coordinator, MAC_INVALID_PARAMETER, MAC_NO_SHORT_ADDRESS, MAC_PAN_COORD_STARTED, mac_sleep_trans(), mac_state, MAC_SUCCESS, mac_trx_wakeup(), macBattLifeExt, macBeaconOrder, macPANId, macSuperframeOrder, NON_BEACON_NWK, mlme_start_req_tag::PANCoordinator, mlme_start_req_tag::PANId, PHY_RX_ON, phyCurrentChannel, phyCurrentPage, set_tal_pib_internal(), mlme_start_req_tag::SuperframeOrder, tal_pib, and tal_rx_enable().
|
static |