修改TI SensorDemo例程,摆脱烦人的摇杆与按键吧!
2012-05-08 19:29
246 查看
来自:/article/5899198.html
TI提供的SensorDemo例程非常不错,配合 ZigBee Sensor Monitor还可以观察ZigBee的网络拓扑结构。
但是按照原本SensorDemo来运行,collector、router和enddevice都有相应的按键或摇杆要操作,才能建立网络、发送数据。
1、加多一个新配置-RouterEB
打开SensorDemo工程,在Project菜单下找到Edit Configurations,进去之后点击New按钮,弹出New Configuration对话框,如下图所示填写,点击OK:
些时建立的RouterEB跟CollectorEB的配置是完全相同的。
2、选择CollectorEB配置,打开Options选项,在Defined Symbols那里加多一个编译选项:MY_TYPE_COLLECTOR
3、在sapi.c文件的 SAPI_Init()函数,找到下面语句:
afSetMatch(sapi_epDesc.simpleDesc->EndPoint, FALSE);
修改为:
#ifdef MY_TYPE_COLLECTOR
afSetMatch(sapi_epDesc.simpleDesc->EndPoint, TRUE);//FALSE
#else
afSetMatch(sapi_epDesc.simpleDesc->EndPoint, FALSE);//FALSE
#endif
4、找到DemoCollector.c文件的函数 void zb_HandleOsalEvent( uint16 event )
将if( event & ZB_ENTRY_EVENT )内的代码修改为以下内容:
if( event & ZB_ENTRY_EVENT )
{
// blind LED 1 to indicate starting/joining a network
HalLedBlink ( HAL_LED_1, 0, 50, 500 );
HalLedSet( HAL_LED_2, HAL_LED_MODE_OFF );
if ( appState == APP_INIT )
{
#ifdef MY_TYPE_COLLECTOR
logicalType = ZG_DEVICETYPE_COORDINATOR;
zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType);
initUart(uartRxCB);
#else
logicalType = ZG_DEVICETYPE_ROUTER;
zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType);
#endif
}
// Start the device
zb_StartRequest();
}
5、DemoSensor.c 和Democollector.c文件,找到void zb_BindConfirm( uint16 commandId, uint8 status )里的
//if ( reportState )
如此路由器和终端在与协调器绑定成功后自动发送报告。
也可以将工程内所有跟reportState有关的代码删除。
TI提供的SensorDemo例程非常不错,配合 ZigBee Sensor Monitor还可以观察ZigBee的网络拓扑结构。
但是按照原本SensorDemo来运行,collector、router和enddevice都有相应的按键或摇杆要操作,才能建立网络、发送数据。
1、加多一个新配置-RouterEB
打开SensorDemo工程,在Project菜单下找到Edit Configurations,进去之后点击New按钮,弹出New Configuration对话框,如下图所示填写,点击OK:
些时建立的RouterEB跟CollectorEB的配置是完全相同的。
2、选择CollectorEB配置,打开Options选项,在Defined Symbols那里加多一个编译选项:MY_TYPE_COLLECTOR
3、在sapi.c文件的 SAPI_Init()函数,找到下面语句:
afSetMatch(sapi_epDesc.simpleDesc->EndPoint, FALSE);
修改为:
#ifdef MY_TYPE_COLLECTOR
afSetMatch(sapi_epDesc.simpleDesc->EndPoint, TRUE);//FALSE
#else
afSetMatch(sapi_epDesc.simpleDesc->EndPoint, FALSE);//FALSE
#endif
4、找到DemoCollector.c文件的函数 void zb_HandleOsalEvent( uint16 event )
将if( event & ZB_ENTRY_EVENT )内的代码修改为以下内容:
if( event & ZB_ENTRY_EVENT )
{
// blind LED 1 to indicate starting/joining a network
HalLedBlink ( HAL_LED_1, 0, 50, 500 );
HalLedSet( HAL_LED_2, HAL_LED_MODE_OFF );
if ( appState == APP_INIT )
{
#ifdef MY_TYPE_COLLECTOR
logicalType = ZG_DEVICETYPE_COORDINATOR;
zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType);
initUart(uartRxCB);
#else
logicalType = ZG_DEVICETYPE_ROUTER;
zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType);
#endif
}
// Start the device
zb_StartRequest();
}
5、DemoSensor.c 和Democollector.c文件,找到void zb_BindConfirm( uint16 commandId, uint8 status )里的
//if ( reportState )
如此路由器和终端在与协调器绑定成功后自动发送报告。
也可以将工程内所有跟reportState有关的代码删除。
相关文章推荐
- 修改TI SensorDemo例程,摆脱烦人的摇杆与按键吧!
- 修改TI SensorDemo例程,摆脱烦人的摇杆与按键吧!
- TI的Zstack协议栈SensorDemo例程温度收发
- 6、CC2541修改按键调节广播发送功率例程为持续发送4DB的蓝牙基站
- android:添加usb键盘+按键布局和映射的修改
- centos6.5中如何修改系统的屏幕关闭时间,一会就黑屏烦人。
- 通过注册表修改键盘按键的映射
- linux中键盘按键键值修改
- 2530 开发板上的某个按键修改
- Ubuntu 12.10 修改窗口按键布局(buttom_layout)到右边
- 键盘监控的实现Ⅲ——按键消息的修改(映射)
- Android 传感器(Sensor)API教程 (三) 传感器值取得例程及处理流程
- 修改Windows Mobile默认按键消息
- android ContentResolver的使用(获取和修改联系人信息demo)
- 修改QCombobox的样式(改变QCombobox下拉按键的大小以及滑动条大小)
- 2013新春奉送:Android摄像头开发完美demo---(循环聚焦,缩放大小,旋转picture,查询支持的picturesize, ImageButton按键效果)
- Unity Action Game Demo(2)NGUI实现摇杆
- 【Demo 0105】模拟键盘按键操作
- uboot流程分析--修改android启动模式按键
- 【iCore4 双核心板_ARM】例程二:读取ARM按键状态