forked from mfulz_github/qmk_firmware
Add a new RFCOMM service callback for when new data has been received on a valid RFCOMM channel.
This commit is contained in:
parent
70983caea5
commit
c37fd0ef91
|
@ -154,3 +154,16 @@ void Bluetooth_PacketReceived(void* Data, uint16_t DataLen, Bluetooth_Channel_t*
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** RFCOMM layer callback for when a packet is received on an open RFCOMM channel.
|
||||||
|
*
|
||||||
|
* \param[in] RFCOMMChannel 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
|
||||||
|
*/
|
||||||
|
void RFCOMM_DataReceived(RFCOMM_Channel_t* const RFCOMMChannel, uint16_t DataLen, const uint8_t* Data)
|
||||||
|
{
|
||||||
|
/* Write the received bytes to the serial port */
|
||||||
|
for (uint8_t i = 0; i < DataLen; i++)
|
||||||
|
putchar(Data[i]);
|
||||||
|
}
|
||||||
|
|
|
@ -352,11 +352,9 @@ static void RFCOMM_ProcessUIH(const RFCOMM_Address_t* const FrameAddress, const
|
||||||
BT_RFCOMM_DEBUG(1, "<< UIH Received");
|
BT_RFCOMM_DEBUG(1, "<< UIH Received");
|
||||||
BT_RFCOMM_DEBUG(2, "-- DLCI 0x%02X", FrameAddress->DLCI);
|
BT_RFCOMM_DEBUG(2, "-- DLCI 0x%02X", FrameAddress->DLCI);
|
||||||
BT_RFCOMM_DEBUG(2, "-- Length 0x%02X", FrameLength);
|
BT_RFCOMM_DEBUG(2, "-- Length 0x%02X", FrameLength);
|
||||||
|
|
||||||
puts("RFCOMM Data: ");
|
|
||||||
|
|
||||||
for (uint8_t i = 0; i < FrameLength; i++)
|
RFCOMM_Channel_t* RFCOMMChannel = RFCOMM_GetChannelData(FrameAddress->DLCI);
|
||||||
printf("0x%02X (%c) ", FrameData[i], FrameData[i]);
|
|
||||||
|
|
||||||
printf("\r\n");
|
if (RFCOMMChannel != NULL)
|
||||||
|
RFCOMM_DataReceived(RFCOMMChannel, FrameLength, FrameData);
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,6 +107,8 @@
|
||||||
void RFCOMM_SendChannelSignals(const RFCOMM_Channel_t* const RFCOMMChannel,
|
void RFCOMM_SendChannelSignals(const RFCOMM_Channel_t* const RFCOMMChannel,
|
||||||
Bluetooth_Channel_t* const BluetoothChannel);
|
Bluetooth_Channel_t* const BluetoothChannel);
|
||||||
|
|
||||||
|
void RFCOMM_DataReceived(RFCOMM_Channel_t* const RFCOMMChannel, uint16_t DataLen, const uint8_t* Data);
|
||||||
|
|
||||||
RFCOMM_Channel_t* RFCOMM_GetFreeChannelEntry(const uint8_t DLCI);
|
RFCOMM_Channel_t* RFCOMM_GetFreeChannelEntry(const uint8_t DLCI);
|
||||||
RFCOMM_Channel_t* RFCOMM_GetChannelData(const uint8_t DLCI);
|
RFCOMM_Channel_t* RFCOMM_GetChannelData(const uint8_t DLCI);
|
||||||
uint16_t RFCOMM_GetVariableFieldValue(const uint8_t** BufferPos);
|
uint16_t RFCOMM_GetVariableFieldValue(const uint8_t** BufferPos);
|
||||||
|
|
Loading…
Reference in New Issue