#include #include #include "serialsource.h" static char *msgs[] = { "unknown_packet_type", "ack_timeout" , "sync" , "too_long" , "too_short" , "bad_sync" , "bad_crc" , "closed" , "no_memory" , "unix_error" }; void stderr_msg(serial_source_msg problem) { fprintf(stderr, "Note: %s\n", msgs[problem]); } int main(int argc, char **argv) { serial_source src; if (argc != 3) { fprintf(stderr, "Usage: %s - dump packets from a serial port\n", argv[0]); exit(2); } src = open_serial_source(argv[1], atoi(argv[2]), 0, stderr_msg); if (!src) { fprintf(stderr, "Couldn't open serial port at %s:%s\n", argv[1], argv[2]); exit(1); } for (;;) { int len, i; const unsigned char *packet = read_serial_packet(src, &len); if (!packet) exit(0); for (i = 0; i < len; i++) printf("%02x ", packet[i]); putchar('\n'); free((void *)packet); } }