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.

CC1350: Send an array from sensor node to collector

Part Number: CC1350


Hi,

I´m having a problem when I try to send array (type INT size 64) sensor node to a gatewaway. I don´t receive any data in collector

My Hardware is:

  • MSP432E4 acts as a host devive;
  • CC1350 as a MAC CoProcessor;
  • CC1350 as a sensor node.

I´m using TI 15.4 - Stack Gateway to IBM example in MSP432E4 and TI 15.4 - Stack sensor example.

I follow this wiki http://processors.wiki.ti.com/index.php/Adding_New_Sensor_Support_To_Sub1GHz_Sensor_To_Cloud_Linux_Gateway

If I create a struct like that:

/*!
 Generic_Sensor Field
 */
typedef struct _Smsgs_genericsensorfield_t
{
    /*! Raw Sensor Data 1 read out of Generic sensor */
    int16_t genericRawData1;
    /*! Raw Sensor Data 2 read out of Generic senso */
    uint16_t genericRawData2;
    /*! Raw Sensor Data 3 read out of Generic senso */
    uint16_t genericRawData3;
} Smsgs_genericSensorField_t;

 Everthing works but if I create a struct like this:

/*!
 Generic_Sensor Field
 */
typedef struct _Smsgs_genericsensorfield_t
{
    /*! Raw Sensor Data 1 read out of Generic sensor */
    int16_t genericRawData1[64];

} Smsgs_genericSensorField_t;

it doesn´t work( I change the length of data in other files sensor.c, ssf.c, ssf.h, smsgs.h and in the collector as well)

I think the problem is in collector because when the sensor join the network in debug mode im able to check data "Sensor_msgStats" and I have the message send successful.

If anyone had this problem before let me know how to solve that and if need some source file let me know.

Thank you,

Hélio Pereira

  • have you checked in the collector side to see if the function "dataIndCB" gets called once the data is received? have you checked with a sniffer to see if the data is actually being sent over the air?
  • have you checked in the collector side to see if the function "dataIndCB" gets called once the data is received?
    After the sensor join the network this function gets called but only one time.

    have you checked with a sniffer to see if the data is actually being sent over the air?
    I don´t have another launchpad and I think the sensor only send data after joining the network.

    If I send array of size 32 (int16_t genericRawData1[32]) it works. I can send the data in blocks of 32 if I dont find a solution for that.
  • The 15.4 Stack solution with the MSP432E4 doesn't support the transfer of large data packets and I believe a block of [64] int16_t might be just over the packet limit you could try to send a block of 50 or just keep increasing the block size from 32 until you find the maximum.