X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=sigrok-cli.h;h=2c0fbdcf57d2358b9864cce8676b39e1e7bba1f0;hp=12a1462fe2a43de2b9504b00f33c26b6ff84def4;hb=HEAD;hpb=b20ea789170c7bb52c54b23c0167992bceb9a330 diff --git a/sigrok-cli.h b/sigrok-cli.h index 12a1462..b33b076 100644 --- a/sigrok-cli.h +++ b/sigrok-cli.h @@ -52,23 +52,44 @@ void show_pd_detail(void); void show_input(void); void show_output(void); void show_transform(void); +void show_serial_ports(void); /* device.c */ GSList *device_scan(void); -struct sr_channel_group *select_channel_group(struct sr_dev_inst *sdi); +struct sr_channel_group *lookup_channel_group(struct sr_dev_inst *sdi, + const char *cg_name); /* session.c */ +struct df_arg_desc { + struct sr_session *session; + int do_props; + struct input_stream_props { + uint64_t samplerate; + GSList *channels; + const struct sr_channel *first_analog_channel; + size_t unitsize; + uint64_t sample_count_logic; + uint64_t sample_count_analog; + uint64_t frame_count; + uint64_t triggered; + } props; +}; void datafeed_in(const struct sr_dev_inst *sdi, const struct sr_datafeed_packet *packet, void *cb_data); int opt_to_gvar(char *key, char *value, struct sr_config *src); +int set_dev_options_array(struct sr_dev_inst *sdi, char **opts); int set_dev_options(struct sr_dev_inst *sdi, GHashTable *args); void run_session(void); /* input.c */ -void load_input_file(void); +void load_input_file(gboolean do_props); + +/* output.c */ +int setup_binary_stdout(void); /* decode.c */ #ifdef HAVE_SRD +extern uint64_t pd_samplerate; int register_pds(gchar **all_pds, char *opt_pd_annotations); int setup_pd_annotations(char *opt_pd_annotations); int setup_pd_meta(char *opt_pd_meta); @@ -76,16 +97,23 @@ int setup_pd_binary(char *opt_pd_binary); void show_pd_annotations(struct srd_proto_data *pdata, void *cb_data); void show_pd_meta(struct srd_proto_data *pdata, void *cb_data); void show_pd_binary(struct srd_proto_data *pdata, void *cb_data); +void show_pd_prepare(void); +void show_pd_close(void); void map_pd_channels(struct sr_dev_inst *sdi); #endif /* parsers.c */ -struct sr_channel *find_channel(GSList *channellist, const char *channelname); +struct sr_channel *find_channel(GSList *channellist, const char *channelname, + gboolean exact_case); GSList *parse_channelstring(struct sr_dev_inst *sdi, const char *channelstring); int parse_triggerstring(const struct sr_dev_inst *sdi, const char *s, struct sr_trigger **trigger); -GHashTable *parse_generic_arg(const char *arg, gboolean sep_first); +GHashTable *parse_generic_arg(const char *arg, + gboolean sep_first, const char *key_first); GHashTable *generic_arg_to_opt(const struct sr_option **opts, GHashTable *genargs); +GSList *check_unknown_keys(const struct sr_option **avail, GHashTable *used); +gboolean warn_unknown_keys(const struct sr_option **avail, GHashTable *used, + const char *caption); int canon_cmp(const char *str1, const char *str2); int parse_driver(char *arg, struct sr_dev_driver **driver, GSList **drvopts); @@ -104,7 +132,7 @@ extern gboolean opt_wait_trigger; extern gchar *opt_input_file; extern gchar *opt_output_file; extern gchar *opt_drv; -extern gchar *opt_config; +extern gchar **opt_configs; extern gchar *opt_channels; extern gchar *opt_channel_group; extern gchar *opt_triggers; @@ -113,7 +141,9 @@ extern gchar **opt_pds; extern gchar *opt_pd_annotations; extern gchar *opt_pd_meta; extern gchar *opt_pd_binary; +extern gboolean opt_pd_ann_class; extern gboolean opt_pd_samplenum; +extern gboolean opt_pd_jsontrace; #endif extern gchar *opt_input_format; extern gchar *opt_output_format; @@ -123,8 +153,9 @@ extern gchar *opt_time; extern gchar *opt_samples; extern gchar *opt_frames; extern gboolean opt_continuous; -extern gchar *opt_get; +extern gchar **opt_gets; extern gboolean opt_set; +extern gboolean opt_list_serial; int parse_options(int argc, char **argv); void show_help(void);