123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- #ifndef APS_H
- #define APS_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "APSMEDE.h"
- #include "BindingTable.h"
- #include "reflecttrack.h"
- typedef struct
- {
- uint16 nwkSrcAddr;
- uint8 nwkSecure;
- aps_FrameFormat_t* aff;
- } APS_CmdInd_t;
- typedef struct
- {
- osal_event_hdr_t hdr;
- zAddrType_t SrcAddress;
- uint16 SrcPanId;
- uint16 macDestAddr;
- NLDE_Signal_t sig;
- byte SecurityUse;
- uint32 timestamp;
- uint8 nwkSeqNum;
- aps_FrameFormat_t aff;
- } apsInMsg_t;
- typedef void (*pfnBindingTimeoutCB)( void );
- typedef struct
- {
- uint16 srcAddr;
- uint8 broadcastId;
- uint16 expiryTime;
- } apsEndDeviceBroadcast_t;
- #define APS_INCOMING_MSG 0x01
- #define APS_CMD_PKT 0x02
- #define APS_MSG_ID 0x00
- #define APS_MSG_ID_LEN 0x01
- #define APS_CMD_PKT_HDR ((uint8) \
- (sizeof(APSME_CmdPkt_t) + \
- APS_MSG_ID_LEN ))
- #define APS_EDBIND_TIMEOUT_TIMER_ID 0x0001
- #define APS_DATA_REQUEST_HOLD 0x0002
- #define APS_SKA_SLOT_TIMER 0x0004
- #define APS_ENDDEVICE_BROADCAST_EVT 0x0008
- #define APS_SKA_SLOT_TIMEOUT 100
- #define APS_REFLECTOR_PUBLIC 0
- #define APS_REFLECTOR_PRIVATE 1
- extern uint8 APS_Counter;
- extern byte APS_TaskID;
- extern uint16 AIB_MaxBindingTime;
- extern uint8 AIB_apsUseExtendedPANID[Z_EXTADDR_LEN];
- extern uint8 AIB_apsUseInsecureJoin;
- extern uint8 APS_AllowDataRequests;
- #if ( ZG_BUILD_ENDDEVICE_TYPE ) && ( RFD_RCVC_ALWAYS_ON==TRUE )
- extern apsEndDeviceBroadcast_t apsEndDeviceBroadcastTable[];
- #endif
- extern void APS_Init( byte task_id );
- extern UINT16 APS_event_loop( byte task_id, UINT16 events );
- extern void APS_SetEndDeviceBindTimeout( uint16 timeout, pfnBindingTimeoutCB pfnCB );
- extern void APS_CmdInd( APS_CmdInd_t* ind );
- extern void APS_ReflectorInit( uint8 type );
- #if ( ZG_BUILD_ENDDEVICE_TYPE ) && ( RFD_RCVC_ALWAYS_ON==TRUE )
-
- extern void APS_InitEndDeviceBroadcastTable( void );
-
-
- extern uint8 APS_EndDeviceBroadcastCheck( NLDE_FrameFormat_t *ff );
- #endif
- extern ZStatus_t (*pAPS_UnBind)( byte SrcEndpInt,
- uint16 ClusterId, zAddrType_t *DstAddr, byte DstEndpInt );
- extern ZStatus_t (*pAPS_GetBind)( uint16 Nth, apsBindingItem_t *pItem );
- extern void (*pAPS_DataConfirmReflect)( nwkDB_t *rec, uint8 status );
- extern void (*pAPS_DataIndReflect)( zAddrType_t *SrcAddress, aps_FrameFormat_t *aff,
- NLDE_Signal_t *sig, byte AckRequest, byte SecurityUse, uint32 timestamp );
- #ifdef __cplusplus
- }
- #endif
- #endif
|