- const RFCOMM_Command_t* CommandHeader = (const RFCOMM_Command_t*)Command;
- const uint8_t* CommandData = (const uint8_t*)Command + sizeof(RFCOMM_Command_t);
-
- switch (CommandHeader->Command)
- {
- case RFCOMM_Control_Test:
- BT_RFCOMM_DEBUG(1, "<< TEST Command");
- break;
- case RFCOMM_Control_FlowControlEnable:
- BT_RFCOMM_DEBUG(1, "<< FCE Command");
- break;
- case RFCOMM_Control_FlowControlDisable:
- BT_RFCOMM_DEBUG(1, "<< FCD Command");
- break;
- case RFCOMM_Control_ModemStatus:
- BT_RFCOMM_DEBUG(1, "<< MS Command");
- break;
- case RFCOMM_Control_RemotePortNegotiation:
- BT_RFCOMM_DEBUG(1, "<< RPN Command");
- break;
- case RFCOMM_Control_RemoteLineStatus:
- BT_RFCOMM_DEBUG(1, "<< RLS Command");
- break;
- case RFCOMM_Control_DLCParameterNegotiation:
- BT_RFCOMM_DEBUG(1, "<< DPN Command");
-
- // TODO - Set channel state
-// RFCOMM_Channel_t* RFCOMMChannel = RFCOMM_GetChannelData(
-// RFCOMMChannel->Configured = true;
-
- // TODO - send ACK/NAK response
- break;
- default:
- BT_RFCOMM_DEBUG(1, "<< Unknown Command");
-
- struct
- {
- RFCOMM_Command_t Header;
- RFCOMM_Command_t Command;
- } Response =
- {
- .Header = (RFCOMM_Command_t)
- {
- .Command = RFCOMM_Control_NonSupportedCommand,
- .CR = true,
- .EA = true,
- },
-
- .Command = *CommandHeader,
- };
-
- RFCOMM_SendFrame(RFCOMM_CONTROL_DLCI, false, RFCOMM_Frame_UIH, sizeof(RFCOMM_Command_t), &Response, Channel);
- break;
- }