Ktam3874/pitx software guide – Kontron KTAM3874-pITX User Manual

Page 40

Advertising
background image

KTD-S0057-I

Page 36 Linux® Programming Examples (DebianTM)


KTAM3874/pITX Software Guide

uint8_t rx[ARRAY_SIZE(tx)] = {0, };

struct spi_ioc_transfer tr = {

.tx_buf = (unsigned long) tx,

.rx_buf = (unsigned long) rx,

.len = ARRAY_SIZE(tx),

.delay_usecs = delay,

.speed_hz = 0,

.bits_per_word = 0 };

ret = ioctl (fd, SPI_IOC_MESSAGE (1), &tr);

if (ret == 1)

pabort ("Cannot send SPI message");

for (ret = 0; ret < ARRAY_SIZE(tx); ret++)

{

if (! (ret % 6))

puts

("");

printf ("%.2X ", rx[ret]);

}
puts

("");

}


void print_usage (const char *prog)
{

printf ("Usage: %s [-DsbdHOC]\n", prog);

puts (" -D --device device to use (default /dev/spidev1.1)\n"

" -s --speed max speed (Hz)\n"

" -d --delay delay (usec)\n"

" -b --bpw bits per word \n"

" -H --cpha clock phase\n"

" -O --cpol clock polarity\n"

" -C --cs-high chip select active high\n");

exit

(1);

}


void parse_opts (int argc, char *argv[])
{
while

(1)

{

static const struct option lopts[] = {

{ "device", 1, 0, 'D' },

{ "speed", 1, 0, 's' },

{ "delay",

1, 0, 'd' },

{ "bpw",

1, 0, 'b' },

{ "cpha",

0, 0, 'H' },

{ "cpol",

0, 0, 'O' },

{ "cs-high", 0, 0, 'C' },

{ NULL,

0, 0, 0 }};

int

c;

c = getopt_long (argc, argv, "D:s:d:b:HOC", lopts, NULL);

if (c == -1) break;

Advertising
This manual is related to the following products: