Yeah basically when you set little endian and then read a memoryblock Uint16 etc the little endian property says “do these byte swapping things BEFORE you give the value back to the user in big endian format”
If you set the endianness of the memoryblock correctly initially you just use Uint16 and compare to &h < hex in big endian > and you’re fine