From 33f3ec44a4792d055ca4722a38b1e76d87cae5f0 Mon Sep 17 00:00:00 2001 From: Dean Date: Tue, 21 Jul 2009 02:48:41 +0000 Subject: Add explicit guards to all device mode tasks to ensure the device is connected and configured before running the task, to prevent any user tasks from locking up the main USB task if the device has not been properly configured. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@673 d5102386-fcda-11dd-9fdb-3debd5008f28 --- Demos/Device/LowLevel/DualCDC/DualCDC.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Demos/Device/LowLevel/DualCDC/DualCDC.c') diff --git a/Demos/Device/LowLevel/DualCDC/DualCDC.c b/Demos/Device/LowLevel/DualCDC/DualCDC.c index 1031068a..862945e6 100644 --- a/Demos/Device/LowLevel/DualCDC/DualCDC.c +++ b/Demos/Device/LowLevel/DualCDC/DualCDC.c @@ -229,6 +229,10 @@ void CDC1_Task(void) uint8_t JoyStatus_LCL = Joystick_GetStatus(); static bool ActionSent = false; + /* Device must be connected and configured for the task to run */ + if (!(USB_IsConnected) || !(USB_ConfigurationNumber)) + return; + char* JoystickStrings[] = { "Joystick Up\r\n", @@ -288,6 +292,10 @@ void CDC1_Task(void) */ void CDC2_Task(void) { + /* Device must be connected and configured for the task to run */ + if (!(USB_IsConnected) || !(USB_ConfigurationNumber)) + return; + /* Select the Serial Rx Endpoint */ Endpoint_SelectEndpoint(CDC2_RX_EPNUM); -- cgit v1.2.3