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.

Compiler/CC1310: CC1310 RF core

Part Number: CC1310

Tool/software: TI C/C++ Compiler

Hi,

I have a question about RF core. I use the sensor example CC1310 (FH mode - LRM). After five connection attempts, I want to get the sensor to the lowest power consumption. I know that RF_close() stops RF core, but I'm wondering in which RF_Handle I use (the sensor example does not contain it)? I am interested in what the code for stopping RF core and then for restart looks like.

Best regards

  • I have assigned someone to help you with your questions.

    BR

    Siri

  • Hi,

    It is not necessary for you to control the RF core in this way. The RF core will only stay powered as long as is needed to perform its commands. 

    In general the examples found in the SimpleLink CC13x0 SDK are written in a way that will conserve energy, e.g. the device will go to sleep if there are no more tasks to perform. 

  • Thanks for this info.

    Sometimes I also have a problem that the RF core should reset because it doesn’t connect after a while (in the case of a manual reset it connects right away).

    How could I do that?

  • Hi,

    I think it is highly unlikely that your issue is with the RF core. If you can explain me a bit more about your application and the issue you are seeing I can try to help you.

  • Hi,

    I have a case, when the sensor disconnect from the collector. After a long time, when the collector is available again, it refuses to reconnect to the collector. The sensor refuses to connect until it is reset with the button. A quick solution would be to reset the RF core because the SysCtrlSystemReset () function does not solve the problem. I think it's the same problem ().

    Best regards,

  • Hi,

    Per default the application will only join the network once. If you want it to disassociate and rejoin you can use the Jdllc_rejoin() API in your application.

  • Hi,

    after a while I use SysCtrlSystemReset(), which means I use Jdllc_rejoin () again, but the sensor still doesn't connect.

    I think the solution would be to reset the RF core. How could I do this to try if this would solve the problem?

    Best regards

  • Hi,

    by printing via UART I see that a PAS message is being sent from the sensor but not receiving a PA message from the collector. Any idea what could be wrong and how to solve this?

    Best regards,

  • Hi,

    Sorry for the delayed answer,

    After a reset the sensor most likely is in orphan mode, meaning it will scan for longer before rejoining. Can you check your back-off interval? If it's very long can you set it to a lower value an retest?

  • Hi,

    Even if the sensor does not remember the network (nv restore off)? I currently have the value set to CONFIG_SCAN_BACKOFF_INTERVAL  5000, CONFIG_ORPHAN_BACKOFF_INTERVAL 10000. What values do you suggest to me?

    Best regards,

  • Hi,

    Can you do a test with both set to 1000? Just for debugging purposes.

  • I tried but after waking up the sensor still does not listen to the right channel.
    The solution I was looking for is shown below. In this case, the sensor receives PA and PC messages each time it wakes up. Could this code pose a problem?

    Code:

            

    ApiMac_mlmeSetReqBool(ApiMac_attribute_RxOnWhenIdle, true);
    
            /* set PIB to enable fixed channel*/
            ApiMac_mlmeSetFhReqUint8(ApiMac_FHAttribute_unicastChannelFunction,
                                     0);
            ApiMac_mlmeSetFhReqUint8(
                            ApiMac_FHAttribute_broadcastChannelFunction, 0);
    
            /* set fixed channel in FH PIB */
            ApiMac_mlmeSetFhReqUint16(ApiMac_FHAttribute_unicastFixedChannel,
                                                  (uint16_t) getFHSleepNodeHopChannel());
    
            /* Start FH */
            ApiMac_startFH();
            
            Util_setEvent(&Sensor_events, SENSOR_START_EVT);

    Best regards,
  • Hi,

    You can use the code snippet you posted. However in most cases where you want to use FH you would want to use it from start, that's why our FH example is written the way it is written.