/*\r
LUFA Library\r
- Copyright (C) Dean Camera, 2009.\r
+ Copyright (C) Dean Camera, 2010.\r
\r
dean [at] fourwalledcubicle [dot] com\r
www.fourwalledcubicle.com\r
*/\r
\r
/*\r
- Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
\r
Permission to use, copy, modify, distribute, and sell this \r
software and its documentation for any purpose is hereby granted\r
puts_P(PSTR(ESC_FG_CYAN "MIDI Host Demo running.\r\n" ESC_FG_WHITE));\r
\r
LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+ sei();\r
\r
for (;;)\r
{\r
if (USB_Host_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, ConfigDescriptorData,\r
sizeof(ConfigDescriptorData)) != HOST_GETCONFIG_Successful)\r
{\r
- printf("Error Retrieving Configuration Descriptor.\r\n");\r
+ puts_P(PSTR("Error Retrieving Configuration Descriptor.\r\n"));\r
LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
if (MIDI_Host_ConfigurePipes(&Keyboard_MIDI_Interface,\r
ConfigDescriptorSize, ConfigDescriptorData) != MIDI_ENUMERROR_NoError)\r
{\r
- printf("Attached Device Not a Valid MIDI Class Device.\r\n");\r
+ puts_P(PSTR("Attached Device Not a Valid MIDI Class Device.\r\n"));\r
LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
\r
if (USB_Host_SetDeviceConfiguration(1) != HOST_SENDCONTROL_Successful)\r
{\r
- printf("Error Setting Device Configuration.\r\n");\r
+ puts_P(PSTR("Error Setting Device Configuration.\r\n"));\r
LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
- printf("MIDI Device Enumerated.\r\n");\r
+ puts_P(PSTR("MIDI Device Enumerated.\r\n"));\r
+ LEDs_SetAllLEDs(LEDMASK_USB_READY);\r
USB_HostState = HOST_STATE_Configured;\r
break;\r
case HOST_STATE_Configured:\r
\r
if (NoteOnEvent || NoteOffEvent)\r
{\r
- printf_P(PSTR("MIDI Note %s - Channel %d, Pitch %d, Velocity %d"), NoteOnEvent ? "On" : "Off",\r
- ((MIDIEvent.Data1 & 0x0F) + 1),\r
- MIDIEvent.Data2, MIDIEvent.Data3);\r
+ printf_P(PSTR("MIDI Note %s - Channel %d, Pitch %d, Velocity %d\r\n"), NoteOnEvent ? "On" : "Off",\r
+ ((MIDIEvent.Data1 & 0x0F) + 1),\r
+ MIDIEvent.Data2, MIDIEvent.Data3);\r
}\r
}\r
\r
};\r
\r
MIDI_Host_SendEventPacket(&Keyboard_MIDI_Interface, &MIDIEvent);\r
+ MIDI_Host_Flush(&Keyboard_MIDI_Interface);\r
}\r
\r
PrevJoystickStatus = JoystickStatus;\r