658 lines
16 KiB
C
658 lines
16 KiB
C
/**************************************************************************************************
|
|
Filename: ZMAC.h
|
|
Revised: $Date: 2011-02-28 17:30:28 -0800 (Mon, 28 Feb 2011) $
|
|
Revision: $Revision: 25231 $
|
|
|
|
Description: This file contains the ZStack MAC Porting Layer.
|
|
|
|
|
|
Copyright 2004-2011 Texas Instruments Incorporated. All rights reserved.
|
|
|
|
IMPORTANT: Your use of this Software is limited to those specific rights
|
|
granted under the terms of a software license agreement between the user
|
|
who downloaded the software, his/her employer (which must be your employer)
|
|
and Texas Instruments Incorporated (the "License"). You may not use this
|
|
Software unless you agree to abide by the terms of the License. The License
|
|
limits your use, and you acknowledge, that the Software may not be modified,
|
|
copied or distributed unless embedded on a Texas Instruments microcontroller
|
|
or used solely and exclusively in conjunction with a Texas Instruments radio
|
|
frequency transceiver, which is integrated into your product. Other than for
|
|
the foregoing purpose, you may not use, reproduce, copy, prepare derivative
|
|
works of, modify, distribute, perform, display or sell this Software and/or
|
|
its documentation for any purpose.
|
|
|
|
YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
|
|
PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
|
|
INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,
|
|
NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
|
|
TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,
|
|
NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER
|
|
LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
|
|
INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE
|
|
OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT
|
|
OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
|
(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
|
|
|
|
Should you have any questions regarding your right to use this Software,
|
|
contact Texas Instruments Incorporated at www.TI.com.
|
|
**************************************************************************************************/
|
|
|
|
#ifndef ZMAC_H
|
|
#define ZMAC_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
/*********************************************************************
|
|
* INCLUDES
|
|
*/
|
|
|
|
#include "ZComDef.h"
|
|
#include "zmac_internal.h"
|
|
|
|
/*********************************************************************
|
|
* MACROS
|
|
*/
|
|
|
|
/* Maximum length of the beacon payload */
|
|
#ifndef ZMAC_MAX_BEACON_PAYLOAD_LEN
|
|
#define ZMAC_MAX_BEACON_PAYLOAD_LEN (7 + Z_EXTADDR_LEN)
|
|
#endif
|
|
|
|
/*********************************************************************
|
|
* CONSTANTS
|
|
*/
|
|
|
|
#if defined( MAC_API_H )
|
|
#define ZMAC_CHAN_MASK ( \
|
|
MAC_CHAN_11_MASK | \
|
|
MAC_CHAN_12_MASK | \
|
|
MAC_CHAN_13_MASK | \
|
|
MAC_CHAN_14_MASK | \
|
|
MAC_CHAN_15_MASK | \
|
|
MAC_CHAN_16_MASK | \
|
|
MAC_CHAN_17_MASK | \
|
|
MAC_CHAN_18_MASK | \
|
|
MAC_CHAN_19_MASK | \
|
|
MAC_CHAN_20_MASK | \
|
|
MAC_CHAN_21_MASK | \
|
|
MAC_CHAN_22_MASK | \
|
|
MAC_CHAN_23_MASK | \
|
|
MAC_CHAN_24_MASK | \
|
|
MAC_CHAN_25_MASK | \
|
|
MAC_CHAN_26_MASK | \
|
|
MAC_CHAN_27_MASK | \
|
|
MAC_CHAN_28_MASK )
|
|
#else
|
|
#define ZMAC_CHAN_MASK 0x07FFF800
|
|
#endif
|
|
|
|
/* LQI adjustment parameters */
|
|
#if !defined( LQI_CORR_MIN )
|
|
#define LQI_CORR_MIN 50 /* Theoretical CORR lower limt */
|
|
#endif
|
|
#if !defined( LQI_CORR_MAX )
|
|
#define LQI_CORR_MAX 110 /* Theoretical CORR upper limt */
|
|
#endif
|
|
|
|
/*********************************************************************
|
|
* TYPEDEFS
|
|
*/
|
|
|
|
/* ZMAC event header type */
|
|
typedef struct
|
|
{
|
|
uint8 Event; /* ZMAC event */
|
|
uint8 Status; /* ZMAC status */
|
|
} ZMacEventHdr_t;
|
|
|
|
/* Common security type */
|
|
typedef struct
|
|
{
|
|
uint8 KeySource[ZMAC_KEY_SOURCE_MAX_LEN];
|
|
uint8 SecurityLevel;
|
|
uint8 KeyIdMode;
|
|
uint8 KeyIndex;
|
|
}ZMacSec_t;
|
|
|
|
/* PAN descriptor type */
|
|
typedef struct
|
|
{
|
|
zAddrType_t CoordAddress;
|
|
uint16 CoordPANId;
|
|
uint16 SuperframeSpec;
|
|
uint8 LogicalChannel;
|
|
uint8 ChannelPage;
|
|
uint8 GTSPermit;
|
|
uint8 LinkQuality;
|
|
uint32 TimeStamp;
|
|
uint8 SecurityFailure;
|
|
ZMacSec_t Sec;
|
|
} ZMacPanDesc_t;
|
|
|
|
/* Communication status indication type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
zAddrType_t SrcAddress;
|
|
zAddrType_t DstAddress;
|
|
uint16 PANId;
|
|
uint8 Reason;
|
|
ZMacSec_t Sec;
|
|
} ZMacCommStatusInd_t;
|
|
|
|
/* SYNC */
|
|
|
|
typedef struct
|
|
{
|
|
uint8 LogicalChannel; /* The logical channel to use */
|
|
uint8 ChannelPage; /* The channel page to use */
|
|
uint8 TrackBeacon; /* Set to TRUE to continue tracking beacons after synchronizing with the
|
|
first beacon. Set to FALSE to only synchronize with the first beacon */
|
|
}ZMacSyncReq_t;
|
|
|
|
/* DATA TYPES */
|
|
|
|
/* Data request parameters type */
|
|
typedef struct
|
|
{
|
|
zAddrType_t DstAddr;
|
|
uint16 DstPANId;
|
|
uint8 SrcAddrMode;
|
|
uint8 Handle;
|
|
uint8 TxOptions;
|
|
uint8 Channel;
|
|
uint8 Power;
|
|
ZMacSec_t Sec;
|
|
uint8 msduLength;
|
|
uint8 *msdu;
|
|
} ZMacDataReq_t;
|
|
|
|
/* Data confirm type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
uint8 msduHandle;
|
|
ZMacDataReq_t *pDataReq;
|
|
uint32 Timestamp;
|
|
uint16 Timestamp2;
|
|
uint8 retries;
|
|
uint8 mpduLinkQuality;
|
|
uint8 correlation;
|
|
int8 rssi;
|
|
} ZMacDataCnf_t;
|
|
|
|
|
|
/* ASSOCIATION TYPES */
|
|
|
|
/* Associate request type */
|
|
typedef struct
|
|
{
|
|
uint8 LogicalChannel;
|
|
uint8 ChannelPage;
|
|
zAddrType_t CoordAddress;
|
|
uint16 CoordPANId;
|
|
uint8 CapabilityFlags;
|
|
ZMacSec_t Sec;
|
|
} ZMacAssociateReq_t;
|
|
|
|
/* Associate response type */
|
|
typedef struct
|
|
{
|
|
ZLongAddr_t DeviceAddress;
|
|
uint16 AssocShortAddress;
|
|
uint8 Status;
|
|
ZMacSec_t Sec;
|
|
} ZMacAssociateRsp_t;
|
|
|
|
/* Associate indication parameters type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
ZLongAddr_t DeviceAddress;
|
|
uint8 CapabilityFlags;
|
|
ZMacSec_t Sec;
|
|
} ZMacAssociateInd_t;
|
|
|
|
/* Associate confim type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
uint16 AssocShortAddress;
|
|
ZMacSec_t Sec;
|
|
} ZMacAssociateCnf_t;
|
|
|
|
/* Disassociate request type */
|
|
typedef struct
|
|
{
|
|
zAddrType_t DeviceAddress;
|
|
uint16 DevicePanId;
|
|
uint8 DisassociateReason;
|
|
uint8 TxIndirect;
|
|
ZMacSec_t Sec;
|
|
} ZMacDisassociateReq_t;
|
|
|
|
/* Rx enable confirm type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
} ZMacRxEnableCnf_t;
|
|
|
|
/* SCAN */
|
|
/* Scan request type */
|
|
typedef struct
|
|
{
|
|
uint32 ScanChannels;
|
|
uint8 ScanType;
|
|
uint8 ScanDuration;
|
|
uint8 ChannelPage;
|
|
uint8 MaxResults;
|
|
ZMacSec_t Sec;
|
|
union
|
|
{
|
|
uint8 *pEnergyDetect;
|
|
ZMacPanDesc_t *pPanDescriptor;
|
|
}Result;
|
|
} ZMacScanReq_t;
|
|
|
|
/* Scan confirm type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
uint8 ScanType;
|
|
uint8 ChannelPage;
|
|
uint32 UnscannedChannels;
|
|
uint8 ResultListSize;
|
|
union
|
|
{
|
|
uint8 *pEnergyDetect;
|
|
ZMacPanDesc_t *pPanDescriptor;
|
|
}Result;
|
|
} ZMacScanCnf_t;
|
|
|
|
|
|
/* START */
|
|
/* Start request type */
|
|
typedef struct
|
|
{
|
|
uint32 StartTime;
|
|
uint16 PANID;
|
|
uint8 LogicalChannel;
|
|
uint8 ChannelPage;
|
|
uint8 BeaconOrder;
|
|
uint8 SuperframeOrder;
|
|
uint8 PANCoordinator;
|
|
uint8 BatteryLifeExt;
|
|
uint8 CoordRealignment;
|
|
ZMacSec_t RealignSec;
|
|
ZMacSec_t BeaconSec;
|
|
} ZMacStartReq_t;
|
|
|
|
/* Start confirm type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
} ZMacStartCnf_t;
|
|
|
|
/* POLL */
|
|
/* Roll request type */
|
|
typedef struct
|
|
{
|
|
zAddrType_t CoordAddress;
|
|
uint16 CoordPanId;
|
|
ZMacSec_t Sec;
|
|
} ZMacPollReq_t;
|
|
|
|
/* Poll confirm type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
} ZMacPollCnf_t;
|
|
|
|
/* MAC_MLME_POLL_IND type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
uint16 srcShortAddr; /* Short address of the device sending the data request */
|
|
uint16 srcPanId; /* Pan ID of the device sending the data request */
|
|
} ZMacPollInd_t;
|
|
|
|
/* ORPHAN */
|
|
/* Orphan response type */
|
|
typedef struct
|
|
{
|
|
ZLongAddr_t OrphanAddress;
|
|
uint16 ShortAddress;
|
|
uint8 AssociatedMember;
|
|
ZMacSec_t Sec;
|
|
} ZMacOrphanRsp_t;
|
|
|
|
/* Orphan indication type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
ZLongAddr_t OrphanAddress;
|
|
ZMacSec_t Sec;
|
|
} ZMacOrphanInd_t;
|
|
|
|
#if defined (MT_MAC_FUNC) || defined (MT_MAC_CB_FUNC)
|
|
|
|
/* Sync loss indication type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
uint16 PANId;
|
|
uint8 LogicalChannel;
|
|
uint8 ChannelPage;
|
|
ZMacSec_t Sec;
|
|
} ZMacSyncLossInd_t;
|
|
|
|
/* Data indication parameters type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
ZMacSec_t Sec;
|
|
zAddrType_t SrcAddr;
|
|
zAddrType_t DstAddr;
|
|
uint32 Timestamp;
|
|
uint16 Timestamp2;
|
|
uint16 SrcPANId;
|
|
uint16 DstPANId;
|
|
uint8 mpduLinkQuality;
|
|
uint8 Correlation;
|
|
uint8 Rssi;
|
|
uint8 Dsn;
|
|
uint8 msduLength;
|
|
uint8 *msdu;
|
|
} ZMacDataInd_t;
|
|
|
|
/* Disassociate indication type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
ZLongAddr_t DeviceAddress;
|
|
uint8 DisassociateReason;
|
|
ZMacSec_t Sec;
|
|
} ZMacDisassociateInd_t;
|
|
|
|
/* Disassociate confirm type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
zAddrType_t DeviceAddress;
|
|
uint16 panID;
|
|
} ZMacDisassociateCnf_t;
|
|
|
|
/* Beacon notify indication type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
uint8 BSN;
|
|
ZMacPanDesc_t *pPanDesc;
|
|
uint8 PendAddrSpec;
|
|
uint8 *AddrList;
|
|
uint8 sduLength;
|
|
uint8 *sdu;
|
|
} ZMacBeaconNotifyInd_t;
|
|
|
|
/* Purge confirm type */
|
|
typedef struct
|
|
{
|
|
ZMacEventHdr_t hdr;
|
|
uint8 msduHandle;
|
|
} ZMacPurgeCnf_t;
|
|
#endif
|
|
|
|
typedef enum
|
|
{
|
|
TX_PWR_MINUS_22 = -22,
|
|
TX_PWR_MINUS_21,
|
|
TX_PWR_MINUS_20,
|
|
TX_PWR_MINUS_19,
|
|
TX_PWR_MINUS_18,
|
|
TX_PWR_MINUS_17,
|
|
TX_PWR_MINUS_16,
|
|
TX_PWR_MINUS_15,
|
|
TX_PWR_MINUS_14,
|
|
TX_PWR_MINUS_13,
|
|
TX_PWR_MINUS_12,
|
|
TX_PWR_MINUS_11,
|
|
TX_PWR_MINUS_10,
|
|
TX_PWR_MINUS_9,
|
|
TX_PWR_MINUS_8,
|
|
TX_PWR_MINUS_7,
|
|
TX_PWR_MINUS_6,
|
|
TX_PWR_MINUS_5,
|
|
TX_PWR_MINUS_4,
|
|
TX_PWR_MINUS_3,
|
|
TX_PWR_MINUS_2,
|
|
TX_PWR_MINUS_1,
|
|
TX_PWR_ZERO,
|
|
TX_PWR_PLUS_1,
|
|
TX_PWR_PLUS_2,
|
|
TX_PWR_PLUS_3,
|
|
TX_PWR_PLUS_4,
|
|
TX_PWR_PLUS_5,
|
|
TX_PWR_PLUS_6,
|
|
TX_PWR_PLUS_7,
|
|
TX_PWR_PLUS_8,
|
|
TX_PWR_PLUS_9,
|
|
TX_PWR_PLUS_10,
|
|
TX_PWR_PLUS_11,
|
|
TX_PWR_PLUS_12,
|
|
TX_PWR_PLUS_13,
|
|
TX_PWR_PLUS_14,
|
|
TX_PWR_PLUS_15,
|
|
TX_PWR_PLUS_16,
|
|
TX_PWR_PLUS_17,
|
|
TX_PWR_PLUS_18,
|
|
TX_PWR_PLUS_19
|
|
} ZMacTransmitPower_t; // The transmit power in units of -1 dBm.
|
|
|
|
typedef struct
|
|
{
|
|
byte protocolID;
|
|
byte stackProfile; // 4 bit in native
|
|
byte protocolVersion; // 4 bit in native
|
|
byte reserved; // 2 bit in native
|
|
byte routerCapacity; // 1 bit in native
|
|
byte deviceDepth; // 4 bit in native
|
|
byte deviceCapacity; // 1 bit in native
|
|
byte extendedPANID[Z_EXTADDR_LEN];
|
|
byte txOffset[3];
|
|
byte updateId;
|
|
} beaconPayload_t;
|
|
|
|
typedef uint8 (*applySecCB_t)( uint8 len, uint8 *msdu );
|
|
|
|
typedef enum
|
|
{
|
|
LQI_ADJ_OFF = 0,
|
|
LQI_ADJ_MODE1,
|
|
LQI_ADJ_MODE2,
|
|
LQI_ADJ_GET = 0xFF
|
|
} ZMacLqiAdjust_t; // Mode settings for lqi adjustment
|
|
|
|
/*********************************************************************
|
|
* GLOBAL VARIABLES
|
|
*/
|
|
#define NWK_CMD_ID_LEN sizeof( byte )
|
|
|
|
/*********************************************************************
|
|
* FUNCTIONS
|
|
*/
|
|
|
|
/*
|
|
* Initialize.
|
|
*/
|
|
extern ZMacStatus_t ZMacInit( void );
|
|
|
|
/*
|
|
* Send a MAC Data Frame packet.
|
|
*/
|
|
extern ZMacStatus_t ZMacDataReq( ZMacDataReq_t *param );
|
|
|
|
/*
|
|
* Send a MAC Data Frame packet and apply application security to the packet.
|
|
*/
|
|
extern uint8 ZMacDataReqSec( ZMacDataReq_t *pData, applySecCB_t secCB );
|
|
|
|
/*
|
|
* Request an association with a coordinator.
|
|
*/
|
|
extern ZMacStatus_t ZMacAssociateReq( ZMacAssociateReq_t *param );
|
|
|
|
/*
|
|
* Request to send an association response message.
|
|
*/
|
|
extern ZMacStatus_t ZMacAssociateRsp( ZMacAssociateRsp_t *param );
|
|
|
|
/*
|
|
* Request to send a disassociate request message.
|
|
*/
|
|
extern ZMacStatus_t ZMacDisassociateReq( ZMacDisassociateReq_t *param );
|
|
|
|
/*
|
|
* Gives the MAC extra processing time.
|
|
* Returns false if its OK to sleep.
|
|
*/
|
|
extern byte ZMacUpdate( void );
|
|
|
|
/*
|
|
* Read a MAC PIB attribute.
|
|
*/
|
|
extern ZMacStatus_t ZMacGetReq( ZMacAttributes_t attr, byte *value );
|
|
|
|
/*
|
|
* This function allows the next higher layer to respond to
|
|
* an orphan indication message.
|
|
*/
|
|
extern ZMacStatus_t ZMacOrphanRsp( ZMacOrphanRsp_t *param );
|
|
|
|
/*
|
|
* This function is called to request MAC data request poll.
|
|
*/
|
|
extern ZMacStatus_t ZMacPollReq( ZMacPollReq_t *param );
|
|
|
|
/*
|
|
* Reset the MAC.
|
|
*/
|
|
extern ZMacStatus_t ZMacReset( byte SetDefaultPIB );
|
|
|
|
/*
|
|
* This function is called to perform a network scan.
|
|
*/
|
|
extern ZMacStatus_t ZMacScanReq( ZMacScanReq_t *param );
|
|
|
|
/*
|
|
* Write a MAC PIB attribute.
|
|
*/
|
|
extern ZMacStatus_t ZMacSetReq( ZMacAttributes_t attr, byte *value );
|
|
|
|
#ifdef MAC_SECURITY
|
|
/*
|
|
* Read a MAC Security PIB attribute.
|
|
*/
|
|
extern ZMacStatus_t ZMacSecurityGetReq( ZMacAttributes_t attr, byte *value );
|
|
|
|
/*
|
|
* Write a MAC Security PIB attribute.
|
|
*/
|
|
extern ZMacStatus_t ZMacSecuritySetReq( ZMacAttributes_t attr, byte *value );
|
|
#endif /* MAC_SECURITY */
|
|
|
|
/*
|
|
* This function is called to tell the MAC to transmit beacons
|
|
* and become a coordinator.
|
|
*/
|
|
extern ZMacStatus_t ZMacStartReq( ZMacStartReq_t *param );
|
|
|
|
/*
|
|
* This function is called to request a sync to the current
|
|
* networks beacons.
|
|
*/
|
|
extern ZMacStatus_t ZMacSyncReq( ZMacSyncReq_t *param );
|
|
|
|
/*
|
|
* This function requests to reset mac state machine and
|
|
* transaction.
|
|
*/
|
|
extern ZMacStatus_t ZMacCleanReq( void );
|
|
|
|
/*
|
|
* This function is called to request MAC to purge a message.
|
|
*/
|
|
extern ZMacStatus_t ZMacPurgeReq( byte msduHandle );
|
|
|
|
/*
|
|
* This function is called to enable AUTOPEND and source address matching.
|
|
*/
|
|
extern ZMacStatus_t ZMacSrcMatchEnable (uint8 addrType, uint8 numEntries);
|
|
|
|
/*
|
|
* This function is called to add a short or extended address to source address table.
|
|
*/
|
|
extern ZMacStatus_t ZMacSrcMatchAddEntry (zAddrType_t *addr, uint16 panID);
|
|
|
|
/*
|
|
* This function is called to delete a short or extended address from source address table.
|
|
*/
|
|
extern ZMacStatus_t ZMacSrcMatchDeleteEntry (zAddrType_t *addr, uint16 panID);
|
|
|
|
/*
|
|
* This funciton is called to enabled/disable acknowledging all packets with pending bit set
|
|
*/
|
|
extern ZMacStatus_t ZMacSrcMatchAckAllPending (uint8 option);
|
|
|
|
/*
|
|
* This function is called to check if acknowledging all packets with pending bit set is enabled.
|
|
*/
|
|
extern ZMacStatus_t ZMacSrcMatchCheckAllPending (void);
|
|
|
|
/*
|
|
* This function is called to request MAC to power on the radio hardware and wake up.
|
|
*/
|
|
extern void ZMacPwrOnReq ( void );
|
|
|
|
/*
|
|
* This function returns the current power mode of the MAC.
|
|
*/
|
|
extern uint8 ZMac_PwrMode(void);
|
|
|
|
/*
|
|
* This function is called to request MAC to set the transmit power level.
|
|
*/
|
|
extern ZMacStatus_t ZMacSetTransmitPower( ZMacTransmitPower_t level );
|
|
|
|
/*
|
|
* This function is called to send out an empty msg
|
|
*/
|
|
extern void ZMacSendNoData( uint16 DstAddr, uint16 DstPANId );
|
|
|
|
/*
|
|
* This callback function is called for every MAC message that is received
|
|
* over-the-air or generated locally by MAC for the application.
|
|
*/
|
|
extern uint8 (*pZMac_AppCallback)( uint8 *msgPtr );
|
|
|
|
/*
|
|
* This function returns true if the MAC state is idle.
|
|
*/
|
|
extern uint8 ZMacStateIdle( void );
|
|
|
|
/*
|
|
* This function sets/returns LQI adjust mode.
|
|
*/
|
|
extern ZMacLqiAdjust_t ZMacLqiAdjustMode( ZMacLqiAdjust_t mode );
|
|
|
|
/*********************************************************************
|
|
*********************************************************************/
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* ZMAC_H */
|