/*\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 "Still Image 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 (SImage_Host_ConfigurePipes(&DigitalCamera_SI_Interface,\r
ConfigDescriptorSize, ConfigDescriptorData) != SI_ENUMERROR_NoError)\r
{\r
- printf("Attached Device Not a Valid CDC Class Device.\r\n");\r
+ puts_P(PSTR("Attached Device Not a Valid Still Image 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("Still Image Device Enumerated.\r\n");\r
+ puts_P(PSTR("Still Image Device Enumerated.\r\n"));\r
+ LEDs_SetAllLEDs(LEDMASK_USB_READY);\r
USB_HostState = HOST_STATE_Configured;\r
break;\r
case HOST_STATE_Configured:\r
- printf("Opening Session...\r\n");\r
+ puts_P(PSTR("Opening Session...\r\n"));\r
\r
if (SImage_Host_OpenSession(&DigitalCamera_SI_Interface) != PIPE_RWSTREAM_NoError)\r
{\r
- printf("Could not open PIMA session.\r\n");\r
+ puts_P(PSTR("Could not open PIMA session.\r\n"));\r
USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r
\r
- printf("Turning off Device...\r\n");\r
+ puts_P(PSTR("Turning off Device...\r\n"));\r
\r
SImage_Host_SendCommand(&DigitalCamera_SI_Interface, 0x1013, 0, NULL);\r
if (SImage_Host_ReceiveResponse(&DigitalCamera_SI_Interface))\r
{\r
- printf("Could not turn off device.\r\n");\r
+ puts_P(PSTR("Could not turn off device.\r\n"));\r
USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break; \r
}\r
\r
- printf("Device Off.\r\n");\r
+ puts_P(PSTR("Device Off.\r\n"));\r
\r
- printf("Closing Session...\r\n");\r
+ puts_P(PSTR("Closing Session...\r\n"));\r
\r
if (SImage_Host_CloseSession(&DigitalCamera_SI_Interface) != PIPE_RWSTREAM_NoError)\r
{\r
- printf("Could not close PIMA session.\r\n");\r
+ puts_P(PSTR("Could not close PIMA session.\r\n"));\r
USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
break;\r
}\r