Add branch for the conversion of demos to use standard C header files for configurati...
[pub/USBasp.git] / Demos / Device / Incomplete / Sideshow / Lib / SideshowCommands.c
index 5e713cb..3e23924 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2012.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  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
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
@@ -47,8 +47,8 @@ void Sideshow_ProcessCommandPacket(void)
 {
        SideShow_PacketHeader_t PacketHeader;
 
 {
        SideShow_PacketHeader_t PacketHeader;
 
-       Endpoint_SelectEndpoint(SIDESHOW_OUT_EPNUM);
-       Endpoint_Read_Stream_LE(&PacketHeader, sizeof(SideShow_PacketHeader_t));
+       Endpoint_SelectEndpoint(SIDESHOW_OUT_EPADDR);
+       Endpoint_Read_Stream_LE(&PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
 
        PacketHeader.Type.TypeFields.Response = true;
 
 
        PacketHeader.Type.TypeFields.Response = true;
 
@@ -104,14 +104,14 @@ void Sideshow_ProcessCommandPacket(void)
                default:
                        PacketHeader.Length -= sizeof(SideShow_PacketHeader_t);
 
                default:
                        PacketHeader.Length -= sizeof(SideShow_PacketHeader_t);
 
-                       Endpoint_Discard_Stream(PacketHeader.Length);
+                       Endpoint_Discard_Stream(PacketHeader.Length, NULL);
                        Endpoint_ClearOUT();
 
                        PacketHeader.Length   = sizeof(SideShow_PacketHeader_t);
                        PacketHeader.Type.TypeFields.NAK = true;
 
                        Endpoint_ClearOUT();
 
                        PacketHeader.Length   = sizeof(SideShow_PacketHeader_t);
                        PacketHeader.Type.TypeFields.NAK = true;
 
-                       Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
-                       Endpoint_Write_Stream_LE(&PacketHeader, sizeof(SideShow_PacketHeader_t));
+                       Endpoint_SelectEndpoint(SIDESHOW_IN_EPADDR);
+                       Endpoint_Write_Stream_LE(&PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
                        Endpoint_ClearIN();
 
                        printf(" UNK");
                        Endpoint_ClearIN();
 
                        printf(" UNK");
@@ -122,8 +122,8 @@ static void SideShow_Ping(SideShow_PacketHeader_t* const PacketHeader)
 {
        Endpoint_ClearOUT();
 
 {
        Endpoint_ClearOUT();
 
-       Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
-       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));
+       Endpoint_SelectEndpoint(SIDESHOW_IN_EPADDR);
+       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
        Endpoint_ClearIN();
 }
 
        Endpoint_ClearIN();
 }
 
@@ -131,15 +131,15 @@ static void SideShow_Sync(SideShow_PacketHeader_t* const PacketHeader)
 {
        GUID_t ProtocolGUID;
 
 {
        GUID_t ProtocolGUID;
 
-       Endpoint_Read_Stream_LE(&ProtocolGUID, sizeof(GUID_t));
+       Endpoint_Read_Stream_LE(&ProtocolGUID, sizeof(GUID_t), NULL);
        Endpoint_ClearOUT();
 
        if (!(GUID_COMPARE(&ProtocolGUID, (uint32_t[])STANDARD_PROTOCOL_GUID)))
          PacketHeader->Type.TypeFields.NAK = true;
 
        Endpoint_ClearOUT();
 
        if (!(GUID_COMPARE(&ProtocolGUID, (uint32_t[])STANDARD_PROTOCOL_GUID)))
          PacketHeader->Type.TypeFields.NAK = true;
 
-       Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
-       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));
-       Endpoint_Write_Stream_LE(&ProtocolGUID, sizeof(GUID_t));
+       Endpoint_SelectEndpoint(SIDESHOW_IN_EPADDR);
+       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
+       Endpoint_Write_Stream_LE(&ProtocolGUID, sizeof(GUID_t), NULL);
        Endpoint_ClearIN();
 }
 
        Endpoint_ClearIN();
 }
 
@@ -149,8 +149,8 @@ static void SideShow_GetCurrentUser(SideShow_PacketHeader_t* const PacketHeader)
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t) + sizeof(uint32_t) + UserSID.LengthInBytes;
 
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t) + sizeof(uint32_t) + UserSID.LengthInBytes;
 
-       Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
-       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));
+       Endpoint_SelectEndpoint(SIDESHOW_IN_EPADDR);
+       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
        SideShow_Write_Unicode_String(&UserSID);
        Endpoint_ClearIN();
 }
        SideShow_Write_Unicode_String(&UserSID);
        Endpoint_ClearIN();
 }
@@ -162,8 +162,8 @@ static void SideShow_SetCurrentUser(SideShow_PacketHeader_t* const PacketHeader)
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t);
 
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t);
 
-       Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
-       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));
+       Endpoint_SelectEndpoint(SIDESHOW_IN_EPADDR);
+       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
        Endpoint_ClearIN();
 }
 
        Endpoint_ClearIN();
 }
 
@@ -172,7 +172,7 @@ static void SideShow_GetCapabilities(SideShow_PacketHeader_t* const PacketHeader
        SideShow_PropertyKey_t  Property;
        SideShow_PropertyData_t PropertyData;
 
        SideShow_PropertyKey_t  Property;
        SideShow_PropertyData_t PropertyData;
 
-       Endpoint_Read_Stream_LE(&Property, sizeof(SideShow_PropertyKey_t));
+       Endpoint_Read_Stream_LE(&Property, sizeof(SideShow_PropertyKey_t), NULL);
        Endpoint_ClearOUT();
 
        printf(" ID: %lu", Property.PropertyID);
        Endpoint_ClearOUT();
 
        printf(" ID: %lu", Property.PropertyID);
@@ -254,8 +254,8 @@ static void SideShow_GetCapabilities(SideShow_PacketHeader_t* const PacketHeader
                                           Property.PropertyGUID.Chunks[2],  Property.PropertyGUID.Chunks[3]);
        }
 
                                           Property.PropertyGUID.Chunks[2],  Property.PropertyGUID.Chunks[3]);
        }
 
-       Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
-       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));
+       Endpoint_SelectEndpoint(SIDESHOW_IN_EPADDR);
+       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
 
        if (!(PacketHeader->Type.TypeFields.NAK))
        {
 
        if (!(PacketHeader->Type.TypeFields.NAK))
        {
@@ -263,12 +263,12 @@ static void SideShow_GetCapabilities(SideShow_PacketHeader_t* const PacketHeader
                {
                        case VT_UI4:
                        case VT_I4:
                {
                        case VT_UI4:
                        case VT_I4:
-                               Endpoint_Write_Stream_LE(&PropertyData.Data.Data32, sizeof(uint32_t));
+                               Endpoint_Write_Stream_LE(&PropertyData.Data.Data32, sizeof(uint32_t), NULL);
                                break;
                        case VT_UI2:
                        case VT_I2:
                        case VT_BOOL:
                                break;
                        case VT_UI2:
                        case VT_I2:
                        case VT_BOOL:
-                               Endpoint_Write_Stream_LE(&PropertyData.Data.Data16, sizeof(uint16_t));
+                               Endpoint_Write_Stream_LE(&PropertyData.Data.Data16, sizeof(uint16_t), NULL);
                                break;
                        case VT_LPWSTR:
                                SideShow_Write_Unicode_String((Unicode_String_t*)PropertyData.Data.Data16);
                                break;
                        case VT_LPWSTR:
                                SideShow_Write_Unicode_String((Unicode_String_t*)PropertyData.Data.Data16);
@@ -288,8 +288,8 @@ static void SideShow_GetString(SideShow_PacketHeader_t* const PacketHeader,
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t) +
                               sizeof(uint32_t) + ((Unicode_String_t*)UnicodeStruct)->LengthInBytes;
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t) +
                               sizeof(uint32_t) + ((Unicode_String_t*)UnicodeStruct)->LengthInBytes;
 
-       Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
-       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));
+       Endpoint_SelectEndpoint(SIDESHOW_IN_EPADDR);
+       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
        SideShow_Write_Unicode_String(UnicodeStruct);
        Endpoint_ClearIN();
 }
        SideShow_Write_Unicode_String(UnicodeStruct);
        Endpoint_ClearIN();
 }
@@ -309,14 +309,14 @@ static void SideShow_GetApplicationOrder(SideShow_PacketHeader_t* const PacketHe
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t) +
                               sizeof(uint32_t) + (TotalApplications * sizeof(GUID_t));
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t) +
                               sizeof(uint32_t) + (TotalApplications * sizeof(GUID_t));
 
-       Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
-       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));
-       Endpoint_Write_DWord_LE(TotalApplications);
+       Endpoint_SelectEndpoint(SIDESHOW_IN_EPADDR);
+       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
+       Endpoint_Write_32_LE(TotalApplications);
 
        for (uint8_t App = 0; App < MAX_APPLICATIONS; App++)
        {
                if (InstalledApplications[App].InUse)
 
        for (uint8_t App = 0; App < MAX_APPLICATIONS; App++)
        {
                if (InstalledApplications[App].InUse)
-                 Endpoint_Write_Stream_LE(&InstalledApplications[App].ApplicationID, sizeof(GUID_t));
+                 Endpoint_Write_Stream_LE(&InstalledApplications[App].ApplicationID, sizeof(GUID_t), NULL);
        }
 
        Endpoint_ClearIN();
        }
 
        Endpoint_ClearIN();
@@ -330,10 +330,10 @@ static void SideShow_GetSupportedEndpoints(SideShow_PacketHeader_t* const Packet
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t) + sizeof(uint32_t) + sizeof(GUID_t);
 
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t) + sizeof(uint32_t) + sizeof(GUID_t);
 
-       Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
-       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));
-       Endpoint_Write_DWord_LE(1);
-       Endpoint_Write_Stream_LE(&SupportedEndpointGUID, sizeof(GUID_t));
+       Endpoint_SelectEndpoint(SIDESHOW_IN_EPADDR);
+       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
+       Endpoint_Write_32_LE(1);
+       Endpoint_Write_Stream_LE(&SupportedEndpointGUID, sizeof(GUID_t), NULL);
        Endpoint_ClearIN();
 }
 
        Endpoint_ClearIN();
 }
 
@@ -342,7 +342,7 @@ static void SideShow_AddApplication(SideShow_PacketHeader_t* const PacketHeader)
        SideShow_Application_t* CurrApp;
        GUID_t                  ApplicationID;
 
        SideShow_Application_t* CurrApp;
        GUID_t                  ApplicationID;
 
-       Endpoint_Read_Stream_LE(&ApplicationID, sizeof(GUID_t));
+       Endpoint_Read_Stream_LE(&ApplicationID, sizeof(GUID_t), NULL);
 
        CurrApp = SideShow_GetApplicationFromGUID(&ApplicationID);
 
 
        CurrApp = SideShow_GetApplicationFromGUID(&ApplicationID);
 
@@ -353,7 +353,7 @@ static void SideShow_AddApplication(SideShow_PacketHeader_t* const PacketHeader)
        {
                PacketHeader->Length -= sizeof(SideShow_PacketHeader_t) + sizeof(GUID_t);
 
        {
                PacketHeader->Length -= sizeof(SideShow_PacketHeader_t) + sizeof(GUID_t);
 
-               Endpoint_Discard_Stream(PacketHeader->Length);
+               Endpoint_Discard_Stream(PacketHeader->Length, NULL);
                Endpoint_ClearOUT();
 
                PacketHeader->Type.TypeFields.NAK = true;
                Endpoint_ClearOUT();
 
                PacketHeader->Type.TypeFields.NAK = true;
@@ -361,10 +361,10 @@ static void SideShow_AddApplication(SideShow_PacketHeader_t* const PacketHeader)
        else
        {
                CurrApp->ApplicationID = ApplicationID;
        else
        {
                CurrApp->ApplicationID = ApplicationID;
-               Endpoint_Read_Stream_LE(&CurrApp->EndpointID, sizeof(GUID_t));
+               Endpoint_Read_Stream_LE(&CurrApp->EndpointID, sizeof(GUID_t), NULL);
                SideShow_Read_Unicode_String(&CurrApp->ApplicationName, sizeof(CurrApp->ApplicationName.UnicodeString));
                SideShow_Read_Unicode_String(&CurrApp->ApplicationName, sizeof(CurrApp->ApplicationName.UnicodeString));
-               Endpoint_Read_Stream_LE(&CurrApp->CachePolicy, sizeof(uint32_t));
-               Endpoint_Read_Stream_LE(&CurrApp->OnlineOnly, sizeof(uint32_t));
+               Endpoint_Read_Stream_LE(&CurrApp->CachePolicy, sizeof(uint32_t), NULL);
+               Endpoint_Read_Stream_LE(&CurrApp->OnlineOnly, sizeof(uint32_t), NULL);
                SideShow_Discard_Byte_Stream();
                SideShow_Discard_Byte_Stream();
                SideShow_Discard_Byte_Stream();
                SideShow_Discard_Byte_Stream();
                SideShow_Discard_Byte_Stream();
                SideShow_Discard_Byte_Stream();
@@ -377,8 +377,8 @@ static void SideShow_AddApplication(SideShow_PacketHeader_t* const PacketHeader)
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t);
 
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t);
 
-       Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
-       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));
+       Endpoint_SelectEndpoint(SIDESHOW_IN_EPADDR);
+       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
        Endpoint_ClearIN();
 }
 
        Endpoint_ClearIN();
 }
 
@@ -386,7 +386,7 @@ static void SideShow_DeleteApplication(SideShow_PacketHeader_t* const PacketHead
 {
        GUID_t ApplicationGUID;
 
 {
        GUID_t ApplicationGUID;
 
-       Endpoint_Read_Stream_LE(&ApplicationGUID, sizeof(GUID_t));
+       Endpoint_Read_Stream_LE(&ApplicationGUID, sizeof(GUID_t), NULL);
        Endpoint_ClearOUT();
 
        SideShow_Application_t* AppToDelete = SideShow_GetApplicationFromGUID(&ApplicationGUID);
        Endpoint_ClearOUT();
 
        SideShow_Application_t* AppToDelete = SideShow_GetApplicationFromGUID(&ApplicationGUID);
@@ -398,8 +398,8 @@ static void SideShow_DeleteApplication(SideShow_PacketHeader_t* const PacketHead
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t);
 
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t);
 
-       Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
-       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));
+       Endpoint_SelectEndpoint(SIDESHOW_IN_EPADDR);
+       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
        Endpoint_ClearIN();
 }
 
        Endpoint_ClearIN();
 }
 
@@ -410,8 +410,8 @@ static void SideShow_DeleteAllApplications(SideShow_PacketHeader_t* const Packet
        for (uint8_t App = 0; App < MAX_APPLICATIONS; App++)
          InstalledApplications[App].InUse = false;
 
        for (uint8_t App = 0; App < MAX_APPLICATIONS; App++)
          InstalledApplications[App].InUse = false;
 
-       Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
-       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));
+       Endpoint_SelectEndpoint(SIDESHOW_IN_EPADDR);
+       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
        Endpoint_ClearIN();
 }
 
        Endpoint_ClearIN();
 }
 
@@ -421,8 +421,8 @@ static void SideShow_AddContent(SideShow_PacketHeader_t* const PacketHeader)
        GUID_t EndpointID;
        SideShow_Application_t* Application;
 
        GUID_t EndpointID;
        SideShow_Application_t* Application;
 
-       Endpoint_Read_Stream_LE(&ApplicationID, sizeof(GUID_t));
-       Endpoint_Read_Stream_LE(&EndpointID, sizeof(GUID_t));
+       Endpoint_Read_Stream_LE(&ApplicationID, sizeof(GUID_t), NULL);
+       Endpoint_Read_Stream_LE(&EndpointID, sizeof(GUID_t), NULL);
 
        Application = SideShow_GetApplicationFromGUID(&ApplicationID);
 
 
        Application = SideShow_GetApplicationFromGUID(&ApplicationID);
 
@@ -440,8 +440,8 @@ static void SideShow_AddContent(SideShow_PacketHeader_t* const PacketHeader)
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t);
 
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t);
 
-       Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
-       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));
+       Endpoint_SelectEndpoint(SIDESHOW_IN_EPADDR);
+       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
        Endpoint_ClearIN();
 }
 
        Endpoint_ClearIN();
 }
 
@@ -451,9 +451,9 @@ static void SideShow_DeleteContent(SideShow_PacketHeader_t* const PacketHeader)
        GUID_t   EndpointID;
        uint32_t ContentID;
 
        GUID_t   EndpointID;
        uint32_t ContentID;
 
-       Endpoint_Read_Stream_LE(&ApplicationID, sizeof(GUID_t));
-       Endpoint_Read_Stream_LE(&EndpointID, sizeof(GUID_t));
-       Endpoint_Read_Stream_LE(&ContentID, sizeof(uint32_t));
+       Endpoint_Read_Stream_LE(&ApplicationID, sizeof(GUID_t), NULL);
+       Endpoint_Read_Stream_LE(&EndpointID, sizeof(GUID_t), NULL);
+       Endpoint_Read_Stream_LE(&ContentID, sizeof(uint32_t), NULL);
        Endpoint_ClearOUT();
 
        SideShow_Application_t* Application = SideShow_GetApplicationFromGUID(&ApplicationID);
        Endpoint_ClearOUT();
 
        SideShow_Application_t* Application = SideShow_GetApplicationFromGUID(&ApplicationID);
@@ -465,8 +465,8 @@ static void SideShow_DeleteContent(SideShow_PacketHeader_t* const PacketHeader)
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t);
 
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t);
 
-       Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
-       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));
+       Endpoint_SelectEndpoint(SIDESHOW_IN_EPADDR);
+       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
        Endpoint_ClearIN();
 }
 
        Endpoint_ClearIN();
 }
 
@@ -475,8 +475,8 @@ static void SideShow_DeleteAllContent(SideShow_PacketHeader_t* const PacketHeade
        GUID_t ApplicationID;
        GUID_t EndpointID;
 
        GUID_t ApplicationID;
        GUID_t EndpointID;
 
-       Endpoint_Read_Stream_LE(&ApplicationID, sizeof(GUID_t));
-       Endpoint_Read_Stream_LE(&EndpointID, sizeof(GUID_t));
+       Endpoint_Read_Stream_LE(&ApplicationID, sizeof(GUID_t), NULL);
+       Endpoint_Read_Stream_LE(&EndpointID, sizeof(GUID_t), NULL);
        Endpoint_ClearOUT();
 
        SideShow_Application_t* Application = SideShow_GetApplicationFromGUID(&ApplicationID);
        Endpoint_ClearOUT();
 
        SideShow_Application_t* Application = SideShow_GetApplicationFromGUID(&ApplicationID);
@@ -488,8 +488,8 @@ static void SideShow_DeleteAllContent(SideShow_PacketHeader_t* const PacketHeade
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t);
 
 
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t);
 
-       Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);
-       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));
+       Endpoint_SelectEndpoint(SIDESHOW_IN_EPADDR);
+       Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t), NULL);
        Endpoint_ClearIN();
 }
 
        Endpoint_ClearIN();
 }