There only needs to be relatively short delay between the different
messages, but the delay between different messages varies quite
much. The delays introduced here are far from being optimal, but
reducing the delays too much causes unexpected behaviour.
Signed-off-by: Timo Kokkonen <kaapeli@itanic.dy.fi>
printf("Sending: ");
print_hex(msg->data + 1, datalen(msg->data) - 1);
print_ascii(msg->data + 1, datalen(msg->data) - 1);
printf("Sending: ");
print_hex(msg->data + 1, datalen(msg->data) - 1);
print_ascii(msg->data + 1, datalen(msg->data) - 1);
struct msg msg;
msg.direction = OUT;
struct msg msg;
msg.direction = OUT;
SET_FIRST_BYTE(0x01);
SET_BYTES(0x04);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_FIRST_BYTE(0x01);
SET_BYTES(0x04);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 0x15);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 0x15);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 0x05);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 0x05);
send_msg(&msg, fd, uc);
read_msgs(fd);
send_msg(&msg, fd, uc);
read_msgs(fd);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, byte2);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, byte2);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 0x15);
for (i = 0; i < 6; i++) {
SET_BYTE(1, 0x15);
for (i = 0; i < 6; i++) {
send_msg(&msg, fd, uc);
read_msgs(fd);
}
send_msg(&msg, fd, uc);
read_msgs(fd);
}
send_msg(&msg, fd, uc);
read_msgs(fd);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 0x05);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 0x05);
send_msg(&msg, fd, uc);
read_msgs(fd);
send_pattern(fd, uc, 'R', 'X');
send_pattern(fd, uc, 'W', 'K');
send_pattern(fd, uc, 'R', 'X');
send_pattern(fd, uc, 'W', 'K');
SET_FIRST_BYTE(0x08);
SET_BYTES('O');
SET_BYTES('b');
SET_FIRST_BYTE(0x08);
SET_BYTES('O');
SET_BYTES('b');
send_msg(&msg, fd, uc);
read_msgs(fd);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_FIRST_BYTE(0x02);
SET_BYTES('R');
SET_BYTES('|');
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_FIRST_BYTE(0x02);
SET_BYTES('R');
SET_BYTES('|');
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 'Y');
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 'Y');
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 'W');
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 'W');
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 'K');
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 'K');
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 'C');
send_msg(&msg, fd, uc);
read_msgs(fd);
send_pattern(fd, uc, 'R', 'Z');
SET_BYTE(1, 'C');
send_msg(&msg, fd, uc);
read_msgs(fd);
send_pattern(fd, uc, 'R', 'Z');
SET_FIRST_BYTE(0x01);
SET_BYTES(0x04);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_FIRST_BYTE(0x01);
SET_BYTES(0x04);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 0x15);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 0x15);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 0x05);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 0x05);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 0x04);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 0x04);
send_msg(&msg, fd, uc);
read_msgs(fd);
send_msg(&msg, fd, uc);
read_msgs(fd);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 0x06);
send_msg(&msg, fd, uc);
read_msgs(fd);
SET_BYTE(1, 0x06);
send_msg(&msg, fd, uc);
read_msgs(fd);
send_msg(&msg, fd, uc);
read_msgs(fd);
send_msg(&msg, fd, uc);
read_msgs(fd);
send_msg(&msg, fd, uc);
read_msgs(fd);
send_msg(&msg, fd, uc);
read_msgs(fd);
do {
send_msg(&msg, fd, uc);
read_and_verify(&in, fd);
do {
send_msg(&msg, fd, uc);
read_and_verify(&in, fd);