- Bluetooth_Channel_t* ChannelData = Bluetooth_InitChannelData(ConnectionRequest.SourceChannel, ConnectionRequest.PSM);\r
- \r
- ConnectionResponse.Result = (ChannelData == NULL) ? BT_CONNECTION_REFUSED_RESOURCES : BT_CONNECTION_SUCCESSFUL;\r
- ConnectionResponse.DestinationChannel = ChannelData->LocalNumber;\r
- ConnectionResponse.SourceChannel = ChannelData->RemoteNumber;\r
- ConnectionResponse.Status = 0x00;\r
-\r
- Pipe_Write_Stream_LE(ACLPacketHeader, sizeof(*ACLPacketHeader));\r
- Pipe_Write_Stream_LE(DataHeader, sizeof(*DataHeader));\r
- Pipe_Write_Stream_LE(SignalCommandHeader, sizeof(*SignalCommandHeader));\r
- Pipe_Write_Stream_LE(&ConnectionResponse, sizeof(ConnectionResponse));\r
- \r
- Pipe_ClearOUT(); \r
- Pipe_Freeze();\r
- \r
- #if (ACL_DEBUG_LEVEL > 1)\r
- BT_ACL_DEBUG("Packet Sent", NULL);\r
- BT_ACL_DEBUG("-- Connection Handle: 0x%04X", (ACLPacketHeader->ConnectionHandle & 0x0FFF));\r
- BT_ACL_DEBUG("-- Data Length: 0x%04X", ACLPacketHeader->DataLength);\r
- BT_ACL_DEBUG("-- Destination Channel: 0x%04X", DataHeader->DestinationChannel);\r
- BT_ACL_DEBUG("-- Payload Length: 0x%04X", DataHeader->PayloadLength); \r
- #endif\r
- #if (ACL_DEBUG_LEVEL > 0)\r
- BT_ACL_DEBUG(">> L2CAP Connection Response", NULL);\r
- #endif\r
- #if (ACL_DEBUG_LEVEL > 1)\r
- BT_ACL_DEBUG("-- Source Channel: 0x%04X", ConnectionResponse.SourceChannel);\r
- BT_ACL_DEBUG("-- Destination Channel: 0x%04X", ConnectionResponse.DestinationChannel);\r
- #endif\r
+ Bluetooth_Channel_t* ChannelData = Bluetooth_InitChannelData(ConnectionRequest.SourceChannel, ConnectionRequest.PSM);\r
+\r
+ struct\r
+ {\r
+ BT_Signal_Header_t SignalCommandHeader;\r
+ BT_Signal_ConnectionResp_t ConnectionResponse;\r
+ } ResponsePacket;\r
+\r
+ ResponsePacket.SignalCommandHeader.Code = BT_SIGNAL_CONNECTION_RESPONSE;\r
+ ResponsePacket.SignalCommandHeader.Identifier = SignalCommandHeader->Identifier;\r
+ ResponsePacket.SignalCommandHeader.Length = sizeof(ResponsePacket.ConnectionResponse);\r
+ ResponsePacket.ConnectionResponse.Result = (ChannelData == NULL) ? BT_CONNECTION_REFUSED_RESOURCES : BT_CONNECTION_SUCCESSFUL;\r
+ ResponsePacket.ConnectionResponse.DestinationChannel = ChannelData->LocalNumber;\r
+ ResponsePacket.ConnectionResponse.SourceChannel = ChannelData->RemoteNumber;\r
+ ResponsePacket.ConnectionResponse.Status = 0x00;\r
+ \r
+ Bluetooth_SendPacket(&ResponsePacket, sizeof(ResponsePacket), NULL);\r
+\r
+ BT_ACL_DEBUG(1, ">> L2CAP Connection Response", NULL);\r
+ BT_ACL_DEBUG(2, "-- Result: 0x%02X", ResponsePacket.ConnectionResponse.Result);\r
+ BT_ACL_DEBUG(2, "-- Source Channel: 0x%04X", ResponsePacket.ConnectionResponse.SourceChannel);\r
+ BT_ACL_DEBUG(2, "-- Destination Channel: 0x%04X", ResponsePacket.ConnectionResponse.DestinationChannel);\r