I am using a Xbee3 LTE-m Module with micropython scripts. I am running into a strange issue where I can only send 255 bytes of a 348 byte string through the secondary UART. I have verified with a logic analyzer that only 255 leave the module. I can print the string, and I can also print two halves separately. I also verified that I still have enough RAM available. I am stumped!! Here is an example of what doesn’t work:
Example string:
TestString = ‘{“a”:“1234563400417E2B63”,
“b”:“0100FCFFF10000008403010001111100”,
“c”:“0100020001000200000020C1000020410000C8C20000C8420000
0100020001000200000020C1000020410000C8C20000C842000001000
20001000200000020C1000020410000C8C20000C84200000100020001
000200000020C1000020410000C8C20000C84200FF010002000100020
0000020C1000020410000C8C20000C8420000”,
“d”: “2C012C01”}’
Test Code:
self.secUart = UART(1, 115200)
self.secUart.init(115200, bits=8, parity=None, stop=1, timeout=1, timeout_char = 1)
print("TestString: “,TestString)
print(” len: ",len(TestString))
bcount = self.secUart.write(TestString)
print("bytesSent: ", bcount)
bcount = self.secUart.write(TestString)
print("bytesSent: ", bcount)
OUTPUT:
TestString: {“a”:“1234563400417E2B63”,
“b”:“0100FCFFF10000008403010001111100”,
“c”:“0100020001000200000020C1000020410000C8C20000C8420000
0100020001000200000020C1000020410000C8C20000C842000001000
20001000200000020C1000020410000C8C20000C84200000100020001
000200000020C1000020410000C8C20000C84200FF010002000100020
0000020C1000020410000C8C20000C8420000”,
“d”: “2C012C01”}
len: 348
bytesSent: 255
bytesSent: 0