This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1352P: ApiMac_mlmeSetRegBool(ApiMac_attribute_RxOnWhenIdle,false) not effective

Part Number: CC1352P
Other Parts Discussed in Thread: SYSCONFIG

Hi,

My application is based on SimpleLink SDK v4.20.

I need to make CC1352 work under two different RF, send and receive for 2.4GHz ZigBee most of the time, and occasionally send BLE data.

In the previous test, I found that I could not switch directly to the sending of BLE when ZigBee receiving was turned on.

Then I used the function in the api_mac library

ApiMac_mlmeSetRegBool(ApiMac_attribute_RxOnWhenIdle, false);
, set RF to IDLE, and sent BLE.

This works most of the time, but occasionally there is a problem: the function doesn't work.

I tried to get the return value of the function and used

ApiMac_mlmeGetRegBool(ApiMac attribute RxOnWhenIdle, &state);
to get the flag bit, and the result was that the function had taken effect and RF was IDLE, but ZigBee rx could still trigger an interrupt at this time.

In my code, from setting RF to IDLE state to sending BLE as blocking.

In another test, I paused the task for 10 seconds after setting RF to IDLE, commenting on all other code that opened RX, but still occasionally received ZigBee data,

the code is:

When the function fails:

So my question is:

Is there other way to ensure that RF can enter IDLE?

Thank you.