The setup:
- At the device side: MSP430F5438A, Buetopia V1.4, uBleu2 Bluetooth SIP Module.
- At the PC side: Buetooth dongle, USB hub, windows application.
- A UART rate 460800 8N1 is used.
- The Bluetopia code is from the SPPDEMO without any change.
- I’m working without operating system
After a connection session and some commands run at the application level, an endless steam is generated at the MSP and sent to the windows application.
The stream is sent on packets of 260 bytes every 40 milliseconds.
In between every second, additional packet is sent and can be at variable length ans can reach the 1Kbyte.
There is no any hand shake at the application layer and the windows application does not send any data at this time.
The problem from user experience:
The windows application stops receiving data.
More details:
After a while, the SPP_Data_Write() return value is less than required.
At this time, as explained at the comments of this function, I stop try to send and wait for the etPort_Transmit_Buffer_Empty_Indication event.
But this event does not receive at all.
I’m using the SPP_Event_Callback() to catch the event. That set as a callback parameter when _open_server() is called.
The BTPS_ProcessScheduler() is called from the main loop.