X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Finput%2Fbinary.c;h=859d253cdb46458aef5915e9572918fd4bb4ceb5;hb=cac58676e987d06b890366ac4078a1e4fb1cbdc3;hp=11a3b4768f626b2566197e14d243636f809f6e2f;hpb=b84cba4dbf2a78806848f9dbaf10238a18daf735;p=libsigrok.git diff --git a/src/input/binary.c b/src/input/binary.c index 11a3b476..859d253c 100644 --- a/src/input/binary.c +++ b/src/input/binary.c @@ -30,7 +30,7 @@ #define MAX_CHUNK_SIZE 4096 #define DEFAULT_NUM_CHANNELS 8 -#define DEFAULT_SAMPLERATE "0" +#define DEFAULT_SAMPLERATE 0 struct context { gboolean started; @@ -41,9 +41,7 @@ static int init(struct sr_input *in, GHashTable *options) { struct sr_channel *ch; struct context *inc; - uint64_t samplerate; int num_channels, i; - const char *s; char name[16]; num_channels = g_variant_get_int32(g_hash_table_lookup(options, "numchannels")); @@ -52,15 +50,10 @@ static int init(struct sr_input *in, GHashTable *options) return SR_ERR_ARG; } - s = g_variant_get_string(g_hash_table_lookup(options, "samplerate"), NULL); - if (sr_parse_sizestring(s, &samplerate) != SR_OK) { - sr_err("Invalid samplerate '%s'.", s); - return SR_ERR_ARG; - } - in->sdi = sr_dev_inst_new(0, SR_ST_ACTIVE, NULL, NULL, NULL); in->priv = inc = g_malloc0(sizeof(struct context)); - inc->samplerate = samplerate; + + inc->samplerate = g_variant_get_uint64(g_hash_table_lookup(options, "samplerate")); for (i = 0; i < num_channels; i++) { snprintf(name, 16, "%d", i); @@ -138,14 +131,14 @@ static int cleanup(struct sr_input *in) static struct sr_option options[] = { { "numchannels", "Number of channels", "Number of channels", NULL, NULL }, { "samplerate", "Sample rate", "Sample rate", NULL, NULL }, - { 0 } + ALL_ZERO }; static struct sr_option *get_options(void) { if (!options[0].def) { options[0].def = g_variant_ref_sink(g_variant_new_int32(DEFAULT_NUM_CHANNELS)); - options[1].def = g_variant_ref_sink(g_variant_new_string(DEFAULT_SAMPLERATE)); + options[1].def = g_variant_ref_sink(g_variant_new_uint64(DEFAULT_SAMPLERATE)); } return options;