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.

CC1352R: Implementatio using FH Mode and Asynchronuous mode

Part Number: CC1352R
Other Parts Discussed in Thread: CC1352P,

Hi,
We are developing a Sub-1GHz development for CC1352R and CC1352P
Following is the  requirements:
 
1. One Hub should handle 100 Edge Sensors.
2. The Edge sensor batteries should work for one year, we are using AA batteries (3.6v 4400mA). The update rate for each sensor is 5 minutes which is configurable up to 24 hours. It should report the temperature every 5 minutes to the Hub.
3. We are using CC1352R in Edge Sensors and CC1352P in the Hub.
To achieve the above requirement we are implementing FH Mode, where we can connect 100 sensors to a collector.
We are facing the following issues, kindly help us on resolving these issues, we are one step ahead to get a big order from a customer, but the above functionality to be proven, for that we need your support to resolve these issue and also we need to your support on validating whether our implementation is incorrect direction or not.
And we are using Asynchronous mode to send data from the collector, where sensor polls to the collector to get data from Collector.
Issues as follows.
Is our approach of FH mode chosen for this requirement is correct?
1. The collector sending PAN configuration information to the sensor, but the sensor not able to receive that data.
2. When we switch off and switch on the collector, the sensors connected previously are taking a long time (some times 1 hour) or not connecting again.
3. The very first time the sensor is taking a too long time to pair with the collector in FH Mode, some times one minute and some times half-en hour and more too.
4. Some times the data sent by the collector is not receiving by the sensor, we removed the config message and the tracking from collector to make this work, is our approach is correct?
5. When we do unpair a sensor, without intimating to the sensor, the sensor details are deleting from the collector, still, collector collecting data from the same sensor.
6. When the sensor goes to orphan mode, after rejoining with the collector is unable to send data to the collector, getting failed ACK from collector.
7. When we send data to collector from sensor, collector receiving data and processing data but sensor getting failed acknowledgment.
We are using simple link SDK version 2.20.00.71 for the above development.
Kindly help us and reply to the above queries.
Regards,
Somaraju
  • I note that you are using a pre RTM version of the SDK. Please update the SDK and hardware to the released version. 

  • Dear Guru,

    Thank you, but now we cannot immediately, from next version of hardware we can do that.

    How can we deal with this with the current situation?

    We have the following queries.

    1.  How many sensors can be connected to in FH mode?

    2.  How many sensors can be connected in Non-Beacon mode?

    And which one is the best approach?

    Regards,

    Somaraju

  • Part Number: CC1352P

    Tool/software: TI-RTOS

    Hi,

    I am working on TI 15.4 Stack Collector and sensor codes with an application and my application has store and forward in collector with external flash. So that my main intension is not to  loose data from sensors.

    1.My question is how many sensors can i connect to collector in non beacon mode and how many sensors can i connect in FH mode. In example code the list is given as 50 but i need to connect 100 sensors which mode should i use in order not to loose data from sensors my reporting time is 5 minutes minimum. 

    Note: I made config max devices macro in collector code as 100 and connected 55 sensors in non beacon mode and kept 1 minute interval for 12 hours i had no issues in data receiving in collector, but what if i connect 100 sensors and collector restarts will all the sensors connected to collector could able to send data?

    2. And we are facing joining issues in FH mode so we could not able to connect more sensors in this mode. And with in the limited (4)sensors also we are facing data inconsistency in FH mode some sensors with particular reporting time say 1 minute we could not able to receive all the data for 12 hours. 

    The possible reasons are for data inconsistency we found In data conformation call back for both sensor and collector are we kept debug messages.

    In Colelctor

    1. ApiMAc Status Transmission expired in collector when ever data collector tries to send 

    2. some times if we send data from collector to a sensor, we get ApiMAc Status success in collector but not receiving the message in sensor side. This is not same in all times, like 2 in 10 times

    In sensor

    3. some times if we send data from sensor to a collector, we get ApiMAc Status ACK failure in sensor but collector receive three times the message may be this is due to retry from stack level. This is  like 4 in 10 times.

    4. some times if we send data from sensor to a collector, we get ApiMAc Status other data request failure in sensor and collector did not receive data. This is much higher 6 in 10.

    Could any one suggest possible solutions to the above queries

    Thanks and regards

    Haricharan

  • Hi Somaraju, Haricharan,

    100 nodes is feasible in either mode, please refer to the following E2E threads and ensure that you are increasing the correct definitions:

    https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz/f/156/t/688083
    https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz/f/156/t/534371

    Next, you will want to be sure to stagger the joining and data reporting of the sensors as to not overload the collector at any given point.  It is important that the  device report and poll delays are as as long as possible for the application.  This SLA describes the effect of each: http://dev.ti.com/tirex/content/simplelink_academy_cc13x2_26x2sdk_3_10_01_00/modules/154-stack/154-stack_01_sensor_collector/154-stack_01_sensor_collector.html

    Refer to the configuration parameters and specific mode descriptions for a more clear idea of what macros can be changed inside of the stack: http://dev.ti.com/tirex/content/simplelink_cc13x2_26x2_sdk_3_10_01_11/docs/ti154stack/html/ti154stack/example-applications.html#configuration-parameters

    Non-beacon mode will be easier to manage given the number of end devices involved, frequency hopping communication effectiveness also varies based on the number of channels involved.

    Regards,
    Ryan

  • HI Ryan,

    Sorry for the late reply,

    Thank you for your support,

    We will follow the links you posted, i am getting one more problem in FH mode 

    After 10 sensors are paired to collector, sensors send some data to collector. I had put collector off for over night and then i made collector on in the next day then only 2 sensors are joined back and sending data for remaining sensors i restart sensors 2 more are connected and sending data remaining sensors are not connected still why this behaviour is happening. 

    I used sensors as sleepy devices and in collector  i made following changes in cllc.c file 

    In cllc_init(): i commented the following and add the following

    /* set PIB to FH coordinator */
    // ApiMac_mlmeSetFhReqUint8(ApiMac_FHAttribute_unicastChannelFunction, 2);
    // ApiMac_mlmeSetFhReqUint8(ApiMac_FHAttribute_broadcastChannelFunction,
    // 2);

    ApiMac_mlmeSetFhReqUint8(ApiMac_FHAttribute_unicastChannelFunction, 0);
    ApiMac_mlmeSetFhReqUint8(ApiMac_FHAttribute_broadcastChannelFunction,
    0);

    which means this is fixed channel.

    Thanks & Regards

    Haricharan

  • Hi Haricharan,

    What other changes have you made in the collector project, do you apply the same changes to the sensor project, and does the behavior still occur if the default parameters are used?

    Regards,
    Ryan

  • Hi Brown,

    I have attached config.h file of collector and in our application we don't require tracking,broadcast and config so those intervals are made zero. And polling is made as per application requirement in sensor code.

    The change in collector is also made in sensor. Previously with the following line in cllc.c 

     /* set PIB to FH coordinator */
    ApiMac_mlmeSetFhReqUint8(ApiMac_FHAttribute_unicastChannelFunction, 2);
    ApiMac_mlmeSetFhReqUint8(ApiMac_FHAttribute_broadcastChannelFunction,
    2);

    The same issue i faced which i mentioned in previous ticket.

    After changing also i had same issue.

     /* set PIB to FH coordinator */
    ApiMac_mlmeSetFhReqUint8(ApiMac_FHAttribute_unicastChannelFunction, 2);
    ApiMac_mlmeSetFhReqUint8(ApiMac_FHAttribute_broadcastChannelFunction,
    0);

    3022.config.h

  • Please set FH_BROADCAST_DWELL_TIME to zero if you would like to disable broadcast messages.  Also, ApiMac_FHAttribute_unicastFixedChannel should be set if you are using the fixed channel function. https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz/f/156/p/806830/2989835#2989835 

    Regards,
    Ryan

  • Hi Ryan Brown,

    We followed your suggestion and  set FH_BROADCAST_DWELL_TIME to zero and

      /* set PIB to FH coordinator */
    ApiMac_mlmeSetFhReqUint8(ApiMac_FHAttribute_unicastChannelFunction, 0);
    ApiMac_mlmeSetFhReqUint8(ApiMac_FHAttribute_broadcastChannelFunction,
    0);

    and we use  packet sniffer to check where the data is missing.

    Here 

    we conducted following test 

    we paired 10 sensors and power off the collector and on after 5 minutes.

    then sensor is sending PCS

    collector receives that and send PC  and checked the return value of  ApiMac_mlmeWSAsyncReq(&asyncReq); as success in collector log but in packet sniffer that Packet is not seen and even sensor does not receive. I am attaching the following to the above statements

    Why PC from collector is not received by PACKET Sniffer or Sensor even when the collector sends and it gets status as success?

    some times the same happens with association also.

    Thanks and regards 

    Haricharan

  • Hi Harichan,

    Did you set a ApiMac_FHAttribute_unicastFixedChannel as requested previously and is your sensor and packet sniffer tuned to this channel?  ApiMac_mlmeWSAsyncReq returning success means the request was correctly transported to the radio layer but this does not indicate that it was successfully transmitted over-the-air or on the correct channel.  Trouble after a restart could indicate a NV memory issue.

    Regards,
    Ryan

  • Any updates on this?

    Please let us know if you require further support.