X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=sigrok-cli.h;h=8d2669967e3d9ff2af56b6fbe75ddbbeed9ea924;hp=c07d6cb9ee494742460e0c335701a7f6aea377b7;hb=e8a9eb8d33617a5210a1c10d1855a8482bd85080;hpb=24bd9719166584e3b4e6e6423d6d6bcbc1a88251 diff --git a/sigrok-cli.h b/sigrok-cli.h index c07d6cb..8d26699 100644 --- a/sigrok-cli.h +++ b/sigrok-cli.h @@ -20,21 +20,18 @@ #ifndef SIGROK_CLI_SIGROK_CLI_H #define SIGROK_CLI_SIGROK_CLI_H -#include "config.h" #ifdef HAVE_SRD /* First, so we avoid a _POSIX_C_SOURCE warning. */ #include #endif #include -#define DEFAULT_OUTPUT_FORMAT "bits:width=64" -#define SAVE_CHUNK_SIZE 524288 +#define DEFAULT_OUTPUT_FORMAT_FILE "srzip" +#define DEFAULT_OUTPUT_FORMAT_NOFILE "bits:width=64" /* main.c */ +extern struct sr_context *sr_ctx; int select_channels(struct sr_dev_inst *sdi); -gboolean config_key_has_cap(struct sr_dev_driver *driver, - const struct sr_dev_inst *sdi, struct sr_channel_group *cg, - uint32_t key, uint32_t capability); int maybe_config_get(struct sr_dev_driver *driver, const struct sr_dev_inst *sdi, struct sr_channel_group *cg, uint32_t key, GVariant **gvar); @@ -47,32 +44,50 @@ int maybe_config_list(struct sr_dev_driver *driver, /* show.c */ void show_version(void); +void show_supported(void); +void show_supported_wiki(void); void show_dev_list(void); void show_dev_detail(void); 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); /* 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(struct sr_dev_inst *sdi, GHashTable *args); void run_session(void); -void save_chunk_logic(struct sr_session *session, uint8_t *data, - uint64_t data_len, int unitsize); /* 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 -int register_pds(const char *opt_pds, char *opt_pd_annotations); -int setup_pd_stack(char *opt_pds, char *opt_pd_stack, char *opt_pd_annotations); +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); int setup_pd_binary(char *opt_pd_binary); @@ -98,8 +113,11 @@ void clear_anykey(void); /* options.c */ extern gboolean opt_version; +extern gboolean opt_list_supported; +extern gboolean opt_list_supported_wiki; extern gint opt_loglevel; extern gboolean opt_scan_devs; +extern gboolean opt_dont_scan; extern gboolean opt_wait_trigger; extern gchar *opt_input_file; extern gchar *opt_output_file; @@ -108,22 +126,24 @@ extern gchar *opt_config; extern gchar *opt_channels; extern gchar *opt_channel_group; extern gchar *opt_triggers; -extern gchar *opt_pds; +extern gchar **opt_pds; #ifdef HAVE_SRD -extern gchar *opt_pd_stack; extern gchar *opt_pd_annotations; extern gchar *opt_pd_meta; extern gchar *opt_pd_binary; +extern gboolean opt_pd_samplenum; #endif extern gchar *opt_input_format; extern gchar *opt_output_format; -extern gchar *opt_show; +extern gchar *opt_transform_module; +extern gboolean opt_show; extern gchar *opt_time; extern gchar *opt_samples; extern gchar *opt_frames; -extern gchar *opt_continuous; +extern gboolean opt_continuous; extern gchar *opt_get; -extern gchar *opt_set; +extern gboolean opt_set; +extern gboolean opt_list_serial; int parse_options(int argc, char **argv); void show_help(void);