Hi Denis, On Thu, 7 Oct 2021 at 00:25, Denis Pauk <pauk.denis@xxxxxxxxx> wrote: > + if (si->addr.size == 1) > + value = ec->read_buffer[read_reg_ct]; > + else if (si->addr.size == 2) > + value = get_unaligned_le16(&ec->read_buffer[read_reg_ct]); > + else if (si->addr.size == 4) > + value = get_unaligned_le32(&ec->read_buffer[read_reg_ct]); If you did not invert the encoding scheme the data in the buffer are in BE order. Best regards, Eugene