X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/292fc9b65eba6b874dd4c29087cf499123f8bd0c..be9d0a5aa97c84cc8723f69f2b88576965e386aa:/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommands.c?ds=sidebyside diff --git a/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommands.c b/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommands.c index 2726d50da..221ffb3f3 100644 --- a/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommands.c +++ b/Demos/Device/Incomplete/Sideshow/Lib/SideshowCommands.c @@ -134,9 +134,9 @@ static void SideShow_Sync(SideShow_PacketHeader_t* PacketHeader) Endpoint_Read_Stream_LE(&ProtocolGUID, sizeof(GUID_t)); Endpoint_ClearOUT(); - if (memcmp(&ProtocolGUID, (uint32_t[])STANDARD_PROTOCOL_GUID, sizeof(GUID_t)) != 0) + if (!(GUID_COMPARE(&ProtocolGUID, (uint32_t[])STANDARD_PROTOCOL_GUID))) PacketHeader->Type.NAK = true; - + Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM); Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t)); Endpoint_Write_Stream_LE(&ProtocolGUID, sizeof(GUID_t)); @@ -179,7 +179,7 @@ static void SideShow_GetCapabilities(SideShow_PacketHeader_t* PacketHeader) PacketHeader->Length = sizeof(SideShow_PacketHeader_t); - if (memcmp(&Property.PropertyGUID, (uint32_t[])SIDESHOW_PROPERTY_GUID, sizeof(GUID_t)) == 0) + if (GUID_COMPARE(&Property.PropertyGUID, (uint32_t[])SIDESHOW_PROPERTY_GUID)) { switch (Property.PropertyID) { @@ -233,7 +233,7 @@ static void SideShow_GetCapabilities(SideShow_PacketHeader_t* PacketHeader) break; } } - else if (memcmp(&Property.PropertyGUID, (uint32_t[])DEVICE_PROPERTY_GUID, sizeof(GUID_t)) == 0) + else if (GUID_COMPARE(&Property.PropertyGUID, (uint32_t[])DEVICE_PROPERTY_GUID)) { switch (Property.PropertyID) { @@ -295,21 +295,26 @@ static void SideShow_GetString(SideShow_PacketHeader_t* PacketHeader, void* Unic static void SideShow_GetApplicationOrder(SideShow_PacketHeader_t* PacketHeader) { - uint8_t TotalInstalledApplications = SideShow_GetTotalApplications(); - uint16_t GadgetGUIDBytes = (TotalInstalledApplications * sizeof(GUID_t)); - + uint8_t TotalApplications = 0; + Endpoint_ClearOUT(); + for (uint8_t App = 0; App < MAX_APPLICATIONS; App++) + { + if (InstalledApplications[App].InUse) + TotalApplications++; + } + PacketHeader->Length = sizeof(SideShow_PacketHeader_t) + - sizeof(uint32_t) + GadgetGUIDBytes; + 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(TotalInstalledApplications); + Endpoint_Write_DWord_LE(TotalApplications); for (uint8_t App = 0; App < MAX_APPLICATIONS; App++) { - if (InstalledApplications[App].InUse == true) + if (InstalledApplications[App].InUse) Endpoint_Write_Stream_LE(&InstalledApplications[App].ApplicationID, sizeof(GUID_t)); } @@ -386,9 +391,7 @@ static void SideShow_DeleteApplication(SideShow_PacketHeader_t* PacketHeader) SideShow_Application_t* AppToDelete = SideShow_GetApplicationFromGUID(&ApplicationGUID); if (AppToDelete != NULL) - { - AppToDelete->InUse = false; - } + AppToDelete->InUse = false; else PacketHeader->Type.NAK = true;