Hi,
I am working on a app that connects to a BLE device, and sends strings over the nordic uart UUID. So far, I can successfully connect to my BLE device, and send a string of less than 20 characters, that follows the format that the device is expecting. This string is accepted by the device and acts as expected.
What I am attempting to do (and where my problem lives) is sending a string that is far longer than 20 characters. This is supported by the device and using nrf connect, sending this string in 20 character chunks, successfully sends the command and the device acts as expected. For testing I have manually broken the string down into 20 character strings and have attempted to send those multiple different ways using the writestringswithresponse. I have gone so far as to assign each of those 20 character stings to a individual button that uses writestringswithresponse and pressing them in order attempting to complete the command. I have also tried using lists, the string in a single line, and a list that sends a string once a second. No luck, and a lot of frustration.
Here is a example of the longer string:
$WEAP,0,,100,0,3,18,0,,,,,,,,360,850,14,56,1400,0,7,100,100,,0,,,S07,D20,D19,,D04,D03,D21,D18,,,,,14,28,75,,*
Each character including the commas need to be sent.
From hci_snoop logs, when I send the first 20 character string using nrf connect it shows the packet as 32 bytes captured (256 bits). However, when I attempt to send the same string through the AI2 app the hci_snoop log shows 33 bytes captured (264 bits). I'll be honest here and admit that I really don't understand what all is going on when things get to this level, (actually this is all fairly new to me) but I know that the two things don't match up. Wireshark shows an additional 00 at the end of the packet sent by AI2.
Is there a way to ensure that the string is sent at only 20 characters, or a way to ensure that the packet sent does not exceed 32 bytes? Is this a bug? Is this working as intended?
Im out of hair to pull.