#include #include #include #include "options.h" #include "baud.h" #include "debug.h" #include "data.h" int main(int argc, char *argv[]) { struct plotter_options options; int fd, baud, ret = 0, out_fd = 0; if (read_args(argc, argv, &options)) return 1; baud = options.baud_rate; fd = open_at_baud(options.device_path, &baud); if (fd < 0) return 1; if (baud != options.baud_rate) { pr_err("Failed to set baudrate to %d, only got %d\n", options.baud_rate, baud); ret = 1; goto out; } if (options.output_path) { pr_debug("Opening %s for writing the log file\n", options.output_path); out_fd = open(options.output_path, O_CREAT | O_APPEND | O_WRONLY, 0664); if (out_fd < 0) { pr_err("Failed to open file %s for writing: %m\n", options.output_path); ret = 1; goto out; } } read_data(fd, out_fd); out: close(fd); return ret; }