diff --git a/Demos/Host/Incomplete/BluetoothHost/BluetoothEvents.c b/Demos/Host/Incomplete/BluetoothHost/BluetoothEvents.c
index 82e347fc334875bca67220634c95c45c352841e9..b523b46e35bf2f4196e423b068a5dc2456aafd5e 100644
--- a/Demos/Host/Incomplete/BluetoothHost/BluetoothEvents.c
+++ b/Demos/Host/Incomplete/BluetoothHost/BluetoothEvents.c
@@ -122,7 +122,7 @@ bool Bluetooth_ChannelConnectionRequest(const uint16_t PSM)
 /** Bluetooth stack callback event for when a Bluetooth ACL channel has been fully created and configured,
  *  either at the request of the local device, or the remote device.
  *
- *  \param[in] Channel  Bluetooth ACL data channel information structure for the channel that can now be used
+ *  \param[in] ACLChannel  Bluetooth ACL data channel information structure for the channel that can now be used
  */
 void Bluetooth_ChannelOpened(Bluetooth_Channel_t* const ACLChannel)
 {
@@ -134,9 +134,9 @@ void Bluetooth_ChannelOpened(Bluetooth_Channel_t* const ACLChannel)
 /** Bluetooth stack callback event for a non-signal ACL packet reception. This callback fires once a connection
  *  to a remote Bluetooth device has been made, and the remote device has sent a non-signalling ACL packet.
  *
- *  \param[in] Data     Pointer to a buffer where the received data is stored
- *  \param[in] DataLen  Length of the packet data, in bytes
- *  \param[in] Channel  Bluetooth ACL data channel information structure for the packet's destination channel
+ *  \param[in] Data        Pointer to a buffer where the received data is stored
+ *  \param[in] DataLen     Length of the packet data, in bytes
+ *  \param[in] ACLChannel  Bluetooth ACL data channel information structure for the packet's destination channel
  */
 void Bluetooth_PacketReceived(void* Data, uint16_t DataLen, Bluetooth_Channel_t* const ACLChannel)
 {
@@ -154,17 +154,23 @@ void Bluetooth_PacketReceived(void* Data, uint16_t DataLen, Bluetooth_Channel_t*
 	}
 }
 
+/** RFCOMM layer callback for event for when a RFCOMM logical channel has been fully opened and configured between
+ *  the local and remote device. Once open, this RFCOMM channel can be read from and written to freely until is it
+ *  closed by either end.
+ *
+ *  \param[in] RFCOMMChannel  RFCOMM channel that was opened
+ */ 
 void RFCOMM_ChannelOpened(RFCOMM_Channel_t* const RFCOMMChannel)
 {
 	/* Save the serial port RFCOMM logical channel for later use */
 	SerialChannel_RFCOMM = RFCOMMChannel;
 }
 
-/** RFCOMM layer callback for when a packet is received on an open RFCOMM channel.
+/** RFCOMM layer callback event for when a packet is received on an open RFCOMM channel.
  *
- *  \param[in] Channel  RFCOMM channel that the data was directed to
- *  \param[in] DataLen  Length of the received data, in bytes
- *  \param[in] Data     Pointer to a buffer where the received data is stored
+ *  \param[in] ACLChannel  RFCOMM ACL channel that the data was directed to
+ *  \param[in] DataLen     Length of the received data, in bytes
+ *  \param[in] Data        Pointer to a buffer where the received data is stored
  */
 void RFCOMM_DataReceived(RFCOMM_Channel_t* const ACLChannel, uint16_t DataLen, const uint8_t* Data)
 {
@@ -176,6 +182,11 @@ void RFCOMM_DataReceived(RFCOMM_Channel_t* const ACLChannel, uint16_t DataLen, c
 	RFCOMM_SendData(DataLen, Data, SerialChannel_RFCOMM, SerialChannel_ACL);
 }
 
+/** RFCOMM layer callback event for when the remote device has updated the channel terminal control signals
+ *  for a particular RFCOMM channel.
+ *
+ *  \param[in] RFCOMMChannel  RFCOMM logical channel whose signals were altered
+ */ 
 void RFCOMM_ChannelSignalsReceived(RFCOMM_Channel_t* const RFCOMMChannel)
 {
 	// Currently do nothing in response to the remote device sending new terminal control signals
diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothACLPackets.c b/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothACLPackets.c
index b8686893a98eceeae546d56ad9e167b29f28d97a..989eba07c82ff723978350571bf33efe750ac100 100644
--- a/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothACLPackets.c
+++ b/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothACLPackets.c
@@ -246,10 +246,10 @@ Bluetooth_Channel_t* Bluetooth_GetChannelData(const uint16_t SearchValue, const
 
 /** Sends a packet to the remote device on the specified channel.
  *
- * \param[in] Data     Pointer to a buffer where the data is to be sourced from
- * \param[in] DataLen  Length of the data to send
- * \param[in] Channel  Channel information structure containing the destination channel's information, NULL to send
- *                     to the remote device's signalling channel
+ * \param[in] Data        Pointer to a buffer where the data is to be sourced from
+ * \param[in] DataLen     Length of the data to send
+ * \param[in] ACLChannel  ACL channel information structure containing the destination channel's information, NULL
+ *                        to send to the remote device's signalling channel
  *
  * \return A value from the \ref BT_SendPacket_ErrorCodes_t enum
  */
@@ -263,7 +263,7 @@ uint8_t Bluetooth_SendPacket(void* Data, const uint16_t DataLen, Bluetooth_Chann
 	  return BT_SENDPACKET_NotConnected;
 
 	/* If the destination channel is not the signalling channel and it is not currently fully open, abort */
-	if ((ACLChannel == NULL) || (ACLChannel->State != BT_Channel_Open))
+	if ((ACLChannel != NULL) && (ACLChannel->State != BT_Channel_Open))
 	  return BT_SENDPACKET_ChannelNotOpen;
 
 	/* Fill out the packet's header from the remote device connection information structure */
@@ -366,7 +366,7 @@ Bluetooth_Channel_t* Bluetooth_OpenChannel(const uint16_t PSM)
  *        returned channel is unusable by the user application upon return however the channel is not completely
  *        closed until its State element has progressed to the Closed state.
  *
- * \param[in,out] Channel  Channel information structure of the channel to close
+ * \param[in,out] ACLChannel  ACL channel information structure of the channel to close
  */
 void Bluetooth_CloseChannel(Bluetooth_Channel_t* const ACLChannel)
 {
diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/SDP.c b/Demos/Host/Incomplete/BluetoothHost/Lib/SDP.c
index 1c55959fbc372f5325f7366ab4b2621ad70fb5fd..ce2ea48dc02931c9bb56f96ed3b7effc550300cb 100644
--- a/Demos/Host/Incomplete/BluetoothHost/Lib/SDP.c
+++ b/Demos/Host/Incomplete/BluetoothHost/Lib/SDP.c
@@ -474,10 +474,10 @@ static bool SDP_SearchServiceTable(uint8_t UUIDList[][UUID_SIZE_BYTES], const ui
 /** Recursively upwraps the given locally stored attribute (in PROGMEM space), searching for UUIDs to match against
  *  the given UUID list. As matches are found, they are indicated in the UUIDMatch flag list.
  *
- *  \param[in]      UUIDList       List of UUIDs which must be matched within the service attribute table
- *  \param[in]      TotalUUIDs     Total number of UUIDs stored in the UUID list
- *  \param[in, out] UUIDMatch      Array of flags indicating which UUIDs in the list have already been matched
- *  \param[in]      CurrAttribute  Pointer to the current attribute to search through
+ *  \param[in]      UUIDList        List of UUIDs which must be matched within the service attribute table
+ *  \param[in]      TotalUUIDs      Total number of UUIDs stored in the UUID list
+ *  \param[in, out] UUIDMatchFlags  Array of flags indicating which UUIDs in the list have already been matched
+ *  \param[in]      CurrAttribute   Pointer to the current attribute to search through
  *
  *  \return True if all the UUIDs given in the UUID list appear in the given attribute table, false otherwise
  */