+ puts_P(PSTR("Opening Session...\r\n"));\r
+ \r
+ if (SImage_Host_OpenSession(&DigitalCamera_SI_Interface) != PIPE_RWSTREAM_NoError)\r
+ {\r
+ puts_P(PSTR("Could not open PIMA session.\r\n"));\r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
+ break;\r
+ }\r
+\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
+ puts_P(PSTR("Could not turn off device.\r\n"));\r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
+ break; \r
+ }\r
+\r
+ puts_P(PSTR("Device Off.\r\n"));\r
+\r
+ puts_P(PSTR("Closing Session...\r\n"));\r
+\r
+ if (SImage_Host_CloseSession(&DigitalCamera_SI_Interface) != PIPE_RWSTREAM_NoError)\r
+ {\r
+ puts_P(PSTR("Could not close PIMA session.\r\n"));\r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r
+ break;\r
+ }\r
+ \r
+ LEDs_SetAllLEDs(LEDMASK_USB_READY);\r
+ USB_HostState = HOST_STATE_WaitForDeviceRemoval;\r