Skip to main content
LeoGrany
Associate II
February 20, 2021
Solved

[STM32WB] [Zigbee] Device type: Router vs End device

  • February 20, 2021
  • 4 replies
  • 1726 views

Hello,

I have ran two examples of Zigbee applications on Nucleo STM32WB.

One with end device device type and the other one with router device type (both with FFD stack).

I have registered the node on my existing Zigbee network.

I can see that the device type of the node is changing but when I look at the code, I could not find any difference (in app_zigbee.c).

Can you point at to me where the device type is set in the code?

Thank you for your answer,

Best regards,

Léo

PS: is there a complete documentation of the API/stack available where I can find that kind of information?

This topic has been closed for replies.
Best answer by LeoGrany

Hello,

I have figured it out. Device type is set by setting or not end device parameters.

 /* Add Sleepy End device configuration */
 config.capability &= ~(MCP_ASSOC_CAP_RXONIDLE | MCP_ASSOC_CAP_DEV_TYPE | MCP_ASSOC_CAP_ALT_COORD);
 config.endDeviceTimeout = 1*SED_SLEEP_TIME_30S /* 1 x (30sec sleep time unit) => 30s sleepy cycle */;

Best,

Léo

4 replies

ST Technical Moderator
February 25, 2021

Hello @Léo Granier​ ,

I advise you to follow this application note AN5506 Getting started with Zigbee® on STM32WB Series, which guides you to build specific Zigbee applications and explains how to interface with the STM32WB Series microcontroller.

I hope this resource is helpful for you.

Imen

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
LeoGrany
LeoGranyAuthor
Associate II
February 25, 2021

Hello @Imen DAHMEN​ ,

Thank you for your answer.

Unfortunately, I have been through AN5506 documentation (and I have read all ressources available that I could find - I could have missed some but not this one).

I could not find the information I need in this documention.

Is there a complete documentation of the API available somewhere?

I really cannot see where the role is set in the code. I can see that the router/end device can only join a network and cannot form one (vs a coordinator). But I cannot see in the code itself where the end device/router role is set.

Best regards,

Léo

ST Technical Moderator
March 3, 2021

​Hi @Léo Granier​ ,

Honestly, this is not my area of expertise but I added the topic "STM32WB" to your question in order to increase its chance to be reviewed by our STM32WB experts.

Hello @Remi QUINTIN​ ,

Can you please help @Léo Granier​ on this issue ?

Imen

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
LeoGrany
LeoGranyAuthorBest answer
Associate II
March 14, 2021

Hello,

I have figured it out. Device type is set by setting or not end device parameters.

 /* Add Sleepy End device configuration */
 config.capability &= ~(MCP_ASSOC_CAP_RXONIDLE | MCP_ASSOC_CAP_DEV_TYPE | MCP_ASSOC_CAP_ALT_COORD);
 config.endDeviceTimeout = 1*SED_SLEEP_TIME_30S /* 1 x (30sec sleep time unit) => 30s sleepy cycle */;

Best,

Léo