Skip to content
Snippets Groups Projects
Select Git revision
  • 4d246a82cbed77cea849ddcbc88d32019665edae
  • master default protected
  • LUFA-170418
  • LUFA-151115
  • LUFA-140928
  • LUFA-140302
  • LUFA-130901
  • LUFA-130901-BETA
  • LUFA-130303
  • LUFA-120730
  • LUFA-120730-BETA
  • LUFA-120219
  • LUFA-120219-BETA
  • LUFA-111009
  • LUFA-111009-BETA
  • LUFA-110528
  • LUFA-110528-BETA
17 results

Descriptors.h

Blame
  • user avatar
    Dean Camera authored
    Enhance TemperatureDatalogger project -- add RTC capabilities so that data is logged along with the current time and date. Make logging interval configurable, set by a C# PC host application.
    dd995683
    History
    Descriptors.h 2.12 KiB
    /*
                 LUFA Library
         Copyright (C) Dean Camera, 2010.
                  
      dean [at] fourwalledcubicle [dot] com
          www.fourwalledcubicle.com
    */
     
    #ifndef _DESCRIPTORS_H_
    #define _DESCRIPTORS_H_
    
    	/* Includes: */
    		#include <avr/pgmspace.h>
    
    		#include <LUFA/Drivers/USB/USB.h>
    		#include <LUFA/Drivers/USB/Class/MassStorage.h>
    		#include <LUFA/Drivers/USB/Class/HID.h>
    		
    		#include "TempDataLogger.h"
    
    	/* Macros: */
    		/** Endpoint number of the Mass Storage device-to-host data IN endpoint. */
    		#define MASS_STORAGE_IN_EPNUM          3	
    
    		/** Endpoint number of the Mass Storage host-to-device data OUT endpoint. */
    		#define MASS_STORAGE_OUT_EPNUM         4	
    
    		/** Size in bytes of the Mass Storage data endpoints. */
    		#define MASS_STORAGE_IO_EPSIZE         64
    
    		/** Endpoint number of the Generic HID reporting IN endpoint. */
    		#define GENERIC_IN_EPNUM               1
    
    		/** Size in bytes of the Generic HID reporting endpoint. */
    		#define GENERIC_EPSIZE                 16
    		
    		/** Size in bytes of the Generic HID reports (including report ID byte). */
    		#define GENERIC_REPORT_SIZE            sizeof(Device_Report_t)
    		
    	/* Type Defines: */		
    		/** Type define for the device configuration descriptor structure. This must be defined in the
    		 *  application code, as the configuration descriptor contains several sub-descriptors which
    		 *  vary between devices, and which describe the device's usage to the host.
    		 */
    		typedef struct
    		{
    			USB_Descriptor_Configuration_Header_t Config;
    			USB_Descriptor_Interface_t            MSInterface;
    			USB_Descriptor_Endpoint_t             MSDataInEndpoint;
    			USB_Descriptor_Endpoint_t             MSDataOutEndpoint;
    			USB_Descriptor_Interface_t            HIDInterface;
    			USB_HID_Descriptor_t                  HIDInfo;
    			USB_Descriptor_Endpoint_t             HIDDataInEndpoint;
    		} USB_Descriptor_Configuration_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);
    
    #endif