aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Device/Incomplete/TestAndMeasurement
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2010-08-09 10:20:10 +0000
committerDean Camera <dean@fourwalledcubicle.com>2010-08-09 10:20:10 +0000
commit508e905d8d39c3968927aa2c1a45350f49452df1 (patch)
tree5778bfd686fd5acdc1b60f483005f824bbe81688 /Demos/Device/Incomplete/TestAndMeasurement
parentbe520aed52239bd6091df4b3cdd816df8f0d4750 (diff)
downloadlufa-508e905d8d39c3968927aa2c1a45350f49452df1.tar.gz
lufa-508e905d8d39c3968927aa2c1a45350f49452df1.tar.bz2
lufa-508e905d8d39c3968927aa2c1a45350f49452df1.zip
Removed complicated logic for the Endpoint_ConfigureEndpoint() function to use inlined or function called versions depending of if the given bank size is a compile time constant, as the compiler does a better job of optimizing with basic code.
Changed over all device demos to use a clearer algorithm for the configuring of the application's endpoints.
Diffstat (limited to 'Demos/Device/Incomplete/TestAndMeasurement')
-rw-r--r--Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c31
1 files changed, 10 insertions, 21 deletions
diff --git a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c
index e174aa998..94b86873f 100644
--- a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c
+++ b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c
@@ -118,29 +118,18 @@ void EVENT_USB_Device_Disconnect(void)
*/
void EVENT_USB_Device_ConfigurationChanged(void)
{
- LEDs_SetAllLEDs(LEDMASK_USB_READY);
+ bool ConfigSuccess = true;
/* Setup TMC In, Out and Notification Endpoints */
- if (!(Endpoint_ConfigureEndpoint(TMC_IN_EPNUM, EP_TYPE_BULK,
- ENDPOINT_DIR_IN, TMC_IO_EPSIZE,
- ENDPOINT_BANK_SINGLE)))
- {
- LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
- }
-
- if (!(Endpoint_ConfigureEndpoint(TMC_OUT_EPNUM, EP_TYPE_BULK,
- ENDPOINT_DIR_OUT, TMC_IO_EPSIZE,
- ENDPOINT_BANK_SINGLE)))
- {
- LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
- }
-
- if (!(Endpoint_ConfigureEndpoint(TMC_NOTIFICATION_EPNUM, EP_TYPE_INTERRUPT,
- ENDPOINT_DIR_IN, TMC_NOTIFICATION_EPSIZE,
- ENDPOINT_BANK_SINGLE)))
- {
- LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
- }
+ ConfigSuccess &= Endpoint_ConfigureEndpoint(TMC_IN_EPNUM, EP_TYPE_BULK, ENDPOINT_DIR_IN,
+ TMC_IO_EPSIZE, ENDPOINT_BANK_SINGLE);
+ ConfigSuccess &= Endpoint_ConfigureEndpoint(TMC_OUT_EPNUM, EP_TYPE_BULK, ENDPOINT_DIR_OUT,
+ TMC_IO_EPSIZE, ENDPOINT_BANK_SINGLE);
+ ConfigSuccess &= Endpoint_ConfigureEndpoint(TMC_NOTIFICATION_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
+ TMC_IO_EPSIZE, ENDPOINT_BANK_SINGLE);
+
+ /* Indicate endpoint configuration success or failure */
+ LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
}
/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific