This module runs the MAC scheduler.
Copyright (c) 2013-2018 Microchip Technology Inc. and its subsidiaries.
#include <compiler.h>
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
#include "return_val.h"
#include "pal.h"
#include "bmm.h"
#include "qmm.h"
#include "tal.h"
#include "tal_internal.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_build_config.h"
Macros | |
#define | MAC_GUARD_TIME_US 1000 |
#define | READY_TO_SLEEP 1 |
Functions | |
uint32_t | mac_ready_to_sleep (void) |
Checks if the mac stack is ready to sleep. More... | |
bool | mac_task (void) |
Runs the MAC scheduler. More... | |
Variables | |
bool | mac_bc_data_indicated |
Flag stating that the last received beacon frame from the parent indicated pending broadcast data to be received. More... | |
bool | mac_busy |
MAC busy state, indicates whether MAC can process any request from NHLE. More... | |
uint8_t * | mac_conf_buf_ptr |
Holds the mlme request buffer pointer, used to give the respective confirmation in scan, poll and association. More... | |
uint8_t | mac_final_cap_slot |
Final Cap Slot of current Superframe. More... | |
uint8_t | mac_last_dsn |
uint64_t | mac_last_src_addr |
parse_t | mac_parse_data |
Global parse data. More... | |
mac_pib_t | mac_pib |
mac_poll_state_t | mac_poll_state |
Current state of MAC poll state machine, e.g. More... | |
mac_radio_sleep_state_t | mac_radio_sleep_state |
Radio sleep state. More... | |
bool | mac_rx_enabled |
mac_scan_state_t | mac_scan_state |
Current state of scanning process. More... | |
mac_state_t | mac_state |
Current state of the MAC state machine. More... | |
mac_superframe_state_t | mac_superframe_state = MAC_NOBEACON |
mac_sync_state_t | mac_sync_state |
Current state of syncronization with parent (either coordinator or PAN coordinator). More... | |
queue_t | nhle_mac_q |
NHLE to MAC queue in which NHLE pushes all the requests to the MAC layer. More... | |
queue_t | tal_mac_q |
Queue used by MAC for its internal operation. More... | |
volatile bool | timer_trigger |
#define MAC_GUARD_TIME_US 1000 |
Referenced by mac_ready_to_sleep().
#define READY_TO_SLEEP 1 |
Referenced by mac_ready_to_sleep().
queue_t nhle_mac_q |
NHLE to MAC queue in which NHLE pushes all the requests to the MAC layer.
Referenced by flush_queues(), mac_init(), mac_ready_to_sleep(), mac_task(), wpan_mcps_data_req(), wpan_mlme_reset_req(), and wpan_mlme_set_req().
volatile bool timer_trigger |
Referenced by mac_ready_to_sleep(), and sw_timer_init().