2024-01-18 03:55 AM - edited 2024-01-18 04:48 AM
Hi,
I'm using a STM32WB55RG Nucleo and STM32WB55 USB Dongle. I programmed the nucleo as FTD and write 2 sources and programmed the usb as MTD and write 2 sources that exactly the same with FTD. I'm trying to send coap messages from FTD to MTD so this is my message flow Nucleo(as leader) --> USB (as end device). As I said I write my sources properly and test my code as both of them(Nucleo and USB) are FTD. It works but when I programmed the USB dongle as MTD, the usb dongle does not get the coap messages. I'm sending my messages as Multicast from FTD. How can I solve this problem?
Best regards.
Solved! Go to Solution.
2024-01-18 05:37 AM
I found the solution. The problem occurs the sleepy end device mode configuration. In app_thread.c there is a function named "APP_THREAD_DeviceConfig". At the beginning of this function, you can find the configuration:
otLinkModeConfig OT_LinkMode = {0};
/* Set the sleepy end device mode */
OT_LinkMode.mRxOnWhenIdle = 1;
OT_LinkMode.mDeviceType = 0;
OT_LinkMode.mNetworkData = 1U;
If you change the "OT_LinkMode.mRxOnWhenIdle" value 0 to 1, MTD device will get the coap message.
Best regards.
2024-01-18 05:37 AM
I found the solution. The problem occurs the sleepy end device mode configuration. In app_thread.c there is a function named "APP_THREAD_DeviceConfig". At the beginning of this function, you can find the configuration:
otLinkModeConfig OT_LinkMode = {0};
/* Set the sleepy end device mode */
OT_LinkMode.mRxOnWhenIdle = 1;
OT_LinkMode.mDeviceType = 0;
OT_LinkMode.mNetworkData = 1U;
If you change the "OT_LinkMode.mRxOnWhenIdle" value 0 to 1, MTD device will get the coap message.
Best regards.