/*
              LUFA Library
-     Copyright (C) Dean Camera, 2012.
+     Copyright (C) Dean Camera, 2016.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2016  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
        SIInterfaceInfo->Config.DataINPipe.Size  = le16_to_cpu(DataINEndpoint->EndpointSize);
        SIInterfaceInfo->Config.DataINPipe.EndpointAddress = DataINEndpoint->EndpointAddress;
        SIInterfaceInfo->Config.DataINPipe.Type  = EP_TYPE_BULK;
-       
+
        SIInterfaceInfo->Config.DataOUTPipe.Size = le16_to_cpu(DataOUTEndpoint->EndpointSize);
        SIInterfaceInfo->Config.DataOUTPipe.EndpointAddress = DataOUTEndpoint->EndpointAddress;
        SIInterfaceInfo->Config.DataOUTPipe.Type = EP_TYPE_BULK;
-       
+
        SIInterfaceInfo->Config.EventsPipe.Size = le16_to_cpu(EventsEndpoint->EndpointSize);
        SIInterfaceInfo->Config.EventsPipe.EndpointAddress = EventsEndpoint->EndpointAddress;
        SIInterfaceInfo->Config.EventsPipe.Type = EP_TYPE_INTERRUPT;
 
        if (!(Pipe_ConfigurePipeTable(&SIInterfaceInfo->Config.DataINPipe, 1)))
-         return false;
-       
+         return SI_ENUMERROR_PipeConfigurationFailed;
+
        if (!(Pipe_ConfigurePipeTable(&SIInterfaceInfo->Config.DataOUTPipe, 1)))
-         return false;
+         return SI_ENUMERROR_PipeConfigurationFailed;
 
        if (!(Pipe_ConfigurePipeTable(&SIInterfaceInfo->Config.EventsPipe, 1)))
-         return false;
-       
+         return SI_ENUMERROR_PipeConfigurationFailed;
+
        SIInterfaceInfo->State.InterfaceNumber = StillImageInterface->InterfaceNumber;
        SIInterfaceInfo->State.IsActive = true;
 
 }
 
 uint8_t SI_Host_SendData(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
-                         void* Buffer,
+                         const void* Buffer,
                          const uint16_t Bytes)
 {
        uint8_t ErrorCode;
        Pipe_SelectPipe(SIInterfaceInfo->Config.EventsPipe.Address);
        Pipe_Unfreeze();
 
-       if (Pipe_BytesInPipe())
+       if (Pipe_IsINReceived())
          IsEventReceived = true;
 
        Pipe_Freeze();