Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages

All Definitions used by the MAC Layer is described here.

Macros

#define LAST_MESSAGE   MLME_POLL_CONFIRM
 Bump this when extending the list! More...
 
#define MAC   (4)
 
#define MAC_NHLE_QUEUE_CAPACITY   255
 Capacity of queue between MAC and Next Higher Layer. More...
 
#define MCPS_DATA_CON_LEN   (7)
 The following defines describe the minimum length of a primitive message. More...
 
#define MCPS_DATA_IND_LEN   (31)
 
#define MCPS_PURGE_CONF_LEN   (3)
 
#define MLME_ASSOCIATE_CONF_LEN   (4)
 
#define MLME_ASSOCIATE_IND_LEN   (10)
 
#define MLME_BEACON_NOTIFY_IND_LEN   (2)
 
#define MLME_COMM_STATUS_IND_LEN   (22)
 
#define MLME_DISASSOCIATE_CONF_LEN   (13)
 
#define MLME_DISASSOCIATE_IND_LEN   (10)
 
#define MLME_GET_CONF_LEN   (4)
 
#define MLME_GTS_CONF_LEN   (3)
 
#define MLME_GTS_IND_LEN   (4)
 
#define MLME_ORPHAN_IND_LEN   (9)
 
#define MLME_POLL_CONF_LEN   (2)
 
#define MLME_RESET_CONF_LEN   (2)
 
#define MLME_RX_ENABLE_CONF_LEN   (2)
 
#define MLME_SCAN_CONF_LEN   (10)
 
#define MLME_SET_CONF_LEN   (3)
 
#define MLME_START_CONF_LEN   (2)
 
#define MLME_SYNC_LOSS_IND_LEN   (6)
 
#define NUMBER_OF_MAC_BEACON_SUPPORT_TIMERS   (0)
 
#define NUMBER_OF_MAC_INDIRECT_DATA_SUPPORT_TIMERS   (2)
 
#define NUMBER_OF_MAC_RX_ENABLE_SUPPORT_TIMERS   (1)
 
#define NUMBER_OF_MAC_SCAN_SUPPORT_TIMERS   (1)
 
#define NUMBER_OF_MAC_TIMERS
 
#define WPAN_ADDRMODE_LONG   (0x03)
 Value for the address mode, where a 64 bit long address is given. More...
 
#define WPAN_ADDRMODE_NONE   (0x00)
 Value for the address mode, where no address is given. More...
 
#define WPAN_ADDRMODE_SHORT   (0x02)
 Value for the address mode, where a 16 bit short address is given. More...
 
#define WPAN_CAP_ALLOCADDRESS   (0x80)
 Flag value for capability information field (see wpan_mlme_associate_req()). More...
 
#define WPAN_CAP_ALTPANCOORD   (0x01)
 Flag value for capability information field (see wpan_mlme_associate_req()). More...
 
#define WPAN_CAP_FFD   (0x02)
 Flag value for capability information field (see wpan_mlme_associate_req()). More...
 
#define WPAN_CAP_PWRSOURCE   (0x04)
 Flag value for capability information field (see wpan_mlme_associate_req()). More...
 
#define WPAN_CAP_RXONWHENIDLE   (0x08)
 Flag value for capability information field (see wpan_mlme_associate_req()). More...
 
#define WPAN_DESCRIPTOR_LEN   (21)
 
#define WPAN_DISASSOC_BYCHILD   (0x02)
 Symbolic constant for disassociate reason - initiated by child (see wpan_mlme_disassociate_req()) More...
 
#define WPAN_DISASSOC_BYPARENT   (0x01)
 Symbolic constant for disassociate reason - initiated by parent (see wpan_mlme_disassociate_req()) More...
 
#define WPAN_NUM_EXTENDED_ADDR_PENDING(x)   (((x) >> 4) & 0x7)
 Macro to extract size of extended address list in PAN descriptor. More...
 
#define WPAN_NUM_SHORT_ADDR_PENDING(x)   ((x) & 0x7)
 Marco to extract size of short address list in PAN descriptor. More...
 

Enumerations

enum  msg_code {
  TAL_DATA_INDICATION = (0x00),
  MLME_ASSOCIATE_REQUEST = (0x01),
  MLME_ASSOCIATE_RESPONSE = (0x02),
  MCPS_DATA_REQUEST = (0x03),
  MCPS_PURGE_REQUEST = (0x04),
  MLME_DISASSOCIATE_REQUEST = (0x05),
  MLME_SET_REQUEST = (0x06),
  MLME_ORPHAN_RESPONSE = (0x07),
  MLME_GET_REQUEST = (0x08),
  MLME_RESET_REQUEST = (0x09),
  MLME_RX_ENABLE_REQUEST = (0x0A),
  MLME_SCAN_REQUEST = (0x0B),
  MLME_GTS_REQUEST = (0x0C),
  MLME_START_REQUEST = (0x0D),
  MLME_POLL_REQUEST = (0x0E),
  MLME_SYNC_REQUEST = (0x0F),
  MCPS_DATA_CONFIRM = (0x10),
  MCPS_DATA_INDICATION = (0x11),
  MCPS_PURGE_CONFIRM = (0x12),
  MLME_ASSOCIATE_INDICATION = (0x13),
  MLME_ASSOCIATE_CONFIRM = (0x14),
  MLME_DISASSOCIATE_INDICATION = (0x15),
  MLME_DISASSOCIATE_CONFIRM = (0x16),
  MLME_BEACON_NOTIFY_INDICATION = (0x17),
  MLME_GTS_CONFIRM = (0x18),
  MLME_GTS_INDICATION = (0x19),
  MLME_ORPHAN_INDICATION = (0x1A),
  MLME_SCAN_CONFIRM = (0x1B),
  MLME_COMM_STATUS_INDICATION = (0x1C),
  MLME_SYNC_LOSS_INDICATION = (0x1D),
  MLME_GET_CONFIRM = (0x1E),
  MLME_SET_CONFIRM = (0x1F),
  MLME_RESET_CONFIRM = (0x20),
  MLME_RX_ENABLE_CONFIRM = (0x21),
  MLME_START_CONFIRM = (0x22),
  MLME_POLL_CONFIRM = (0x23),
  MAC_INC_FRAME = (0x24)
}
 This type contains the service primitives of the PHY-, MAC- and Network-layer as well the command-interface primitives. More...
 

Functions

retval_t mac_timers_init (void)
 
retval_t mac_timers_stop (void)
 
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_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_associate_resp (uint64_t DeviceAddress, uint16_t AssocShortAddress, uint8_t status)
 Initiate MLME-ASSOCIATE.response service and place it 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_orphan_resp (uint64_t OrphanAddress, uint16_t ShortAddress, bool AssociatedMember)
 Initiate MLME-ORPHAN.response service and have it placed in 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_task (void)
 The stack task function called by the application. More...
 

Variables

enum msg_code SHORTENUM
 
uint8_t T_Data_Persistence
 
uint8_t T_Poll_Wait_Time
 
uint8_t T_Rx_Enable
 
uint8_t T_Scan_Duration
 

#define LAST_MESSAGE   MLME_POLL_CONFIRM

Bump this when extending the list!

#define MAC   (4)
#define MAC_NHLE_QUEUE_CAPACITY   255

Capacity of queue between MAC and Next Higher Layer.

#define MCPS_DATA_CON_LEN   (7)

The following defines describe the minimum length of a primitive message.

#define MCPS_DATA_IND_LEN   (31)
#define MCPS_PURGE_CONF_LEN   (3)
#define MLME_ASSOCIATE_CONF_LEN   (4)
#define MLME_ASSOCIATE_IND_LEN   (10)
#define MLME_BEACON_NOTIFY_IND_LEN   (2)
#define MLME_COMM_STATUS_IND_LEN   (22)
#define MLME_DISASSOCIATE_CONF_LEN   (13)
#define MLME_DISASSOCIATE_IND_LEN   (10)
#define MLME_GET_CONF_LEN   (4)
#define MLME_GTS_CONF_LEN   (3)
#define MLME_GTS_IND_LEN   (4)
#define MLME_ORPHAN_IND_LEN   (9)
#define MLME_POLL_CONF_LEN   (2)
#define MLME_RESET_CONF_LEN   (2)
#define MLME_RX_ENABLE_CONF_LEN   (2)
#define MLME_SCAN_CONF_LEN   (10)
#define MLME_SET_CONF_LEN   (3)
#define MLME_START_CONF_LEN   (2)
#define MLME_SYNC_LOSS_IND_LEN   (6)
#define NUMBER_OF_MAC_BEACON_SUPPORT_TIMERS   (0)
#define NUMBER_OF_MAC_INDIRECT_DATA_SUPPORT_TIMERS   (2)
#define NUMBER_OF_MAC_RX_ENABLE_SUPPORT_TIMERS   (1)
#define NUMBER_OF_MAC_SCAN_SUPPORT_TIMERS   (1)
#define NUMBER_OF_MAC_TIMERS
Value:
#define NUMBER_OF_MAC_SCAN_SUPPORT_TIMERS
Definition: mac_config.h:99
#define NUMBER_OF_MAC_BEACON_SUPPORT_TIMERS
Definition: mac_config.h:83
#define NUMBER_OF_MAC_INDIRECT_DATA_SUPPORT_TIMERS
Definition: mac_config.h:89
#define NUMBER_OF_MAC_RX_ENABLE_SUPPORT_TIMERS
Definition: mac_config.h:106
#define WPAN_ADDRMODE_LONG   (0x03)

Value for the address mode, where a 64 bit long address is given.

(see wpan_addr_spec_t::AddrMode)

#define WPAN_ADDRMODE_NONE   (0x00)

Value for the address mode, where no address is given.

(see wpan_addr_spec_t::AddrMode)

#define WPAN_ADDRMODE_SHORT   (0x02)

Value for the address mode, where a 16 bit short address is given.

(see wpan_addr_spec_t::AddrMode)

Referenced by bc_data_cb(), and indirect_data_cb().

#define WPAN_CAP_ALLOCADDRESS   (0x80)

Flag value for capability information field (see wpan_mlme_associate_req()).

The allocate address subfield shall be set if the device wishes the coordinator to allocate a short address as a result of the association procedure. If this subfield is set to 0, the special short address of 0xfffe shall be allocated to the device and returned through the association response command. In this case, the device shall communicate on the PAN using only its 64 bit extended address.

#define WPAN_CAP_ALTPANCOORD   (0x01)

Flag value for capability information field (see wpan_mlme_associate_req()).

The alternate PAN coordinator subfield shall be set if the device is capable of becoming a PAN coordinator. Otherwise, the alternate PAN coordinator subfield shall be set to 0.

#define WPAN_CAP_FFD   (0x02)

Flag value for capability information field (see wpan_mlme_associate_req()).

The device type subfield shall be set if the device is an FFD. Otherwise, the device type subfield shall be set to 0 to indicate an RFD.

#define WPAN_CAP_PWRSOURCE   (0x04)

Flag value for capability information field (see wpan_mlme_associate_req()).

The power source subfield shall be set if the device is receiving power from the alternating current mains. Otherwise, the power source subfield shall be set to 0.

#define WPAN_CAP_RXONWHENIDLE   (0x08)

Flag value for capability information field (see wpan_mlme_associate_req()).

The receiver on when idle subfield shall be set if the device does not disable its receiver to conserve power during idle periods. Otherwise, the receiver on when idle subfield shall be set to 0.

#define WPAN_DESCRIPTOR_LEN   (21)

Referenced by handle_rx_frame().

#define WPAN_DISASSOC_BYCHILD   (0x02)

Symbolic constant for disassociate reason - initiated by child (see wpan_mlme_disassociate_req())

#define WPAN_DISASSOC_BYPARENT   (0x01)

Symbolic constant for disassociate reason - initiated by parent (see wpan_mlme_disassociate_req())

#define WPAN_NUM_EXTENDED_ADDR_PENDING (   x)    (((x) >> 4) & 0x7)

Macro to extract size of extended address list in PAN descriptor.

#define WPAN_NUM_SHORT_ADDR_PENDING (   x)    ((x) & 0x7)

Marco to extract size of short address list in PAN descriptor.

enum msg_code

This type contains the service primitives of the PHY-, MAC- and Network-layer as well the command-interface primitives.

Enumerator
TAL_DATA_INDICATION 
MLME_ASSOCIATE_REQUEST 
MLME_ASSOCIATE_RESPONSE 
MCPS_DATA_REQUEST 
MCPS_PURGE_REQUEST 
MLME_DISASSOCIATE_REQUEST 
MLME_SET_REQUEST 
MLME_ORPHAN_RESPONSE 
MLME_GET_REQUEST 
MLME_RESET_REQUEST 
MLME_RX_ENABLE_REQUEST 
MLME_SCAN_REQUEST 
MLME_GTS_REQUEST 
MLME_START_REQUEST 
MLME_POLL_REQUEST 
MLME_SYNC_REQUEST 
MCPS_DATA_CONFIRM 
MCPS_DATA_INDICATION 
MCPS_PURGE_CONFIRM 
MLME_ASSOCIATE_INDICATION 
MLME_ASSOCIATE_CONFIRM 
MLME_DISASSOCIATE_INDICATION 
MLME_DISASSOCIATE_CONFIRM 
MLME_BEACON_NOTIFY_INDICATION 
MLME_GTS_CONFIRM 
MLME_GTS_INDICATION 
MLME_ORPHAN_INDICATION 
MLME_SCAN_CONFIRM 
MLME_COMM_STATUS_INDICATION 
MLME_SYNC_LOSS_INDICATION 
MLME_GET_CONFIRM 
MLME_SET_CONFIRM 
MLME_RESET_CONFIRM 
MLME_RX_ENABLE_CONFIRM 
MLME_START_CONFIRM 
MLME_POLL_CONFIRM 
MAC_INC_FRAME 

retval_t mac_timers_init ( void  )
retval_t mac_timers_stop ( void  )
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.

Parameters
SrcAddrModeAddress Mode of the source address.
DstAddrSpecPointer to wpan_addr_spec_t structure for destination.
msduHandleHandle (identification) of the MSDU.
TxOptionsBitmap for transmission options. Valid values:
msduPointer to the data to be transmitted.
msduLengthLength of the data to be transmitted.
SecurityLevelUsed security level; this parameter is only available if MAC security is enabled via MAC_SECURITY_ZIP
KeyIdModeUsed mode to identify the key; this parameter is only available if MAC security is enabled via MAC_SECURITY_ZIP
KeyIndexUsed index of the key; this parameter is only available if MAC security is enabled via MAC_SECURITY_ZIP
Returns
true - success; false - buffer not available or queue full.

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 bc_data_cb(), indirect_data_cb(), and main().

bool wpan_mcps_purge_req ( const uint8_t  msduHandle)

Initiate MCPS-PURGE.request service and have it placed in the MCPS-SAP queue.

Parameters
msduHandleHandle of MSDU to be purged.
Returns
true - success; false - buffer not available or queue full.

References CMD_POS, EOT, LEN_POS, MCPS_PURGE_REQUEST, and sio2ncp_tx().

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.

Parameters
LogicalChannelThe logical channel on which to attempt association.
ChannelPageThe channel page on which to attempt association.
CoordAddrSpecPointer to wpan_addr_spec_t structure for coordinator.
CapabilityInformationBitmap that describes the nodes capabilities. (WPAN_CAP_ALTPANCOORD | WPAN_CAP_FFD | WPAN_CAP_PWRSOURCE | WPAN_CAP_RXONWHENIDLE | WPAN_CAP_ALLOCADDRESS)
Returns
true - success; false - buffer not available or queue full.

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().

bool wpan_mlme_associate_resp ( uint64_t  DeviceAddress,
uint16_t  AssocShortAddress,
uint8_t  status 
)

Initiate MLME-ASSOCIATE.response service and place it in the MLME-SAP queue.

Parameters
DeviceAddressExtended address for device requesting association.
AssocShortAddressShort address allocated on successful association.
statusStatus of the association attempt. Valid values:
Returns
true - success; false - buffer not available or queue full.

References CMD_POS, EOT, LEN_POS, MLME_ASSOCIATE_RESPONSE, and sio2ncp_tx().

Referenced by usr_mlme_associate_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.

Parameters
DeviceAddrSpecPointer to wpan_addr_spec_t structure for device to which to send the disassociation notification command.
DisassociateReasonReason for disassociation. Valid values:
TxIndirectTRUE if the disassociation notification command is to be sent indirectly
Returns
true - success; false - buffer not available or queue full.

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.

Parameters
PIBAttributePIB attribute to be retrieved.
PIBAttributeIndexIndex of the PIB attribute to be read.
Returns
true - success; false - buffer not availability or queue full.

References CMD_POS, EOT, LEN_POS, MLME_GET_REQUEST, and sio2ncp_tx().

Referenced by usr_mlme_comm_status_ind(), usr_mlme_get_conf(), and usr_mlme_reset_conf().

bool wpan_mlme_gts_req ( uint16_t  DevShortAddr,
gts_char_t  GtsChar 
)
bool wpan_mlme_orphan_resp ( uint64_t  OrphanAddress,
uint16_t  ShortAddress,
bool  AssociatedMember 
)

Initiate MLME-ORPHAN.response service and have it placed in MLME_SAP queue.

Parameters
OrphanAddressAddress of orphaned device.
ShortAddressShort address allocated to orphaned device.
AssociatedMemberBoolean true if the orphaned device is associated.
Returns
true - success; false - buffer not availability or queue full.

References CMD_POS, EOT, LEN_POS, MLME_ORPHAN_RESPONSE, and sio2ncp_tx().

bool wpan_mlme_poll_req ( wpan_addr_spec_t CoordAddrSpec)

Initiate MLME-POLL.request service and have it placed in the MLME-SAP queue.

Parameters
CoordAddrSpecPointer to wpan_addr_spec_t structure for the coordinator.
Returns
true - success; false - buffer not availability or queue full.

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().

bool wpan_mlme_reset_req ( bool  SetDefaultPib)

Initiate MLME-RESET.request service and have it placed in the MLME-SAP queue.

Parameters
SetDefaultPibBoolean to set all PIB values to their respective defaults.
Returns
true - success; false - buffer not available or queue full.

References CMD_POS, EOT, LEN_POS, MLME_RESET_REQUEST, and sio2ncp_tx().

Referenced by main(), usr_mlme_reset_conf(), usr_mlme_set_conf(), and usr_mlme_start_conf().

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.

Parameters
DeferPermitSet to true if receiver enable can be deferred until next superframe if requested time has already passed.
RxOnTimeNumber of symbols from start of superframe before receiver is enabled.
RxOnDurationNumber of symbols for which the receiver is enabled,
Returns
true - success; false - buffer not available or queue full.

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.

Parameters
ScanTypeType of scan to perform. Valid values:
ScanChannelsChannels to be scanned.
ScanDurationDuration of each scan.
ChannelPageThe channel page on which to perform the scan.
Returns
true - success; false - buffer not available or queue full.

References CMD_POS, EOT, LEN_POS, MLME_SCAN_REQUEST, and sio2ncp_tx().

Referenced by usr_mlme_set_conf().

bool wpan_mlme_set_req ( uint8_t  PIBAttribute,
void *  PIBAttributeValue 
)

Initiate MLME-SET.request service and have it placed in MLME_SAP queue.

Parameters
PIBAttributePIB attribute to be set.
PIBAttributeIndexIndex of the PIB attribute to be set.
PIBAttributeValuePointer to new PIB attribute value.
Returns
true - success; false - buffer not available or queue full.

References CMD_POS, EOT, LEN_POS, mac_get_pib_attribute_size(), macBeaconPayload, MLME_SET_REQUEST, and sio2ncp_tx().

Referenced by bcn_payload_update_cb(), usr_mlme_comm_status_ind(), usr_mlme_get_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.

Parameters
PANIdPAN identifier to be used by device.
LogicalChannelThe logical channel on which to start using the new superframe configuration.
ChannelPageThe channel page on which to begin using the new superframe configuration.
BeaconOrderBeacon transmission interval.
SuperframeOrderDuration of active portion of superframe.
PANCoordinatorIndicates whether node is PAN coordinator of PAN.
BatteryLifeExtensionBoolean true disables receiver of beaconing device for a period after interframe spacing of beacon frame.
CoordRealignmentBoolean to transmit Coordinator Realignment command prior to changing to new superframe configuration.
Returns
true - success; false - buffer not available or queue full.

References CMD_POS, EOT, LEN_POS, MLME_START_REQUEST, and sio2ncp_tx().

Referenced by usr_mlme_scan_conf().

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.

Parameters
LogicalChannelThe logical channel on which to attempt coordinator synchronization.
ChannelPageThe channel page on which to attempt coordinator synchronization.
TrackBeaconBoolean to synchronize with next beacon and to track all future beacons.
Returns
true - success; false - buffer not available or queue full.
bool wpan_task ( void  )

The stack task function called by the application.

This function should be called as frequently as possible by the application in order to provide a permanent execution of the protocol stack.

Returns
Boolean true if an event was processed otherwise false.

References api_process_incoming_sio_data(), data, data_length, rx_index, sio2ncp_rx(), SIO_RX_BUF_SIZE, and sw_timer_service().

Referenced by main().

enum msg_code SHORTENUM
uint8_t T_Data_Persistence
uint8_t T_Poll_Wait_Time
uint8_t T_Rx_Enable
uint8_t T_Scan_Duration