This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Open Mesh radio_signal_callback busy loop

I was having some troubles using the app_timer (RTC1) shortly after mesh startup, so I enabled the PIN_IN_CB and PIN_IN_TS debug pins, and saw some interesting behavior.

image description

My app periodically calls rbc_mesh_enable(). On the first enable, it looks like everything is fine, and we're in the timeslot with what looks like random infrequent calls to the callback.

After calling rbc_mesh_disable(), waiting about 100ms ,and then calling rbc_mesh_enable(), there is a period of ~20ms that looks ok, followed by a period of very frequent callbacks to radio_signal_callback that lasts about 66ms. During this time, I do not receive any RTC1 callbacks.

Any ideas what this might be?

Parents
  • Hi Pete,

    I can see the same issue here. We will investigate further. One thing you can change is to increase TIMESLOT_SLOT_EXTEND_LENGTH_US and see if it would occurs less often. Commenting out the extending code is not recommended. We will check why there is such a long busy loop.

    19ms maybe is the result of 10ms initial timeslot and 01 extension, just my guess.

Reply
  • Hi Pete,

    I can see the same issue here. We will investigate further. One thing you can change is to increase TIMESLOT_SLOT_EXTEND_LENGTH_US and see if it would occurs less often. Commenting out the extending code is not recommended. We will check why there is such a long busy loop.

    19ms maybe is the result of 10ms initial timeslot and 01 extension, just my guess.

Children
No Data
Related