On Thu, Apr 16, 2020 at 11:55 PM Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> wrote: > > The first received byte is the MSB, followed by the LSB so the value needs > to be byte swapped. > > Also, the ADC actually has a delay of one clock on the SPI bus. Read three > bytes to get the last bit. > + return adc->rx_buf[0] << 9 | adc->rx_buf[1] << 1 | adc->rx_buf[2] >> 7; I just realize, isn't it an open coded variant of ror() / rol()? -- With Best Regards, Andy Shevchenko