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.

CC1312R: 15.4 Stack repeater implementation

Part Number: CC1312R

Hi,

I’m trying to implement a repeater with the 15.4 stack using FH. My goal is to allow sleepy devices to join the network via the repeater and exchange messages with the PAN Coordinator through the repeater.

I’m using the collector example project as a starting point with combined CLLC and JDLLC as discussed in another forum thread. 

So far I’ve managed to join the repeater to the PAN Coordinator and then execute a sendStartReq() with startReq.panCoordinator = false 

The repeater seems to be working fine when only 1 channel is enabled in the FH Channel masks settings. It receives and responds to PAS and PCS frames, responds to association requests and routes messages. 

The problem comes when I try to increase the channel count. The repeater still joins the network, starts the CLLC, receives and responds to PAS and PCS frames, but responds to the sleepy device on a wrong channel. My guess is that it responds on the PAN Coordinator channel instead of the sleepy device’s. This results in messages being received, but only responded to randomly, only when the sleepy sensor’s fixed channel matches with the PAN Coordinator current channel. 

For example the sleepy device would receive an association confirmation after anywhere from 1 to 20 attempts when 10 channels are enabled. 

I would appreciate it if you give me some ideas on how to solve this problem.

Thanks,

Nikolay

  • Hi Nikolay,

    As I understand it, the sleepy devices do not change channels by themselves but follow that of the collector/PAN coordinator. When it wakes up it sends a poll request with what fixed channel it will use to send the data. It is strange that the nodes don't seem to be in the same channel as the PAN coordinator. 

    Have you been able to confirm that the sensor node is receiving the channel-hopping sequence information?

    What configurations are you using for Frequency hopping on the collector and sensor?

    Regards,

    Marvin

  • Hi Marvin,

    I think the sensor node receives the channel-hopping sequence since it sends association requests correctly after receiving a Pan Config and the repeater receives the requests every time. The problem is that it doesn’t get ApiMac_assocStatus_success in assocCnfCb(), but ApiMac_status_noData = 0xEB instead and only randomly manages to connect to the collector after many attempts. Also after joining the sensor is sending data to the repeater correctly, but only randomly getting responses to its poll requests

    I’m using default settings except 

    Phy - Type 5 kbps, SimpleLink Long Range and both channel masks set to 0-10 ( 902.2 - 904.2 )

  • Hi Nikolay,

    Apologize for the delay.

    Can you use a sniffer to log the frames being sent and send it here?

    May I ask why you set startReq.panCoordinator = false?

    Regards,

    Marvin

  • Hi,

    Here’s a snippet running the network on 3 channels (902.2, 902.4, 902.6) with 3 sniffers : 


    00:12:4b:00:1c:a0:f5:0f  - sensor

    00:12:4b:00:1c:aa:36:f8 - repeater

    00:12:4b:00:1c:a0:f6:f9  - collector

    The problem seems to be that the repeater is not always responding to Data Requests immediately and not always on the same channel.

    Packets 13298-13302 show proper communication.

    The other highlighted packets show either no response or response on a wrong channel

    Any ideas what might cause this?

    I set the startReq.panCoordinator = false since I saw it discussed in this thread

    CC1310: My plan to add router functionality to the TI 15.4 stack - Sub-1 GHz forum - Sub-1 GHz - TI E2E support forums

    Thanks,

    Nikolay



  • Hi Nikolay,

    The PAS and PCS are Async messages. They are transmitted on all channels, so receiving them is understandable. 

    But the data exchanges happen on just one channel. This happens on the receiver's current channel. 

    This means that the transmitter needs to know the hopping pattern of the receiver and then estimates which channel the receiver is at the present moment and transmits on that channel.

    Since the 15.4 network is designed to be a star network, the behavior you are observing might be because of the fact that the repeater transmits on the Coordinators channel no matter where the message is coming from.

    Have you been able to make the other modes (non beacon/beacon mode) work with the repeater?


    Regards,

    Sid