#include <stdlib.h>
#include <string.h>
-#include "options.h"
-#include "debug.h"
+#include "config.h"
+#include "trace.h"
void print_help_and_die(const char *exec_name)
{
pr_info(" -o, --output logfile path, stdout only if omited\n");
pr_info(" -v, --verbose increase verbosity\n");
pr_info(" -q, --quiet decrease verbosity\n");
+ pr_info(" -c, --config=PATH config file path\n");
pr_info(" -h, --help show this help\n");
exit(0);
}
-static void set_default_options(struct plotter_options *opts)
+static void set_default_options(struct plotter_config *opts)
{
bzero(opts, sizeof(*opts));
- opts->baud_rate = 128000;
+ opts->baudrate = 128000;
opts->device_path = "/dev/ttyUSB0";
}
-int read_args(int argc, char *argv[], struct plotter_options *opts)
+int read_args(int argc, char *argv[], struct plotter_config *opts)
{
int option_index = 0, c;
static struct option long_options[] = {
{ .val = 'b', .name = "baud", .has_arg = 1 },
{ .val = 'v', .name = "verbose", .has_arg = 2 },
{ .val = 'q', .name = "quiet", },
+ { .val = 'c', .name = "config", .has_arg = 1 },
{ .val = 'h', .name = "help", },
};
- char short_options[] = "d:o:b:vqh";
+ char short_options[] = "d:o:b:vqc:h";
set_default_options(opts);
opts->device_path = optarg;
break;
case 'o':
- opts->output_path = optarg;
+ opts->log_path = optarg;
break;
case 'b':
- opts->baud_rate = atoi(optarg);
+ opts->baudrate = atoi(optarg);
break;
case 'v':
trace_level++;
trace_level--;
pr_debug("Degreased trace level to %d\n", trace_level);
break;
+ case 'c':
+ opts->config_file_path = optarg;
+ break;
case 'h':
print_help_and_die(argv[0]);
break;