forked from mfulz_github/qmk_firmware
Delay needed in bluetooth code due to the send function not waiting for the pipe bank to become ready before writing. Add in a call to Pipe_WaitUntilReady() to fix the issue.
This commit is contained in:
parent
a405a9bdf8
commit
13d812a718
|
@ -32,7 +32,6 @@
|
|||
TODO: Make SendPacket respect receiver's MTU
|
||||
TODO: Make ReceivePacket stitch together MTU fragments (?)
|
||||
TODO: Add channel opened/closed callbacks
|
||||
TODO: Figure out why delay is needed in connection for services
|
||||
*/
|
||||
|
||||
#define INCLUDE_FROM_BLUETOOTH_ACLPACKETS_C
|
||||
|
@ -228,8 +227,10 @@ uint8_t Bluetooth_SendPacket(void* Data, const uint16_t DataLen, Bluetooth_Chann
|
|||
DataHeader.DestinationChannel = (Channel == NULL) ? BT_CHANNEL_SIGNALING : Channel->RemoteNumber;
|
||||
|
||||
Pipe_SelectPipe(BLUETOOTH_DATA_OUT_PIPE);
|
||||
|
||||
Pipe_WaitUntilReady();
|
||||
Pipe_Unfreeze();
|
||||
|
||||
|
||||
/* Write the packet contents to the pipe so that it can be sent to the remote device */
|
||||
Pipe_Write_Stream_LE(&ACLPacketHeader, sizeof(ACLPacketHeader));
|
||||
Pipe_Write_Stream_LE(&DataHeader, sizeof(DataHeader));
|
||||
|
@ -369,8 +370,6 @@ static inline void Bluetooth_Signal_ConnectionReq(const BT_Signal_Header_t* cons
|
|||
BT_ACL_DEBUG(2, "-- PSM: 0x%04X", ConnectionRequest.PSM);
|
||||
BT_ACL_DEBUG(2, "-- Source Channel: 0x%04X", ConnectionRequest.SourceChannel);
|
||||
|
||||
_delay_ms(15); // TODO - Determine why this is needed
|
||||
|
||||
/* Try to retrieve the existing channel's information structure if it exists */
|
||||
Bluetooth_Channel_t* ChannelData = Bluetooth_GetChannelData(ConnectionRequest.SourceChannel, CHANNEL_SEARCH_REMOTENUMBER);
|
||||
|
||||
|
|
Loading…
Reference in New Issue