static void transfer(int fd, uint8_t const *tx, uint8_t const *rx, size_t len)
{
int ret;
struct spi_ioc_transfer tr = {
.tx_buf = (unsigned long)tx,
.rx_buf = (unsigned long)rx,
.len = len,
.delay_usecs = delay,
.speed_hz = speed,
.bits_per_word = bits,
};
ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr);
if (ret < 1)
pabort("can't send spi message");
}
...
uint8_t default_tx[255] ;
uint8_t default_rx[ARRAY_SIZE(default_tx)] = { 0, };
for (i = 0; i < SIZESPI; i++)
default_tx[i] = i;
transfer(fd, default_tx, default_rx, sizeof(default_tx));