I have an Arduino program that sends 270 analog values as byte in prefix mode , and it works fine on Bluetooth serial on B4A and B4J
I do not want to convert this to B4R as it has extensive use of interrupts
The main send routine is
But it will not work with B4j Serial in prefix mode.
So after lots of hair pulling I set up a series of tests and just logged the serial port astream buffer length (for ease I used B4jChat) using prefix and non prefix receiving where appropriate
I put a counter on the bytes sent to check send quantity.
a) Sent 40 Bytes Sent = 40 Buffer received length 129
b) Send 40 bytes in prefix mode Sent = 44 Buffer received length 109 Prefix failed java.lang.NegativeArraySizeException: -2147450880
c) Sent 20 Integers ( print send = 20) Sent = 20 x 2 Buffer received length length 159
d) Send 20 Integers as High and Low Byte Sent = 40 Buffer received length Length 86
e) Send 270 Bytes (the one working on bluetooth) Sent = 274 Buffer received length Length 276 Buffer length never logged in prefix mode
Can someone please assist...
Enclosed is Arduino test program
I do not want to convert this to B4R as it has extensive use of interrupts
The main send routine is
B4X:
void Send270Array()
{
byte b[4];
b[0] = 0; // Sending 270 items in prefix mode
b[1] = 0;
b[2] = 0b00000001; // prefix header for 270 items
b[3]= 0b00001110;
for(int j=0;j<4;j++)
Serial.write(b[j]);
for (int i = 0;i<NoVals;i++)
Serial.write(AnalogVal[i]);
}
But it will not work with B4j Serial in prefix mode.
So after lots of hair pulling I set up a series of tests and just logged the serial port astream buffer length (for ease I used B4jChat) using prefix and non prefix receiving where appropriate
I put a counter on the bytes sent to check send quantity.
a) Sent 40 Bytes Sent = 40 Buffer received length 129
b) Send 40 bytes in prefix mode Sent = 44 Buffer received length 109 Prefix failed java.lang.NegativeArraySizeException: -2147450880
c) Sent 20 Integers ( print send = 20) Sent = 20 x 2 Buffer received length length 159
d) Send 20 Integers as High and Low Byte Sent = 40 Buffer received length Length 86
e) Send 270 Bytes (the one working on bluetooth) Sent = 274 Buffer received length Length 276 Buffer length never logged in prefix mode
Can someone please assist...
Enclosed is Arduino test program