preonic
This commit is contained in:
		
							parent
							
								
									fb4fe52c0a
								
							
						
					
					
						commit
						04885a3b44
					
				
					 40 changed files with 3111 additions and 38 deletions
				
			
		| 
						 | 
				
			
			@ -487,6 +487,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 | 
			
		|||
        },
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef MIDI_ENABLE
 | 
			
		||||
    .Audio_ControlInterface =
 | 
			
		||||
        {
 | 
			
		||||
            .Header                   = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
 | 
			
		||||
| 
						 | 
				
			
			@ -508,7 +509,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 | 
			
		|||
            .Header                   = {.Size = sizeof(USB_Audio_Descriptor_Interface_AC_t), .Type = DTYPE_CSInterface},
 | 
			
		||||
            .Subtype                  = AUDIO_DSUBTYPE_CSInterface_Header,
 | 
			
		||||
 | 
			
		||||
            .ACSpecification          = VERSION_BCD(1,1,1),
 | 
			
		||||
            .ACSpecification          = VERSION_BCD(1,0,0),
 | 
			
		||||
            .TotalLength              = sizeof(USB_Audio_Descriptor_Interface_AC_t),
 | 
			
		||||
 | 
			
		||||
            .InCollection             = 1,
 | 
			
		||||
| 
						 | 
				
			
			@ -536,7 +537,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 | 
			
		|||
            .Header                   = {.Size = sizeof(USB_MIDI_Descriptor_AudioInterface_AS_t), .Type = DTYPE_CSInterface},
 | 
			
		||||
            .Subtype                  = AUDIO_DSUBTYPE_CSInterface_General,
 | 
			
		||||
 | 
			
		||||
            .AudioSpecification       = VERSION_BCD(1,1,1),
 | 
			
		||||
            .AudioSpecification       = VERSION_BCD(1,0,0),
 | 
			
		||||
 | 
			
		||||
            .TotalLength              = (sizeof(USB_Descriptor_Configuration_t) -
 | 
			
		||||
                                         offsetof(USB_Descriptor_Configuration_t, Audio_StreamInterface_SPC))
 | 
			
		||||
| 
						 | 
				
			
			@ -603,7 +604,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 | 
			
		|||
                    .EndpointAddress     = (ENDPOINT_DIR_IN | MIDI_STREAM_IN_EPNUM),
 | 
			
		||||
                    .Attributes          = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
 | 
			
		||||
                    .EndpointSize        = MIDI_STREAM_EPSIZE,
 | 
			
		||||
                    .PollingIntervalMS   = 0x01
 | 
			
		||||
                    .PollingIntervalMS   = 0x05
 | 
			
		||||
                },
 | 
			
		||||
 | 
			
		||||
            .Refresh                  = 0,
 | 
			
		||||
| 
						 | 
				
			
			@ -628,7 +629,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 | 
			
		|||
                    .EndpointAddress     = (ENDPOINT_DIR_OUT | MIDI_STREAM_OUT_EPNUM),
 | 
			
		||||
                    .Attributes          = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
 | 
			
		||||
                    .EndpointSize        = MIDI_STREAM_EPSIZE,
 | 
			
		||||
                    .PollingIntervalMS   = 0x01
 | 
			
		||||
                    .PollingIntervalMS   = 0x05
 | 
			
		||||
                },
 | 
			
		||||
 | 
			
		||||
            .Refresh                  = 0,
 | 
			
		||||
| 
						 | 
				
			
			@ -643,7 +644,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
 | 
			
		|||
            .TotalEmbeddedJacks       = 0x01,
 | 
			
		||||
            .AssociatedJackID         = {0x03}
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -86,6 +86,7 @@ typedef struct
 | 
			
		|||
    USB_Descriptor_Endpoint_t             NKRO_INEndpoint;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef MIDI_ENABLE
 | 
			
		||||
      // MIDI Audio Control Interface
 | 
			
		||||
      USB_Descriptor_Interface_t                Audio_ControlInterface;
 | 
			
		||||
      USB_Audio_Descriptor_Interface_AC_t       Audio_ControlInterface_SPC;
 | 
			
		||||
| 
						 | 
				
			
			@ -101,6 +102,7 @@ typedef struct
 | 
			
		|||
      USB_MIDI_Descriptor_Jack_Endpoint_t       MIDI_In_Jack_Endpoint_SPC;
 | 
			
		||||
      USB_Audio_Descriptor_StreamEndpoint_Std_t MIDI_Out_Jack_Endpoint;
 | 
			
		||||
      USB_MIDI_Descriptor_Jack_Endpoint_t       MIDI_Out_Jack_Endpoint_SPC;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
} USB_Descriptor_Configuration_t;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -132,9 +134,14 @@ typedef struct
 | 
			
		|||
#   define NKRO_INTERFACE           CONSOLE_INTERFACE
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef MIDI_ENABLE
 | 
			
		||||
#   define MIDI_INTERFACE           (NKRO_INTERFACE + 1)
 | 
			
		||||
#else
 | 
			
		||||
#   define MIDI_INTERFACE           NKRO_INTERFACE
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* nubmer of interfaces */
 | 
			
		||||
#define TOTAL_INTERFACES            (NKRO_INTERFACE + 3)
 | 
			
		||||
#define TOTAL_INTERFACES            (MIDI_INTERFACE + 1)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Endopoint number and size
 | 
			
		||||
| 
						 | 
				
			
			@ -167,8 +174,13 @@ typedef struct
 | 
			
		|||
#   endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define MIDI_STREAM_IN_EPNUM        (NKRO_IN_EPNUM + 1)
 | 
			
		||||
#define MIDI_STREAM_OUT_EPNUM        (NKRO_IN_EPNUM + 1)
 | 
			
		||||
#ifdef MIDI_ENABLE
 | 
			
		||||
#   define MIDI_STREAM_IN_EPNUM        (NKRO_IN_EPNUM + 1)
 | 
			
		||||
#   define MIDI_STREAM_OUT_EPNUM        (NKRO_IN_EPNUM + 1)
 | 
			
		||||
#else
 | 
			
		||||
#   define MIDI_STREAM_IN_EPNUM     NKRO_IN_EPNUM
 | 
			
		||||
#   define MIDI_STREAM_OUT_EPNUM    NKRO_IN_EPNUM
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define KEYBOARD_EPSIZE             8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -66,27 +66,35 @@ static void send_keyboard(report_keyboard_t *report);
 | 
			
		|||
static void send_mouse(report_mouse_t *report);
 | 
			
		||||
static void send_system(uint16_t data);
 | 
			
		||||
static void send_consumer(uint16_t data);
 | 
			
		||||
 | 
			
		||||
#ifdef MIDI_ENABLE
 | 
			
		||||
void usb_send_func(MidiDevice * device, uint16_t cnt, uint8_t byte0, uint8_t byte1, uint8_t byte2);
 | 
			
		||||
void usb_get_midi(MidiDevice * device);
 | 
			
		||||
void midi_usb_init(MidiDevice * device);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
host_driver_t lufa_driver = {
 | 
			
		||||
    keyboard_leds,
 | 
			
		||||
    send_keyboard,
 | 
			
		||||
    send_mouse,
 | 
			
		||||
    send_system,
 | 
			
		||||
    send_consumer,
 | 
			
		||||
#ifdef MIDI_ENABLE
 | 
			
		||||
    usb_send_func,
 | 
			
		||||
    usb_get_midi,
 | 
			
		||||
    midi_usb_init
 | 
			
		||||
    midi_usb_init,
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void SetupHardware(void);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
USB_ClassInfo_MIDI_Device_t USB_MIDI_Interface =
 | 
			
		||||
{
 | 
			
		||||
  .Config =
 | 
			
		||||
  {
 | 
			
		||||
    .StreamingInterfaceNumber = 1,
 | 
			
		||||
    .StreamingInterfaceNumber = (NKRO_INTERFACE + 2),
 | 
			
		||||
    .DataINEndpoint           =
 | 
			
		||||
    {
 | 
			
		||||
      .Address          = (ENDPOINT_DIR_IN | MIDI_STREAM_IN_EPNUM),
 | 
			
		||||
| 
						 | 
				
			
			@ -112,6 +120,7 @@ USB_ClassInfo_MIDI_Device_t USB_MIDI_Interface =
 | 
			
		|||
#define SYS_COMMON_3 0x30
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*******************************************************************************
 | 
			
		||||
 * Console
 | 
			
		||||
 ******************************************************************************/
 | 
			
		||||
| 
						 | 
				
			
			@ -279,8 +288,15 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		|||
                                     NKRO_EPSIZE, ENDPOINT_BANK_SINGLE);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef MIDI_ENABLE
 | 
			
		||||
    // ConfigSuccess &= MIDI_Device_ConfigureEndpoints(&USB_MIDI_Interface);
 | 
			
		||||
 | 
			
		||||
    ConfigSuccess &= ENDPOINT_CONFIG(MIDI_STREAM_IN_EPNUM, EP_TYPE_BULK, ENDPOINT_DIR_IN,
 | 
			
		||||
                                                MIDI_STREAM_EPSIZE, ENDPOINT_BANK_SINGLE);
 | 
			
		||||
    ConfigSuccess &= ENDPOINT_CONFIG(MIDI_STREAM_OUT_EPNUM, EP_TYPE_BULK, ENDPOINT_DIR_OUT,
 | 
			
		||||
                                                MIDI_STREAM_EPSIZE, ENDPOINT_BANK_SINGLE);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    ConfigSuccess &= MIDI_Device_ConfigureEndpoints(&USB_MIDI_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -589,32 +605,37 @@ int8_t sendchar(uint8_t c)
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef MIDI_ENABLE
 | 
			
		||||
void usb_send_func(MidiDevice * device, uint16_t cnt, uint8_t byte0, uint8_t byte1, uint8_t byte2) {
 | 
			
		||||
  MIDI_EventPacket_t event;
 | 
			
		||||
  event.Data1 = byte0;
 | 
			
		||||
  event.Data2 = byte1;
 | 
			
		||||
  event.Data3 = byte2;
 | 
			
		||||
 | 
			
		||||
  uint8_t cable = 0;
 | 
			
		||||
 | 
			
		||||
Endpoint_SelectEndpoint(MIDI_STREAM_IN_EPNUM);
 | 
			
		||||
 | 
			
		||||
  //if the length is undefined we assume it is a SYSEX message
 | 
			
		||||
  if (midi_packet_length(byte0) == UNDEFINED) {
 | 
			
		||||
    switch(cnt) {
 | 
			
		||||
      case 3:
 | 
			
		||||
        if (byte2 == SYSEX_END)
 | 
			
		||||
          event.Event = MIDI_EVENT(0, SYSEX_ENDS_IN_3);
 | 
			
		||||
          event.Event = MIDI_EVENT(cable, SYSEX_ENDS_IN_3);
 | 
			
		||||
        else
 | 
			
		||||
          event.Event = MIDI_EVENT(0, SYSEX_START_OR_CONT);
 | 
			
		||||
          event.Event = MIDI_EVENT(cable, SYSEX_START_OR_CONT);
 | 
			
		||||
        break;
 | 
			
		||||
      case 2:
 | 
			
		||||
        if (byte1 == SYSEX_END)
 | 
			
		||||
          event.Event = MIDI_EVENT(0, SYSEX_ENDS_IN_2);
 | 
			
		||||
          event.Event = MIDI_EVENT(cable, SYSEX_ENDS_IN_2);
 | 
			
		||||
        else
 | 
			
		||||
          event.Event = MIDI_EVENT(0, SYSEX_START_OR_CONT);
 | 
			
		||||
          event.Event = MIDI_EVENT(cable, SYSEX_START_OR_CONT);
 | 
			
		||||
        break;
 | 
			
		||||
      case 1:
 | 
			
		||||
        if (byte0 == SYSEX_END)
 | 
			
		||||
          event.Event = MIDI_EVENT(0, SYSEX_ENDS_IN_1);
 | 
			
		||||
          event.Event = MIDI_EVENT(cable, SYSEX_ENDS_IN_1);
 | 
			
		||||
        else
 | 
			
		||||
          event.Event = MIDI_EVENT(0, SYSEX_START_OR_CONT);
 | 
			
		||||
          event.Event = MIDI_EVENT(cable, SYSEX_START_OR_CONT);
 | 
			
		||||
        break;
 | 
			
		||||
      default:
 | 
			
		||||
        return; //invalid cnt
 | 
			
		||||
| 
						 | 
				
			
			@ -624,18 +645,21 @@ void usb_send_func(MidiDevice * device, uint16_t cnt, uint8_t byte0, uint8_t byt
 | 
			
		|||
    //TODO are there any more?
 | 
			
		||||
    switch(byte0 & 0xF0){
 | 
			
		||||
      case MIDI_SONGPOSITION:
 | 
			
		||||
        event.Event = MIDI_EVENT(0, SYS_COMMON_3);
 | 
			
		||||
        event.Event = MIDI_EVENT(cable, SYS_COMMON_3);
 | 
			
		||||
        break;
 | 
			
		||||
      case MIDI_SONGSELECT:
 | 
			
		||||
      case MIDI_TC_QUARTERFRAME:
 | 
			
		||||
        event.Event = MIDI_EVENT(0, SYS_COMMON_2);
 | 
			
		||||
        event.Event = MIDI_EVENT(cable, SYS_COMMON_2);
 | 
			
		||||
        break;
 | 
			
		||||
      default:
 | 
			
		||||
        event.Event = MIDI_EVENT(0, byte0);
 | 
			
		||||
        event.Event = MIDI_EVENT(cable, byte0);
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
Endpoint_Write_Stream_LE(&event, sizeof(event), NULL);
 | 
			
		||||
Endpoint_ClearIN();
 | 
			
		||||
 | 
			
		||||
  MIDI_Device_SendEventPacket(&USB_MIDI_Interface, &event);
 | 
			
		||||
  MIDI_Device_Flush(&USB_MIDI_Interface);
 | 
			
		||||
  MIDI_Device_USBTask(&USB_MIDI_Interface);
 | 
			
		||||
| 
						 | 
				
			
			@ -680,7 +704,7 @@ void midi_usb_init(MidiDevice * device){
 | 
			
		|||
  SetupHardware();
 | 
			
		||||
  sei();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -707,25 +731,30 @@ void SetupHardware(void)
 | 
			
		|||
    print_set_sendchar(sendchar);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#ifdef MIDI_ENABLE
 | 
			
		||||
void fallthrough_callback(MidiDevice * device,
 | 
			
		||||
    uint16_t cnt, uint8_t byte0, uint8_t byte1, uint8_t byte2);
 | 
			
		||||
void cc_callback(MidiDevice * device,
 | 
			
		||||
    uint8_t chan, uint8_t num, uint8_t val);
 | 
			
		||||
void sysex_callback(MidiDevice * device,
 | 
			
		||||
    uint16_t start, uint8_t length, uint8_t * data);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int main(void)  __attribute__ ((weak));
 | 
			
		||||
int main(void)
 | 
			
		||||
{
 | 
			
		||||
    //setup the device
 | 
			
		||||
 | 
			
		||||
#ifdef MIDI_ENABLE
 | 
			
		||||
    midi_device_init(&midi_device);
 | 
			
		||||
    midi_device_set_send_func(&midi_device, usb_send_func);
 | 
			
		||||
    midi_device_set_pre_input_process_func(&midi_device, usb_get_midi);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    SetupHardware();
 | 
			
		||||
    sei();
 | 
			
		||||
 | 
			
		||||
#ifdef MIDI_ENABLE
 | 
			
		||||
    midi_register_fallthrough_callback(&midi_device, fallthrough_callback);
 | 
			
		||||
    midi_register_cc_callback(&midi_device, cc_callback);
 | 
			
		||||
    midi_register_sysex_callback(&midi_device, sysex_callback);
 | 
			
		||||
| 
						 | 
				
			
			@ -734,6 +763,8 @@ int main(void)
 | 
			
		|||
    midi_send_cc(&midi_device, 15, 1, 0);
 | 
			
		||||
    midi_send_noteon(&midi_device, 0, 64, 127);
 | 
			
		||||
    midi_send_noteoff(&midi_device, 0, 64, 127);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /* wait for USB startup & debug output */
 | 
			
		||||
    while (USB_DeviceState != DEVICE_STATE_Configured) {
 | 
			
		||||
| 
						 | 
				
			
			@ -764,7 +795,9 @@ int main(void)
 | 
			
		|||
 | 
			
		||||
        keyboard_task();
 | 
			
		||||
 | 
			
		||||
#ifdef MIDI_ENABLE
 | 
			
		||||
        midi_device_process(&midi_device);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(INTERRUPT_CONTROL_ENDPOINT)
 | 
			
		||||
        USB_USBTask();
 | 
			
		||||
| 
						 | 
				
			
			@ -772,6 +805,7 @@ int main(void)
 | 
			
		|||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#ifdef MIDI_ENABLE
 | 
			
		||||
//echo data back
 | 
			
		||||
void fallthrough_callback(MidiDevice * device,
 | 
			
		||||
    uint16_t cnt, uint8_t byte0, uint8_t byte1, uint8_t byte2){
 | 
			
		||||
| 
						 | 
				
			
			@ -790,3 +824,4 @@ void sysex_callback(MidiDevice * device,
 | 
			
		|||
  for (int i = 0; i < length; i++)
 | 
			
		||||
    midi_send_cc(device, 15, 0x7F & data[i], 0x7F & (start + i));
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										93
									
								
								protocol/lufa/midi/Config/LUFAConfig.h
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										93
									
								
								protocol/lufa/midi/Config/LUFAConfig.h
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,93 @@
 | 
			
		|||
/*
 | 
			
		||||
             LUFA Library
 | 
			
		||||
     Copyright (C) Dean Camera, 2012.
 | 
			
		||||
 | 
			
		||||
  dean [at] fourwalledcubicle [dot] com
 | 
			
		||||
           www.lufa-lib.org
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 | 
			
		||||
 | 
			
		||||
  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
 | 
			
		||||
  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
 | 
			
		||||
  software without specific, written prior permission.
 | 
			
		||||
 | 
			
		||||
  The author disclaim all warranties with regard to this
 | 
			
		||||
  software, including all implied warranties of merchantability
 | 
			
		||||
  and fitness.  In no event shall the author be liable for any
 | 
			
		||||
  special, indirect or consequential damages or any damages
 | 
			
		||||
  whatsoever resulting from loss of use, data or profits, whether
 | 
			
		||||
  in an action of contract, negligence or other tortious action,
 | 
			
		||||
  arising out of or in connection with the use or performance of
 | 
			
		||||
  this software.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
/** \file
 | 
			
		||||
 *  \brief LUFA Library Configuration Header File
 | 
			
		||||
 *
 | 
			
		||||
 *  This header file is used to configure LUFA's compile time options,
 | 
			
		||||
 *  as an alternative to the compile time constants supplied through
 | 
			
		||||
 *  a makefile.
 | 
			
		||||
 *
 | 
			
		||||
 *  For information on what each token does, refer to the LUFA
 | 
			
		||||
 *  manual section "Summary of Compile Tokens".
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef _LUFA_CONFIG_H_
 | 
			
		||||
#define _LUFA_CONFIG_H_
 | 
			
		||||
 | 
			
		||||
	#if (ARCH == ARCH_AVR8)
 | 
			
		||||
 | 
			
		||||
		/* 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 ORDERED_EP_CONFIG
 | 
			
		||||
		#define USE_STATIC_OPTIONS               (USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)
 | 
			
		||||
		#define USB_DEVICE_ONLY
 | 
			
		||||
//		#define USB_HOST_ONLY
 | 
			
		||||
//		#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 INTERRUPT_CONTROL_ENDPOINT
 | 
			
		||||
//		#define NO_DEVICE_REMOTE_WAKEUP
 | 
			
		||||
//		#define NO_DEVICE_SELF_POWER
 | 
			
		||||
 | 
			
		||||
		/* USB Host Mode Driver Related Tokens: */
 | 
			
		||||
//		#define HOST_STATE_AS_GPIOR              {Insert Value Here}
 | 
			
		||||
//		#define USB_HOST_TIMEOUT_MS              {Insert Value Here}
 | 
			
		||||
//		#define HOST_DEVICE_SETTLE_DELAY_MS	     {Insert Value Here}
 | 
			
		||||
//      #define NO_AUTO_VBUS_MANAGEMENT
 | 
			
		||||
//      #define INVERTED_VBUS_ENABLE_LINE
 | 
			
		||||
 | 
			
		||||
	#else
 | 
			
		||||
 | 
			
		||||
		#error Unsupported architecture for this LUFA configuration file.
 | 
			
		||||
 | 
			
		||||
	#endif
 | 
			
		||||
#endif
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue