X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/ea922c98d187eb74c31535afa3334ead5bd50526..956f9e3709ff56acf37f2f446668b6d1411154f4:/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c index 778a7df9b..529510f46 100644 --- a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c +++ b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c @@ -60,7 +60,7 @@ void XPROGProtocol_SetMode(void) struct { uint8_t Protocol; - } ATTR_PACKED SetMode_XPROG_Params; + } SetMode_XPROG_Params; Endpoint_Read_Stream_LE(&SetMode_XPROG_Params, sizeof(SetMode_XPROG_Params), NULL); @@ -143,7 +143,7 @@ static void XPROGProtocol_LeaveXPROGMode(void) TINYNVM_DisableTPI(); #if defined(XCK_RESCUE_CLOCK_ENABLE) && defined(ENABLE_ISP_PROTOCOL) - /* If the XCK rescue clock option is enabled, we need to restart it once the + /* If the XCK rescue clock option is enabled, we need to restart it once the * XPROG mode has been exited, since the XPROG protocol stops it after use. */ ISPTarget_ConfigureRescueClock(); #endif @@ -163,10 +163,10 @@ static void XPROGProtocol_Erase(void) { uint8_t MemoryType; uint32_t Address; - } ATTR_PACKED Erase_XPROG_Params; + } Erase_XPROG_Params; Endpoint_Read_Stream_LE(&Erase_XPROG_Params, sizeof(Erase_XPROG_Params), NULL); - Erase_XPROG_Params.Address = be32_to_cpu(Erase_XPROG_Params.Address); + Erase_XPROG_Params.Address = SwapEndian_32(Erase_XPROG_Params.Address); Endpoint_ClearOUT(); Endpoint_SelectEndpoint(AVRISP_DATA_IN_EPNUM); @@ -242,12 +242,12 @@ static void XPROGProtocol_WriteMemory(void) uint32_t Address; uint16_t Length; uint8_t ProgData[256]; - } ATTR_PACKED WriteMemory_XPROG_Params; + } WriteMemory_XPROG_Params; Endpoint_Read_Stream_LE(&WriteMemory_XPROG_Params, (sizeof(WriteMemory_XPROG_Params) - sizeof(WriteMemory_XPROG_Params).ProgData), NULL); - WriteMemory_XPROG_Params.Address = be32_to_cpu(WriteMemory_XPROG_Params.Address); - WriteMemory_XPROG_Params.Length = be16_to_cpu(WriteMemory_XPROG_Params.Length); + WriteMemory_XPROG_Params.Address = SwapEndian_32(WriteMemory_XPROG_Params.Address); + WriteMemory_XPROG_Params.Length = SwapEndian_16(WriteMemory_XPROG_Params.Length); Endpoint_Read_Stream_LE(&WriteMemory_XPROG_Params.ProgData, WriteMemory_XPROG_Params.Length, NULL); // The driver will terminate transfers that are a round multiple of the endpoint bank in size with a ZLP, need @@ -258,7 +258,7 @@ static void XPROGProtocol_WriteMemory(void) Endpoint_ClearOUT(); Endpoint_WaitUntilReady(); } - + Endpoint_ClearOUT(); Endpoint_SelectEndpoint(AVRISP_DATA_IN_EPNUM); Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN); @@ -335,11 +335,11 @@ static void XPROGProtocol_ReadMemory(void) uint8_t MemoryType; uint32_t Address; uint16_t Length; - } ATTR_PACKED ReadMemory_XPROG_Params; + } ReadMemory_XPROG_Params; Endpoint_Read_Stream_LE(&ReadMemory_XPROG_Params, sizeof(ReadMemory_XPROG_Params), NULL); - ReadMemory_XPROG_Params.Address = be32_to_cpu(ReadMemory_XPROG_Params.Address); - ReadMemory_XPROG_Params.Length = be16_to_cpu(ReadMemory_XPROG_Params.Length); + ReadMemory_XPROG_Params.Address = SwapEndian_32(ReadMemory_XPROG_Params.Address); + ReadMemory_XPROG_Params.Length = SwapEndian_16(ReadMemory_XPROG_Params.Length); Endpoint_ClearOUT(); Endpoint_SelectEndpoint(AVRISP_DATA_IN_EPNUM); @@ -380,7 +380,7 @@ static void XPROGProtocol_ReadCRC(void) struct { uint8_t CRCType; - } ATTR_PACKED ReadCRC_XPROG_Params; + } ReadCRC_XPROG_Params; Endpoint_Read_Stream_LE(&ReadCRC_XPROG_Params, sizeof(ReadCRC_XPROG_Params), NULL); @@ -444,10 +444,10 @@ static void XPROGProtocol_SetParam(void) switch (XPROGParam) { case XPRG_PARAM_NVMBASE: - XPROG_Param_NVMBase = Endpoint_Read_32_BE(); + XPROG_Param_NVMBase = Endpoint_Read_32_BE(); break; case XPRG_PARAM_EEPPAGESIZE: - XPROG_Param_EEPageSize = Endpoint_Read_16_BE(); + XPROG_Param_EEPageSize = Endpoint_Read_16_BE(); break; case XPRG_PARAM_NVMCMD_REG: XPROG_Param_NVMCMDRegAddr = Endpoint_Read_8();