cancel
Showing results for 
Search instead for 
Did you mean: 

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

LeoGrany
Associate II

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?

1 ACCEPTED SOLUTION

Accepted Solutions
LeoGrany
Associate II

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

View solution in original post

4 REPLIES 4
Imen.D
ST Employee

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

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
LeoGrany
Associate II

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

​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

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
LeoGrany
Associate II

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