Thread THCI Network Event Field Definitions

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Thread THCI Network Event Field Definitions

ソリューションへジャンプ
1,452件の閲覧回数
ryanbryngelson
Contributor I
What are the values in the EnergyDetectList array (what do they mean, what units, etc.) in an THR_EventNwkScan.Confirm?  For example...
RX: THR_EventNwkScan.Confirm 02 CF 50 2B 00 00 01 00 26 00 00 F8 FF 07 03 03 0A 00 10 43 77 6D 4D 2D 3D 7A 77 40 19 20 36 43 23 23 3A 02 01 00 BE FC 11 87 01 00 98 73 1A 3B AA
Sync [1 byte] = 02
OpGroup [1 byte] = CF
OpCode [1 byte] = 50
Length [2 bytes] = 00 2B
InstanceId [1 byte] = 00
EventStatus [2 bytes] = 00 01 (ScanResult)
DataSize [2 bytes] = 00 26
ScanChannelMask [4 bytes] = 07 FF F8 00
ScanType [1 byte] = 03 (EnergyDetectAndActiveScan)
ScanDuration [1 byte] = 03
maxThrNwkToDiscover [2 bytes] = 00 0A
EnergyDetectEntries [1 byte] = 10
EnergyDetectList [16 bytes] = [43, 77, 6D, 4D, 2D, 3D, 7A, 77, 40, 19, 20, 36, 43, 23, 23, 3A]
NwkDiscoveryEntries [1 byte] = 02
NumOfRcvdBeacons [2 bytes] = 00 01
PanId [2 bytes] = FC BE
Channel [1 byte] = 11
Reserved [1 byte] = 87
NumOfRcvdBeacons [2 bytes] = 00 01
PanId [2 bytes] = 73 98
Channel [1 byte] = 1A
Reserved [1 byte] = 3B
CRC [1 byte] = AA
What are the 201 bytes returned in a THR_EventNwkCreate.Confirm's Data field.  What does an EventStatus of SelectBestChannel indicate?  How do you force a network to be created on a specific channel?  For example...
RX: THR_EventNwkCreate.Confirm 02 CF 51 CE 00 00 03 00 C9 00 00 00 02 00 03 02 1E 00 01 00 00 00 CC 35 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 74 2B
Sync [1 byte] = 02
OpGroup [1 byte] = CF
OpCode [1 byte] = 51
Length [2 bytes] = 00 CE
InstanceId [1 byte] = 00
EventStatus [2 bytes] = 00 03 (SelectBestChannel)
DataSize [2 bytes] = 00 C9
Data [201 bytes] = [00, 00, 02, 00, 03, 02, 1E, 00, 01, 00, 00, 00, CC, 35, 00, 20, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 74]
CRC [1 byte] = 2B
The events that come through THCI_EvMonitor (in thci.c), are they defined anywhere?  THR_EventGeneral.Confirm and THR_EventNwkCommissioning.Indication are defined in the THCI reference manual, but seemingly not anywhere else.
Thanks,
Ryan
ラベル(1)
0 件の賞賛
1 解決策
1,227件の閲覧回数
jc_pacheco
NXP Employee
NXP Employee

Hello Ryan, 

- What are the values in the EnergyDetectList array (what do they mean, what units, etc.) in an THR_EventNwkScan.Confirm?

EnergyDetectList [16 bytes]  Displays the resulting list of the energy detected (hex) in the channels provided in "ScanChannelMask" when queried "THR_NwkScanRequest". These results are in dBm * (-1).  

ie. [43, 77, 6D,..] -->  [-67 dBm, -119 dBm, -109 dBm, ...]

- What are the 201 bytes returned in a THR_EventNwkCreate.Confirm's Data field.  

This data is the evntMonitorData_t --> aData[] (thrEventData_t) information resulted from the ChannelScan.

Which includes NwkScanResults, MacReceivedDifferentKeyIndex, BeaconInformation.

The size will depend on the number of channels to be scanned.

ie. If there's only 1 channel to scan: 201, if there are 16 channels to scan: 216

Last 1 (min) or 16(max) bytes contain the Energy Detect results per channel.

- What does an EventStatus of SelectBestChannel indicate?  

That the Network will be created based on the performed Channel Scan results from scanning the channel mask

(THR_SCANCHANNEL_MASK) to detect the less congested channel.

- How do you force a network to be created on a specific channel?

Prior creating the network, manually set an specific channel and panid. When this is performed, you will notice that the THR_EventNwkCreate.Confirm with Status of "SelectBestChannel" will be omitted.

ie.

shell:

   "thr set channel 17"

   "thr set panid 0x1234"

thcd:

   "THR_SetAttrRequest(AttributeID='Channel', Value = '17') "

   "THR_SetAttrRequest(AttributeID='ShortPanId', Value = '0x1234') "

Hope this helps,

JC

元の投稿で解決策を見る

0 件の賞賛
4 返答(返信)
1,228件の閲覧回数
jc_pacheco
NXP Employee
NXP Employee

Hello Ryan, 

- What are the values in the EnergyDetectList array (what do they mean, what units, etc.) in an THR_EventNwkScan.Confirm?

EnergyDetectList [16 bytes]  Displays the resulting list of the energy detected (hex) in the channels provided in "ScanChannelMask" when queried "THR_NwkScanRequest". These results are in dBm * (-1).  

ie. [43, 77, 6D,..] -->  [-67 dBm, -119 dBm, -109 dBm, ...]

- What are the 201 bytes returned in a THR_EventNwkCreate.Confirm's Data field.  

This data is the evntMonitorData_t --> aData[] (thrEventData_t) information resulted from the ChannelScan.

Which includes NwkScanResults, MacReceivedDifferentKeyIndex, BeaconInformation.

The size will depend on the number of channels to be scanned.

ie. If there's only 1 channel to scan: 201, if there are 16 channels to scan: 216

Last 1 (min) or 16(max) bytes contain the Energy Detect results per channel.

- What does an EventStatus of SelectBestChannel indicate?  

That the Network will be created based on the performed Channel Scan results from scanning the channel mask

(THR_SCANCHANNEL_MASK) to detect the less congested channel.

- How do you force a network to be created on a specific channel?

Prior creating the network, manually set an specific channel and panid. When this is performed, you will notice that the THR_EventNwkCreate.Confirm with Status of "SelectBestChannel" will be omitted.

ie.

shell:

   "thr set channel 17"

   "thr set panid 0x1234"

thcd:

   "THR_SetAttrRequest(AttributeID='Channel', Value = '17') "

   "THR_SetAttrRequest(AttributeID='ShortPanId', Value = '0x1234') "

Hope this helps,

JC

0 件の賞賛
1,227件の閲覧回数
flaminatakam
Contributor II

please,

how to choose the right scan channel? i have tried to use the default one set in test tool but i have not obtained result

Thanks

0 件の賞賛
1,227件の閲覧回数
ryanbryngelson
Contributor I

Also, what are the possible values for EventStatus?

0 件の賞賛
1,227件の閲覧回数
jc_pacheco
NXP Employee
NXP Employee

Those are Network Create Events. See: thrEvCodesCreate_t

0 件の賞賛