forked from mfulz_github/qmk_firmware
		
	Clean up MassStorageKeyboard demo.
This commit is contained in:
		
							parent
							
								
									7f9f97c792
								
							
						
					
					
						commit
						58a39c6666
					
				| @ -29,6 +29,10 @@ | ||||
|   this software. | ||||
| */ | ||||
| 
 | ||||
| #if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR) | ||||
| 	#warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor. | ||||
| #endif | ||||
| 
 | ||||
| /** \file
 | ||||
|  * | ||||
|  *  USB Device Descriptors, for library use when in USB device mode. Descriptors are special  | ||||
| @ -129,7 +133,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = | ||||
| 			.MaxPowerConsumption    = USB_CONFIG_POWER_MA(100) | ||||
| 		}, | ||||
| 		 | ||||
| 	.Interface =  | ||||
| 	.MassStorageInterface =  | ||||
| 		{ | ||||
| 			.Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, | ||||
| 
 | ||||
| @ -145,7 +149,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = | ||||
| 			.InterfaceStrIndex      = NO_DESCRIPTOR | ||||
| 		}, | ||||
| 
 | ||||
| 	.DataInEndpoint =  | ||||
| 	.MassStorageDataInEndpoint =  | ||||
| 		{ | ||||
| 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, | ||||
| 
 | ||||
| @ -155,7 +159,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = | ||||
| 			.PollingIntervalMS      = 0x00 | ||||
| 		}, | ||||
| 
 | ||||
| 	.DataOutEndpoint =  | ||||
| 	.MassStorageDataOutEndpoint =  | ||||
| 		{ | ||||
| 			.Header                 = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, | ||||
| 
 | ||||
| @ -181,8 +185,6 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = | ||||
| 			.InterfaceStrIndex      = NO_DESCRIPTOR | ||||
| 		}, | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	.KeyboardHID =  | ||||
| 		{   | ||||
| 			.Header                 = {.Size = sizeof(USB_HID_Descriptor_t), .Type = DTYPE_HID}, | ||||
|  | ||||
| @ -44,10 +44,6 @@ | ||||
| 		#include <LUFA/Drivers/USB/Class/MassStorage.h> | ||||
| 		#include <LUFA/Drivers/USB/Class/HID.h> | ||||
| 
 | ||||
| 		#if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR) | ||||
| 			#warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor. | ||||
| 		#endif | ||||
| 
 | ||||
| 	/* Macros: */ | ||||
| 		/** Endpoint number of the Keyboard HID reporting IN endpoint. */ | ||||
| 		#define KEYBOARD_EPNUM               1 | ||||
| @ -72,23 +68,14 @@ | ||||
| 		typedef struct | ||||
| 		{ | ||||
| 			USB_Descriptor_Configuration_Header_t Config; | ||||
| 			USB_Descriptor_Interface_t            Interface; | ||||
| 			USB_Descriptor_Endpoint_t             DataInEndpoint; | ||||
| 			USB_Descriptor_Endpoint_t             DataOutEndpoint; | ||||
| 			USB_Descriptor_Interface_t            MassStorageInterface; | ||||
| 			USB_Descriptor_Endpoint_t             MassStorageDataInEndpoint; | ||||
| 			USB_Descriptor_Endpoint_t             MassStorageDataOutEndpoint; | ||||
| 			USB_Descriptor_Interface_t            KeyboardInterface; | ||||
| 			USB_HID_Descriptor_t                  KeyboardHID; | ||||
| 	        USB_Descriptor_Endpoint_t             KeyboardEndpoint; | ||||
| 		} USB_Descriptor_Configuration_t; | ||||
| 		 | ||||
| /*		typedef struct
 | ||||
| 		{ | ||||
| 			USB_Descriptor_Configuration_Header_t Config; | ||||
| 			USB_Descriptor_Interface_t            Interface; | ||||
| 			USB_HID_Descriptor_t                  KeyboardHID; | ||||
| 	        USB_Descriptor_Endpoint_t             KeyboardEndpoint; | ||||
| 		} USB_Descriptor_Configuration_keyboard_t; | ||||
| // */
 | ||||
| 		 | ||||
| 	/* Function Prototypes: */ | ||||
| 		uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress) | ||||
| 											ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); | ||||
|  | ||||
| @ -118,12 +118,6 @@ void SetupHardware(void) | ||||
| 
 | ||||
| 	/* Clear Dataflash sector protections, if enabled */ | ||||
| 	DataflashManager_ResetDataflashProtections(); | ||||
| 
 | ||||
| 	/* Millisecond timer initialization, with output compare interrupt enabled for the HID idle timing */ | ||||
| 	OCR0A  = ((F_CPU / 64) / 1000); | ||||
| 	TCCR0A = (1 << WGM01); | ||||
| 	TCCR0B = ((1 << CS01) | (1 << CS00)); | ||||
| 	TIMSK0 = (1 << OCIE0A); | ||||
| } | ||||
| 
 | ||||
| /** Event handler for the library USB Connection event. */ | ||||
| @ -145,8 +139,11 @@ void EVENT_USB_Device_ConfigurationChanged(void) | ||||
| 
 | ||||
| 	if (!(MS_Device_ConfigureEndpoints(&Disk_MS_Interface))) | ||||
| 	  LEDs_SetAllLEDs(LEDMASK_USB_ERROR); | ||||
| 
 | ||||
| 	if (!(HID_Device_ConfigureEndpoints(&Keyboard_HID_Interface))) | ||||
| 	  LEDs_SetAllLEDs(LEDMASK_USB_ERROR); | ||||
| 
 | ||||
| 	USB_Device_EnableSOFEvents(); | ||||
| } | ||||
| 
 | ||||
| /** Event handler for the library USB Unhandled Control Request event. */ | ||||
| @ -171,8 +168,8 @@ bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_Device_t* MSInterfa | ||||
| 	return CommandSuccess; | ||||
| } | ||||
| 
 | ||||
| /** ISR to keep track of each millisecond interrupt, for determining the HID class idle period remaining when set. */ | ||||
| ISR(TIMER0_COMPA_vect, ISR_BLOCK) | ||||
| /** Event handler for the USB device Start Of Frame event. */ | ||||
| void EVENT_USB_Device_StartOfFrame(void) | ||||
| { | ||||
|     HID_Device_MillisecondElapsed(&Keyboard_HID_Interface); | ||||
| } | ||||
|  | ||||
| @ -87,6 +87,7 @@ | ||||
| 		void EVENT_USB_Device_Disconnect(void); | ||||
| 		void EVENT_USB_Device_ConfigurationChanged(void); | ||||
| 		void EVENT_USB_Device_UnhandledControlRequest(void); | ||||
| 		void EVENT_USB_Device_StartOfFrame(void); | ||||
| 
 | ||||
| 		bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_Device_t* MSInterfaceInfo); | ||||
| 
 | ||||
|  | ||||
| @ -198,7 +198,7 @@ | ||||
| 			typedef struct | ||||
| 			{ | ||||
| 				uint16_t                     BitOffset;      /**< Bit offset in the IN, OUT or FEATURE report of the item. */ | ||||
| 				uint8_t                      ItemType;       /**< Report item type, a value in HID_Types_t. */ | ||||
| 				uint8_t                      ItemType;       /**< Report item type, a value in HID_ReportItemTypes_t. */ | ||||
| 				uint16_t                     ItemFlags;      /**< Item data flags, such as constant/variable, etc. */ | ||||
| 				uint8_t                      ReportID;       /**< Report ID this item belongs to, or 0x00 if device has only one report */ | ||||
| 				HID_CollectionPath_t*        CollectionPath; /**< Collection path of the item. */ | ||||
|  | ||||
| @ -20,6 +20,8 @@ | ||||
|   *  - Renamed the AVRISP project folder to AVRISP-MKII to reduce confusion | ||||
|   *  - Renamed the RESET_LINE_* makefile tokens in the AVRISP MKII Project to AUX_LINE_*, as they are not always used for target | ||||
|   *    reset | ||||
|   *  - Changed over the MassStorageKeyboard Class driver device demo to use Start of Frame events rather than a timer to keep track | ||||
|   *    of elapsed milliseconds | ||||
|   * | ||||
|   *  <b>Fixed:</b> | ||||
|   *  - Fixed AVRISP project not able to enter programming mode when ISP protocol is used | ||||
|  | ||||
| @ -27,6 +27,7 @@ | ||||
|   *  - Demos/Projects | ||||
|   *      -# Multiple-Report HID device | ||||
|   *      -# Device/Host USB bridge | ||||
|   *      -# Alternative (USB-IF endorsed) USB-Ethernet Classes | ||||
|   *      -# Finish BluetoothHost demo | ||||
|   *      -# Finish MIDI class Bootloader | ||||
|   *      -# Finish SideShow demo | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Dean Camera
						Dean Camera