diff options
Diffstat (limited to 'Demos')
6 files changed, 70 insertions, 21 deletions
diff --git a/Demos/Device/Incomplete/TestAndMeasurement/Config/LUFAConfig.h b/Demos/Device/Incomplete/TestAndMeasurement/Config/LUFAConfig.h index 3b33e2d04..da728ec29 100644 --- a/Demos/Device/Incomplete/TestAndMeasurement/Config/LUFAConfig.h +++ b/Demos/Device/Incomplete/TestAndMeasurement/Config/LUFAConfig.h @@ -85,6 +85,39 @@ // #define NO_AUTO_VBUS_MANAGEMENT // #define INVERTED_VBUS_ENABLE_LINE + #elif (ARCH == ARCH_XMEGA) + + /* Non-USB Related Configuration Tokens: */ +// #define DISABLE_TERMINAL_CODES + + /* USB Class Driver Related Tokens: */ +// #define HID_HOST_BOOT_PROTOCOL_ONLY +// #define HID_STATETABLE_STACK_DEPTH {Insert Value Here} +// #define HID_USAGE_STACK_DEPTH {Insert Value Here} +// #define HID_MAX_COLLECTIONS {Insert Value Here} +// #define HID_MAX_REPORTITEMS {Insert Value Here} +// #define HID_MAX_REPORT_IDS {Insert Value Here} +// #define NO_CLASS_DRIVER_AUTOFLUSH + + /* General USB Driver Related Tokens: */ + #define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_RC32MCLKSRC | USB_OPT_BUSEVENT_PRIHIGH) +// #define USB_STREAM_TIMEOUT_MS {Insert Value Here} +// #define NO_LIMITED_CONTROLLER_CONNECT +// #define NO_SOF_EVENTS + + /* USB Device Mode Driver Related Tokens: */ +// #define USE_RAM_DESCRIPTORS + #define USE_FLASH_DESCRIPTORS +// #define USE_EEPROM_DESCRIPTORS +// #define NO_INTERNAL_SERIAL + #define FIXED_CONTROL_ENDPOINT_SIZE 8 +// #define DEVICE_STATE_AS_GPIOR {Insert Value Here} + #define FIXED_NUM_CONFIGURATIONS 1 +// #define CONTROL_ONLY_DEVICE + #define MAX_ENDPOINT_INDEX 4 +// #define NO_DEVICE_REMOTE_WAKEUP +// #define NO_DEVICE_SELF_POWER + #else #error Unsupported architecture for this LUFA configuration file. diff --git a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c index bd972e27f..4bd702701 100644 --- a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c +++ b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c @@ -93,12 +93,24 @@ int main(void) /** Configures the board hardware and chip peripherals for the demo's functionality. */ void SetupHardware(void) { +#if (ARCH == ARCH_AVR8) /* Disable watchdog if enabled by bootloader/fuses */ MCUSR &= ~(1 << WDRF); wdt_disable(); /* Disable clock division */ clock_prescale_set(clock_div_1); +#elif (ARCH == ARCH_XMEGA) + /* Start the PLL to multiply the 2MHz RC oscillator to 32MHz and switch the CPU core to run from it */ + XMEGACLK_StartPLL(CLOCK_SRC_INT_RC2MHZ, 2000000, F_CPU); + XMEGACLK_SetCPUClockSource(CLOCK_SRC_PLL); + + /* Start the 32MHz internal RC oscillator and start the DFLL to increase it to 48MHz using the USB SOF as a reference */ + XMEGACLK_StartInternalOscillator(CLOCK_SRC_INT_RC32MHZ); + XMEGACLK_StartDFLL(CLOCK_SRC_INT_RC32MHZ, DFLL_REF_INT_USBSOF, F_USB); + + PMIC.CTRL = PMIC_LOLVLEN_bm | PMIC_MEDLVLEN_bm | PMIC_HILVLEN_bm; +#endif /* Hardware Initialization */ LEDs_Init(); diff --git a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.h b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.h index ed0203343..0c86cc882 100644 --- a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.h +++ b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.h @@ -1,7 +1,7 @@ /* LUFA Library Copyright (C) Dean Camera, 2013. - + dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ @@ -9,13 +9,13 @@ /* Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com) - Permission to use, copy, modify, distribute, and sell this + Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in + without fee, provided that the above copyright notice appear in all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the software without specific, written prior permission. The author disclaims all warranties with regard to this @@ -39,8 +39,9 @@ #include "Descriptors.h" - #include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/Board/LEDs.h> + #include <LUFA/Drivers/USB/USB.h> + #include <LUFA/Platform/Platform.h> /* Macros: */ /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ @@ -54,7 +55,7 @@ /** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */ #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) - + /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ #define LEDMASK_USB_BUSY LEDS_LED2 @@ -66,14 +67,14 @@ #define Req_CheckClearStatus 0x06 #define Req_GetCapabilities 0x07 #define Req_IndicatorPulse 0x40 - + #define TMC_STATUS_SUCCESS 0x01 #define TMC_STATUS_PENDING 0x02 #define TMC_STATUS_FAILED 0x80 #define TMC_STATUS_TRANSFER_NOT_IN_PROGRESS 0x81 #define TMC_STATUS_SPLIT_NOT_IN_PROGRESS 0x82 #define TMC_STATUS_SPLIT_IN_PROGRESS 0x83 - + #define TMC_MESSAGEID_DEV_DEP_MSG_OUT 0x01 #define TMC_MESSAGEID_DEV_DEP_MSG_IN 0x02 #define TMC_MESSAGEID_DEV_VENDOR_OUT 0x7E @@ -86,7 +87,7 @@ uint8_t Reserved; uint16_t TMCVersion; - + struct { unsigned ListenOnly : 1; @@ -94,17 +95,17 @@ unsigned PulseIndicateSupported : 1; unsigned Reserved : 5; } Interface; - + struct { unsigned SupportsAbortINOnMatch : 1; unsigned Reserved : 7; } Device; - + uint8_t Reserved2[6]; - uint8_t Reserved3[12]; + uint8_t Reserved3[12]; } TMC_Capabilities_t; - + typedef struct { uint8_t LastMessageTransaction; @@ -125,7 +126,7 @@ uint8_t InverseTag; uint8_t Reserved; uint32_t TransferSize; - + union { TMC_DevOUTMessageHeader_t DeviceOUT; diff --git a/Demos/DualRole/ClassDriver/MouseHostDevice/MouseHostDevice.c b/Demos/DualRole/ClassDriver/MouseHostDevice/MouseHostDevice.c index 620e809b4..f7c3c01ce 100644 --- a/Demos/DualRole/ClassDriver/MouseHostDevice/MouseHostDevice.c +++ b/Demos/DualRole/ClassDriver/MouseHostDevice/MouseHostDevice.c @@ -68,12 +68,14 @@ int main(void) /** Configures the board hardware and chip peripherals for the demo's functionality. */ void SetupHardware(void) { +#if (ARCH == ARCH_AVR8) /* Disable watchdog if enabled by bootloader/fuses */ MCUSR &= ~(1 << WDRF); wdt_disable(); /* Disable clock division */ clock_prescale_set(clock_div_1); +#endif /* Hardware Initialization */ Serial_Init(9600, false); diff --git a/Demos/DualRole/ClassDriver/MouseHostDevice/MouseHostDevice.h b/Demos/DualRole/ClassDriver/MouseHostDevice/MouseHostDevice.h index 48b6389ee..12699398a 100644 --- a/Demos/DualRole/ClassDriver/MouseHostDevice/MouseHostDevice.h +++ b/Demos/DualRole/ClassDriver/MouseHostDevice/MouseHostDevice.h @@ -50,6 +50,7 @@ #include <LUFA/Drivers/Board/Joystick.h> #include <LUFA/Drivers/Board/Buttons.h> #include <LUFA/Drivers/USB/USB.h> + #include <LUFA/Platform/Platform.h> #include "Descriptors.h" #include "DeviceFunctions.h" @@ -70,7 +71,7 @@ /* Function Prototypes: */ void SetupHardware(void); - + void EVENT_USB_UIDChange(void); #endif diff --git a/Demos/DualRole/ClassDriver/MouseHostDevice/asf.xml b/Demos/DualRole/ClassDriver/MouseHostDevice/asf.xml index d2b4214bd..19a0905f0 100644 --- a/Demos/DualRole/ClassDriver/MouseHostDevice/asf.xml +++ b/Demos/DualRole/ClassDriver/MouseHostDevice/asf.xml @@ -1,14 +1,14 @@ <asf xmlversion="1.0">
- <project caption="Mouse HID Dual USB Mode Demo (Class Driver APIs)" id="lufa.demos.dualrole.class.mouse.example">
+ <project caption="Mouse HID Dual USB Mode Demo (Class Driver APIs)" id="lufa.demos.dualrole.class.mouse.example.avr8">
<require idref="lufa.demos.dualrole.class.mouse"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="at90usb1287"/>
- <config name="lufa.drivers.board.name" value="usbkey"/>
+ <config name="lufa.drivers.board.name" value="none"/>
- <build type="define" name="F_CPU" value="8000000UL"/>
- <build type="define" name="F_USB" value="8000000UL"/>
+ <build type="define" name="F_CPU" value="16000000UL"/>
+ <build type="define" name="F_USB" value="16000000UL"/>
</project>
<module type="application" id="lufa.demos.dualrole.class.mouse" caption="Mouse HID Dual USB Mode Demo (Class Driver APIs)">
|