diff --git a/ahbuartplugin/ahbuartplugin.cpp b/ahbuartplugin/ahbuartplugin.cpp --- a/ahbuartplugin/ahbuartplugin.cpp +++ b/ahbuartplugin/ahbuartplugin.cpp @@ -318,13 +318,17 @@ unsigned int ahbuartplugin::Read(unsigne } for(int i=0;(unsigned int)i128) SocExplorerEngine::deleteProgressBar(progress); free(result); @@ -365,10 +369,17 @@ unsigned int ahbuartplugin::Write(unsign CMD[4] = (char)(((unsigned int)address)&0xFF); for(int i=0;i<32;i++) { +#if __BYTE_ORDER == __LITTLE_ENDIAN CMD[(i*4)+5] = (char)(((unsigned int)Value[i+offset]>>24)&0xFF); CMD[(i*4)+6] = (char)(((unsigned int)Value[i+offset]>>16)&0xFF); CMD[(i*4)+7] = (char)(((unsigned int)Value[i+offset]>>8)&0xFF); CMD[(i*4)+8] = (char)(((unsigned int)Value[i+offset])&0xFF); +#elif __BYTE_ORDER == __BIG_ENDIAN + CMD[(i*4)+5] = (char)(((unsigned int)Value[i+offset])&0xFF); + CMD[(i*4)+6] = (char)(((unsigned int)Value[i+offset]>>8)&0xFF); + CMD[(i*4)+7] = (char)(((unsigned int)Value[i+offset]>>16)&0xFF); + CMD[(i*4)+8] = (char)(((unsigned int)Value[i+offset]>>24)&0xFF); +#endif } SAFEWRITE(CMD,((32*4)+5),timeout,1000,return 0); writen+=32; @@ -392,10 +403,17 @@ unsigned int ahbuartplugin::Write(unsign CMD[4] = (char)(((unsigned int)address)&0xFF); for(int i=0;(unsigned int) i<(count);i++) { +#if __BYTE_ORDER == __LITTLE_ENDIAN CMD[(i*4)+5] = (char)(((unsigned int)Value[i+offset]>>24)&0xFF); CMD[(i*4)+6] = (char)(((unsigned int)Value[i+offset]>>16)&0xFF); CMD[(i*4)+7] = (char)(((unsigned int)Value[i+offset]>>8)&0xFF); CMD[(i*4)+8] = (char)(((unsigned int)Value[i+offset])&0xFF); +#elif __BYTE_ORDER == __BIG_ENDIAN + CMD[(i*4)+5] = (char)(((unsigned int)Value[i+offset])&0xFF); + CMD[(i*4)+6] = (char)(((unsigned int)Value[i+offset]>>8)&0xFF); + CMD[(i*4)+7] = (char)(((unsigned int)Value[i+offset]>>16)&0xFF); + CMD[(i*4)+8] = (char)(((unsigned int)Value[i+offset]>>24)&0xFF); +#endif } SAFEWRITE(CMD,((count*4)+5),timeout,1000,return 0); writen+=count;