I need help.
I have a device that sends data (images of 20kB) at 115200 bds via an UART connected to a bluetooth module. I try to receive these data with a Nokia 6680 through a bluetooth SPP connection.
Once I am connected, if my device sends some data (<3KB for example) I am able to receive them with the mobile. Otherwise some data are missing. It seems that the maximum data available in the stream is 512 Bytes, and this "buffer" overflows if I am not able to read the data fast enough, and that is the case. Even using the readBuffer() method.
I thought about different solutions without success:
- using an inputstream -> same result
- using a bytearrayinputstream related to a 20k Bytes buffer -> how to connect it from a connector? there is no available method...
- increase this input buffer size -> does anybody know if there is a way to do this? This would be the solution...
- disable all hidden running threads that would occupy the system to concentrate on the data reception -> I don't know how and which ones...
If I slow down the data flow to 57600 or 28800 bds, it still doesn't work. But it works at 9600 bds... but it's very slow... too slow... around 20 seconds!
I must precise two things:
- I am not far from device (<1m)
- I am convinced it is feasible because sometimes all the data are received and the received image is correct. but this is very rare... (<10%)
Any idea, solution is welcome!!!
Thank you all for your help...
Have a nice day