+void RFCOMM_SendChannelSignals(const RFCOMM_Channel_t* const RFCOMMChannel, Bluetooth_Channel_t* const BluetoothChannel)
+{
+ BT_RFCOMM_DEBUG(1, ">> MSC Command");
+ BT_RFCOMM_DEBUG(2, "-- DLCI 0x%02X", RFCOMMChannel->DLCI);
+
+ struct
+ {
+ RFCOMM_Command_t CommandHeader;
+ uint8_t Length;
+ RFCOMM_MSC_Parameters_t Params;
+ } MSCommand;
+
+ MSCommand.CommandHeader = (RFCOMM_Command_t){.Command = RFCOMM_Control_ModemStatus, .EA = true, .CR = true};
+ MSCommand.Length = (sizeof(MSCommand.Params) << 1) | 0x01;
+ MSCommand.Params.Channel = (RFCOMM_Address_t){.DLCI = RFCOMMChannel->DLCI, .EA = true, .CR = true};
+ MSCommand.Params.Signals = RFCOMMChannel->Local.Signals;
+ MSCommand.Params.BreakSignal = RFCOMMChannel->Local.BreakSignal;
+
+ /* Send the MSC command to the remote device */
+ RFCOMM_SendFrame(RFCOMM_CONTROL_DLCI, true, RFCOMM_Frame_UIH, sizeof(MSCommand), &MSCommand, BluetoothChannel);
+}
+