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-CC1352P: Sub1 Not being able to send data fast enough

Part Number: LAUNCHXL-CC1352P


Hello Marie,

I managed to make progress with the packet sniffer, specifically on the 200 kbps setting. I'll be sending you some packets for your review soon.

We're employing the standard TI 15.4 stack, operating in Frequency Hopping mode within the 902.2 to 915 MHz range. Our primary objective is achieving efficient file transfers. Strangely, we're encountering a challenge with achieving satisfactory throughput. While using SmartRF Studio, we can send data at a reasonably good rate, around 6KB in 8 seconds. However, when we attempt to implement the same in our code, we're only achieving 2.5KB in 60 seconds.

We're somewhat perplexed about where we might be going wrong. Logically, even if we assume a data transfer rate of 50 kbps, that should be more than sufficient. Even if we allocate half of that throughput for errors and overhead:

50,000 bits / 8 = 6.25 KB per second.

Furthermore, if we assume a 1/3 data transfer throughput, 2.5 KB should take a maximum of 2 seconds. Could you kindly provide some guidance on what we might be missing?

Our current approach involves breaking down the data we need to transfer into smaller 64-byte packets, and we're using the sendmessage function.

Best regards,

  • Hi Nadeem,

    With SmartRF Studio you can send packets back-to-back, while the TI 15.4-Stack examples have to schedule the packets according to the spec, send/receive ACK packets etc. Using a Packet Sniffer or Logic analyzer you can see how often a packet is being transmitted. Also for frequency hopping mode, the devices hop between frequencies and for each hop they need to run the frequency synth (CMD_FS), so there is more overhead.

    What reporting/polling interval are you using when scheduling the packets?

    Cheers,

    Marie H

  • I set the report interval to 3000 for our file transfer mechanism.

    Now I am testing with basic out of the box dmm_15.4 sensor and collector example in non beacon mode. The only thing I changed is the datarate to 200 kbps.

    I see allot of bad FCS, not sure what all this sniffer data means(I tried sniffing at 50 kbps, but i cant seem to get the sniffer to work at 50kbps 902Freq range, not sure what I am doing wrong)  The funny thing is the sensor message data is coming through although there are soo many BAD FCS ...

    1 0.000000 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    2 0.002240 IEEE 802.15.4 53 Ack, Bad FCS
    3 0.007828 0xaabb 0x0004 IEEE 802.15.4 78 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    4 1.064207 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    5 1.069252 IEEE 802.15.4 53 Ack, Bad FCS
    6 2.001038 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    7 2.003284 IEEE 802.15.4 53 Ack, Bad FCS
    8 2.007828 0xaabb 0x0004 IEEE 802.15.4 78 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    9 4.003077 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    10 4.005319 IEEE 802.15.4 53 Ack, Bad FCS
    11 4.012405 0xaabb 0x0004 IEEE 802.15.4 78 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    12 4.058375 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    13 4.063419 IEEE 802.15.4 53 Ack, Bad FCS
    14 6.003044 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    15 6.005287 IEEE 802.15.4 53 Ack, Bad FCS
    16 7.058799 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    17 7.063841 IEEE 802.15.4 53 Ack, Bad FCS
    18 7.998832 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    19 8.001075 IEEE 802.15.4 53 Ack, Bad FCS
    20 10.001942 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    21 10.004185 IEEE 802.15.4 53 Ack, Bad FCS
    22 10.009763 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    23 10.059194 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    24 10.064238 IEEE 802.15.4 53 Ack, Bad FCS
    25 11.997088 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    26 11.999334 IEEE 802.15.4 53 Ack, Bad FCS
    27 12.003345 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    28 13.059646 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    29 13.064690 IEEE 802.15.4 53 Ack, Bad FCS
    30 14.003526 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    31 14.005825 IEEE 802.15.4 53 Ack, Bad FCS
    32 14.013795 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    33 15.999738 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    34 16.002083 IEEE 802.15.4 53 Ack, Bad FCS
    35 16.004796 0xaabb 0x0004 IEEE 802.15.4 78 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    36 16.057998 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    37 16.063036 IEEE 802.15.4 53 Ack, Bad FCS
    38 18.001810 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    39 18.004056 IEEE 802.15.4 53 Ack, Bad FCS
    40 18.009620 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    41 19.058449 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    42 19.063493 IEEE 802.15.4 53 Ack, Bad FCS
    43 19.997598 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    44 19.999843 IEEE 802.15.4 53 Ack, Bad FCS
    45 20.005412 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    46 21.997566 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    47 21.999814 IEEE 802.15.4 53 Ack, Bad FCS
    48 22.007437 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    49 22.057838 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    50 22.062881 IEEE 802.15.4 53 Ack, Bad FCS
    51 24.000675 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    52 24.002918 IEEE 802.15.4 53 Ack, Bad FCS
    53 25.058291 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    54 25.063334 IEEE 802.15.4 53 Ack, Bad FCS
    55 26.002717 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    56 26.004965 IEEE 802.15.4 53 Ack, Bad FCS
    57 26.010517 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    58 27.999585 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    59 28.001826 IEEE 802.15.4 53 Ack, Bad FCS
    60 28.009940 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    61 28.060820 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    62 28.065861 IEEE 802.15.4 53 Ack, Bad FCS
    63 29.998471 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    64 30.000716 IEEE 802.15.4 53 Ack, Bad FCS
    65 30.007321 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    66 31.058130 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    67 31.063205 IEEE 802.15.4 53 Ack, Bad FCS
    68 31.998438 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    69 32.000715 IEEE 802.15.4 53 Ack, Bad FCS
    70 32.006287 0xaabb 0x0004 IEEE 802.15.4 78 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    71 33.996332 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    72 33.998578 IEEE 802.15.4 53 Ack, Bad FCS
    73 34.004643 0xaabb 0x0004 IEEE 802.15.4 78 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    74 34.061670 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    75 34.066715 IEEE 802.15.4 53 Ack, Bad FCS
    76 35.997336 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    77 35.999576 IEEE 802.15.4 53 Ack, Bad FCS
    78 36.007694 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    79 37.059008 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    80 37.064053 IEEE 802.15.4 53 Ack, Bad FCS
    81 37.998340 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    82 38.000581 IEEE 802.15.4 53 Ack, Bad FCS
    83 38.005104 0xaabb 0x0004 IEEE 802.15.4 78 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    84 39.996231 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    85 39.998473 IEEE 802.15.4 53 Ack, Bad FCS
    86 40.001979 0xaabb 0x0004 IEEE 802.15.4 78 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    87 40.060502 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    88 40.065541 IEEE 802.15.4 53 Ack, Bad FCS
    89 41.997236 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    90 41.999505 IEEE 802.15.4 53 Ack, Bad FCS
    91 42.003004 0xaabb 0x0004 IEEE 802.15.4 78 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    92 43.060954 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    93 43.065993 IEEE 802.15.4 53 Ack, Bad FCS
    94 43.998272 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    95 44.000515 IEEE 802.15.4 53 Ack, Bad FCS
    96 45.997171 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    97 45.999414 IEEE 802.15.4 53 Ack, Bad FCS
    98 46.060875 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    99 46.065917 IEEE 802.15.4 53 Ack, Bad FCS
    100 48.000678 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    101 48.002927 IEEE 802.15.4 53 Ack, Bad FCS
    102 48.009544 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    103 49.062870 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    104 49.067913 IEEE 802.15.4 53 Ack, Bad FCS
    105 50.002322 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    106 50.004569 IEEE 802.15.4 53 Ack, Bad FCS
    107 50.011164 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    108 52.001251 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    109 52.003498 IEEE 802.15.4 53 Ack, Bad FCS
    110 52.006467 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    111 52.061758 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    112 52.066802 IEEE 802.15.4 53 Ack, Bad FCS
    113 53.996001 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    114 53.998241 IEEE 802.15.4 53 Ack, Bad FCS
    115 54.004886 0xaabb 0x0004 IEEE 802.15.4 78 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    116 55.061671 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    117 55.066713 IEEE 802.15.4 53 Ack, Bad FCS
    118 56.000150 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    119 56.002392 IEEE 802.15.4 53 Ack, Bad FCS
    120 56.009006 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    121 58.002191 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    122 58.004433 IEEE 802.15.4 53 Ack, Bad FCS
    123 58.008979 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    124 58.057887 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    125 58.062933 IEEE 802.15.4 53 Ack, Bad FCS
    126 59.998009 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    127 60.000249 IEEE 802.15.4 53 Ack, Bad FCS
    128 60.003185 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    129 61.063557 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    130 61.068594 IEEE 802.15.4 53 Ack, Bad FCS
    131 62.002126 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    132 62.004366 IEEE 802.15.4 53 Ack, Bad FCS
    133 62.015085 0xaabb 0x0004 IEEE 802.15.4 78 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    134 63.995837 0x0004 0xaabb IEEE 802.15.4 60 Data Request, Bad FCS
    135 63.998079 IEEE 802.15.4 53 Ack, Bad FCS
    136 64.006211 0xaabb 0x0004 IEEE 802.15.4 88 Data, Dst: 0x0004, Src: 0xaabb, Bad FCS
    137 64.059803 0x0004 0xaabb IEEE 802.15.4 130 Data, Dst: 0xaabb, Src: 0x0004, Bad FCS
    138 64.064850 IEEE 802.15.4 53 Ack, Bad FCS

  • Hi Nadeem,

    The Bad FCS messages are coming from the sniffer. Since the packets are being ACKed there is no reason to think that there is something wrong with them.

    First of all, if you want the device to send as many packets as possible you need to queue as many packets as possible. I would recommend experimenting with different values, but getting to queueing the packages with a low interval will be key.

    Since you're using DMM you will also "loose" some radio time to BLE operations. 

    Cheers,

    Marie H