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.

LAUNCHXL-CC1310: Sensor-Collector send "burst" data caused by external interrupt

Part Number: LAUNCHXL-CC1310
Other Parts Discussed in Thread: CC1310

Hi,

I am using CC1310 TI15.4 Sensor-Collector with SDK 4_10_01_01, as non-beacon sleepy low power sensor.

While the sensor sends data using the reporting timeout event, the collector receives the data successfully (no packet loss on the collector side).

While keeping the reporting sequence between the sensor and the collector, I need to send a "burst" packet from sensor to collector, due to sensor external interrupt.

I am experiencing some packets loss that are not received by the collector.

1. Can I send data from sensor to collector as "burst" packet sending? Does it needs to be synced some how with the sensor reporting interval sending?

2. Is there a preferred way to send a "burst" packet from sensor to collector?

3. Is there any limitation for the collector to receive and handle simultaneous multiple "burst" packets sent by several sensors (more then 20 sensor)?

Regards

Dani

  • After setting up a third CC1310 board as a SA13x0 Spectrum Analyzer, I can see that some times the sensor is not transmitting.

    Checking the returned value from ApiMac_mcpsDataReq(&dataReq)  (called from Sensor_sendMsg, in file sensor.c), I get error 0x1A,

    and the sensor fails to transmit.

    From the ApiMac_status_t enum (in file api_mac.h):

    /*!
    The operation could not be completed because no
    memory resources were available
    */
    ApiMac_status_noResources = 0x1A,

    What this error means?

    How can I overcome this error?

    Thanks for your help an guidance.

    Dani

  • Hi Dani,

    Sounds like your Tx queue might be full. You could increase the queue size.

    The collector can only receive one packet at a time. To avoid collisions over the air, the sensors use a CSMA/CCA approach to check that the channel is clear before transmitting.

    Cheers,

    Marie H

  • Hi Marie,

    I have changed the queue size:

    /* maximum number of data frames in transmit queue */
    #ifndef MAC_CFG_TX_DATA_MAX
    #define MAC_CFG_TX_DATA_MAX 8
    #endif

    /* maximum number of frames of all types in transmit queue */
    #ifndef MAC_CFG_TX_MAX
    #define MAC_CFG_TX_MAX 8
    #endif

    Many thanks for your help.

    Dani