Other Parts Discussed in Thread: SYSCONFIG, Z-STACK,
I am trying to change NWK_INDIRECT_MSG_TIMEOUT from its default value of 7 seconds to 30 seconds.
First I changed the value in SysConfig Z-Stack -> Advanced -> Routing settings. This changed this line in ti_zstack_config.h:
#define NWK_INDIRECT_MSG_TIMEOUT 30
NWK_INDIRECT_MSG_TIMEOUT is referenced by this initialization code in zglobals.c:
uint8_t zgIndirectMsgTimeout = NWK_INDIRECT_MSG_TIMEOUT;
I could see that zgIndirectMsgTimeout was initialized to (30) here, but later on some library code changes it back to (7).
After some research I realized that zgIndirectMsgTimeout was being overridden by the System Config variables (Zstackapi_sysConfigReadReq() / Zstackapi_sysConfigWriteReq()). So, I added some code to use Zstackapi_sysConfigWriteReq() to set the indirectMsgTimeout variable to (30). Now, zgIndirectMsgTimeout is initialized to (30), and remains at (30) during operation.
However, even though zgIndirectMsgTimeout is at (30), the device (coordinator) behaves as if this value is (7). For example, if I queue a message for a sleepy end device, the message is sent to the device if it sends DataRequest 5 seconds after the message is queued, and the message is dropped if the end device sends DataRequest 10 seconds after the message is queued.
Please advise how the indirect message timeout can be changed.
I am using zc_sampleapp_LP_CC2651P3_tirtos7_ticlang (simplelink_cc13xx_cc26xx_sdk_6_41_00_17).
Thanks,
Andy