微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 無法收到multicast (group)

無法收到multicast (group)

时间:10-02 整理:3721RD 点击:

hi all,

在調試關於group multicast ,在接收端無法收到.

請問是那裡有問題,導致它無法動作?

0.見附件group.pcapng,

1.check the number of groups,

    aps_CountAllGroups return 0 

2.to allocate new group table then aps_AddGroup

  apsGroupTable=(apsGroupItem_t*)osal_mem_alloc( sizeof( apsGroupItem_t ) * APS_MAX_GROUPS);  

   會使程序在aps_AddGroup 中,進入FaultISR

3.change the short address , group id or boradcast network address.

   仍然不可行.

code :Tx/Rx相同設定,

at 

void GenericApp_Init( uint8 task_id )

{

....

//faultisr 

//apsGroupTable=(apsGroupItem_t*)osal_mem_alloc( sizeof( apsGroupItem_t ) * APS_MAX_GROUPS);  

//define group item

SampleApp_Group.ID = 0x0003;
osal_memcpy( SampleApp_Group.name, "3", 1 );

//dest network address

GenericApp_DstAddr.addrMode = (afAddrMode_t)afAddrGroup;
GenericApp_DstAddr.endPoint = GENERICAPP_ENDPOINT;
GenericApp_DstAddr.addr.shortAddr = SampleApp_Group.ID;

//GenericApp_DstAddr.addr.shortAddr = 0xFFFF; //broadcast address 

//group add ,check the return 

groupStatus=aps_AddGroup( GENERICAPP_ENDPOINT, &SampleApp_Group );

//to check the number of group in table
count=aps_CountAllGroups(); //*always get "0"

}

f8wConfig.cfg:

/* The maximum number of groups in the groups table */
-DAPS_MAX_GROUPS=16

preprocessor:

FEATURE_RESET_MACRO
ewarm
NWK_AUTO_POLL
xPOWER_SAVING
xZTOOL_P1
MT_TASK
MT_SYS_FUNC
MT_ZDO_FUNC
xLCD_SUPPORTED=DEBUG
CC2538_USE_ALTERNATE_INTERRUPT_MAP=1
MYBOARD
OSC32K_CRYSTAL_INSTALLED=FALSE
LCD_SUPPORTED=FALSE
HAL_LCD=FALSE
HAL_PA_LNA_CC2592
HAL_PA_LNA
HAL_KEY=TRUE
HAL_LED=FALSE
NV_RESTORE
REFLECTOR

role:

EndDevice

平台:

SDK:

Z-Stack Mesh 1.0.0

IDE:

IAR 7.4.0

hi all ,

i rebuild the project, and get the number of group.

but , it can't get the group multicast.

看起來,它並沒有以multicast 封包傳送.

(像是ZigBee APS中, 應為Frame Control: 0x0C)及ZigBee NWK 中, multi cast control field 內容等)

而在AF_DataRequest 中,卻沒有看到關於multicast 的上述設定?

請問該如何修正?

//cood,set Group dest address

Group_DstAddr.addrMode = (afAddrMode_t)afAddrGroup;
Group_DstAddr.endPoint = GENERICAPP_ENDPOINT;
Group_DstAddr.addr.shortAddr = SampleApp_Group.ID;

//cood,send multi

static void GenericApp_SendTheMessage( void )
{
char theMessageData[] = "Hello World";

if ( AF_DataRequest( &Group_DstAddr, &GenericApp_epDesc,
GENERICAPP_CLUSTERID,
(byte)osal_strlen( theMessageData ) + 1,
(byte *)&theMessageData,
&GenericApp_TransID,
AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
{
// Successfully requested to be sent.
}
else
{
HalLedSet( HAL_LED_4, HAL_LED_MODE_TOGGLE );
// Error occurred in request to send.
}
}

//End,set group . add 

SampleApp_Group.ID = 0x1001;
osal_memcpy( SampleApp_Group.name, "Group 1", 7 );
Group_DstAddr.addrMode = (afAddrMode_t)afAddrGroup;
Group_DstAddr.endPoint = GENERICAPP_ENDPOINT;
Group_DstAddr.addr.shortAddr = SampleApp_Group.ID;
aps_AddGroup( GENERICAPP_ENDPOINT, &SampleApp_Group );
count=aps_CountGroups(GENERICAPP_ENDPOINT);

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top