X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/75d440ace31c326dc80c84c3d346a425f43f1dd6..931ca42a6efc88b31cd09cebc7c74b907dd5913d:/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.c diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.c b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.c index 46cc182ec..75fe17b08 100644 --- a/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.c +++ b/Demos/Host/Incomplete/BluetoothHost/Lib/RFCOMM.c @@ -73,6 +73,7 @@ void RFCOMM_ProcessPacket(void* Data, Bluetooth_Channel_t* const Channel) const uint8_t* FrameData = (const uint8_t*)Data + sizeof(RFCOMM_Header_t); uint16_t FrameDataLen = RFCOMM_GetFrameDataLength(FrameData); + /* Adjust the frame data pointer to skip over the variable size field */ FrameData += (FrameDataLen < 128) ? 1 : 2; /* Decode the RFCOMM frame type from the header */ @@ -192,6 +193,8 @@ static void RFCOMM_ProcessControlCommand(const RFCOMM_Command_t* CommandHeader, RFCOMM_SendFrame(RFCOMM_CONTROL_DLCI, false, RFCOMM_Frame_UIH, sizeof(RFCOMM_Command_t), &Response, Channel); break; + default: + BT_RFCOMM_DEBUG(1, "<< Unknown Command"); } } @@ -242,11 +245,10 @@ static void RFCOMM_SendFrame(const uint8_t DLCI, const bool CommandResponse, con static uint8_t RFCOMM_GetFCSValue(const void* FrameStart, uint8_t Length) { - const uint8_t* CurrPos = FrameStart; - uint8_t FCS = 0xFF; + uint8_t FCS = 0xFF; for (uint8_t i = 0; i < Length; i++) - FCS = pgm_read_byte(&CRC8_Table[FCS ^ *(CurrPos++)]); + FCS = pgm_read_byte(&CRC8_Table[FCS ^ ((uint8_t*)FrameStart)[i]]); return ~FCS; }