AF_DataRequest()函数说明
来源:互联网 发布:三级网站域名 编辑:程序博客网 时间:2024/04/28 10:25
原型:
afStatus_t AF_DataRequest( afAddrType_t *dstAddr, endPointDesc_t *srcEP, uint16 cID, uint16 len, uint8 *buf, uint8 *transID, uint8 options, uint8 radius );
参数说明:
其中
ClusterID--具体应用串ID
发送模式选项有如下选项
传输跳数或传输半径,默认值为10
1、afAddrType_t *dstAddr af地址类型
typedef struct{ union { uint16 shortAddr;//短地址 ZLongAddr_t extAddr; } addr; afAddrMode_t addrMode;//传送模式 <wbr> uint8 endPoint;//端点号 <wbr> uint16 panId; // used for the INTER_PAN feature} afAddrType_t;</wbr></wbr>
2、endPointDesc_t *srcEP 端点描述
typedef struct{ uint8 endPoint;//端点号 uint8 *task_id; // Pointer to location of the Application task ID.(调用任务的ID) SimpleDescriptionFormat_t *simpleDesc;//简单的端点描述 afNetworkLatencyReq_t latencyReq;} endPointDesc_t;
3、SimpleDescriptionFormat_t 简单描述格式
typedef struct { byte EndPoint; //端口号 uint16 AppProfId; //应用规范ID uint16 AppDeviceId; //应用设备ID uint8 AppDevVer:4; //应用设备版本号 4bit 这里使用的是位域 uint8 Reserved:4; // AF_V1_SUPPORT uses for AppFlags:4. uint8 AppNumInClusters; //输入簇包含的命令个数 cId_t *pAppInClusterList; //输入簇列表 可有<span style='line-height: 18px; font-family: Consolas,"Courier New",Courier,mono,serif; background-color: rgb(248, 248, 248);'>GENERICAPP_MAX_CLUSTERS个输入命令</span> uint8 AppNumOutClusters; //输出簇包含的命令个数 cId_t *pAppOutClusterList;//输出簇列表 可有<span style='line-height: 18px; font-family: Consolas,"Courier New",Courier,mono,serif; background-color: rgb(248, 248, 248);'>GENERICAPP_MAX_CLUSTERS个输出命令</span> } SimpleDescriptionFormat_t;
4、uint16 cID
5、uint8 options
#define AF_PREPROCESS 0x04 // Will force APS to callback to preprocess before calling NWK layer#define AF_LIMIT_CONCENTRATOR 0x08#define AF_ACK_REQUEST 0x10#define AF_DISCV_ROUTE 0x20 // This option is no longer used, and will be taken out later#define AF_EN_SECURITY 0x40#define AF_SKIP_ROUTING 0x80
6、uint8 radius
对于非广播消息,有两种基本的消息重试类型:端到端的确认(APS ACK)和单级确认(single hop acknowledgement)(MAC ACK)。MAC ACK默认情况下是一直打开的,通常能够充分保证网络的高可靠性。为了提供附加的可靠性,同时使发送设备能够得到数据包已经被发送到目的地的确认,可以使用APS ACK。
APS acknowledgement在APS层完成,是从目标设备到源设备的一个消息确认系统。源设备将保留这个消息知道目标设备发送一个APS ACK消息表明它已经收到了消息。对于每个发出的消息可以通过调用函数AF_DataRequest()的选项来使能/禁止来禁止这个功能。这个选项区域是一个位映射选项,对于将要发送的消息的选项区域或上(OR)AF_ACK_REQUEST就可以使能APS ACK。消息重试(如果APS ACK消息没有收到)的次数和重试之间的时间间隔的配置项在f8wConfig.cfg文件中。APSC_MAX_FRAME_RETRIES是APS层在放弃发送数据之前,没有收到APS ACK确认重新发送消息的次数。APSC_ACK_WAIT_DURATION_POLLED是重新发送之间的时间间隔。
APS ACK 数据确认命令在应用层event-loop函数中,通过AF_DATA_CONFIRM_CMD进行处理,原始AF层函数为afDataConfirm( uint8 endPoint, uint8 transID, ZStatus_t status )。
转自:http://blog.sina.com.cn/s/blog_690878d501011cmp.html
0 0
- AF_DataRequest()函数说明
- AF_DataRequest ()函数说明
- Zigbee协议栈发送函数AF_DataRequest说明
- Zigbee协议栈发送函数AF_DataRequest说明
- 【Z-Stack发送函数AF_DataRequest】
- ZIGBEE:发送函数AF_DataRequest详解
- Z-STACK-1.4.3发送函数AF_DataRequest ()详解
- (六) 发送函数AF_DataRequest zigbee数据发送和接受
- Z-Stack协议学习笔记1--发送函数AF_DataRequest
- AF_DataRequest详解
- AF_DataRequest详解
- AF_DataRequest详解
- 函数说明
- 函数说明
- 函数说明
- 函数说明
- AF_DataRequest zigbee单播、组播、广播
- GLUT函数说明--绘制函数说明
- 10款常用的Linux音乐播放器
- 配置不须用户名和密码的Samba共享
- hdu 4185 (Oil Skimming) 奇偶匹配
- ARM Linux启动过程
- linux 下vmware mount.ntfs占用99% CPU
- AF_DataRequest()函数说明
- find 和 grep 的结合使用
- vnc server configure and vncviewer client introduce
- UML中的联系、聚合与组合的区别
- 安卓开发中Theme.AppCompat.Light的解决方法
- 怎么在linux里面安装软件
- 桥接模式
- C++中得到随机数
- Java反射机制剖析