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);
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
steven lin2:
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);