/* Event handler for the CDC Class driver Host-to-Device Line Encoding Changed event. */
void EVENT_CDC_Device_ControLineStateChanged(USB_ClassInfo_CDC_Device_t *const CDCInterfaceInfo)
/* Event handler for the CDC Class driver Host-to-Device Line Encoding Changed event. */
void EVENT_CDC_Device_ControLineStateChanged(USB_ClassInfo_CDC_Device_t *const CDCInterfaceInfo)
{
	static bool PreviousDTRState = false;
	bool        CurrentDTRState  = (CDCInterfaceInfo->State.ControlLineStates.HostToDevice & CDC_CONTROL_LINE_OUT_DTR);
	if (!(PreviousDTRState) && CurrentDTRState)
	{
		LEDs_SetAllLEDs(LEDMASK_BUSY);
		AVR_RESET_LINE_DDR |= AVR_RESET_LINE_MASK;
		PulseMSRemaining.ResetPulse = AVR_RESET_PULSE_MS;
	}
	PreviousDTRState = CurrentDTRState;
}