X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=output%2Foutput_analog.c;h=5118b5ae5fdbe839c13dbd2a13531a1df89d6aa1;hb=cdb3573ceba61b02b80f7fc979d166db5b6ff3bc;hp=f00bffa342f0ffd8f6175d1a735c0e11985b676d;hpb=3a285098170ee6d5c7eab3fd94606e61a4fbaa19;p=libsigrok.git diff --git a/output/output_analog.c b/output/output_analog.c index f00bffa3..5118b5ae 100644 --- a/output/output_analog.c +++ b/output/output_analog.c @@ -48,7 +48,7 @@ struct context { uint8_t *linevalues; char *header; int mark_trigger; -// struct analog_sample *prevsample; +// struct sr_analog_sample *prevsample; enum outputmode mode; }; @@ -92,7 +92,7 @@ static void flush_linebufs(struct context *ctx, char *outbuf) static int init(struct sr_output *o, int default_spl, enum outputmode mode) { struct context *ctx; - struct probe *probe; + struct sr_probe *probe; GSList *l; uint64_t samplerate; int num_probes; @@ -112,8 +112,8 @@ static int init(struct sr_output *o, int default_spl, enum outputmode mode) } ctx->probelist[ctx->num_enabled_probes] = 0; - ctx->unitsize = sizeof(struct analog_sample) + - (ctx->num_enabled_probes * sizeof(struct analog_probe)); + ctx->unitsize = sizeof(struct sr_analog_sample) + + (ctx->num_enabled_probes * sizeof(struct sr_analog_probe)); ctx->line_offset = 0; ctx->spl_cnt = 0; ctx->mark_trigger = -1; @@ -133,7 +133,7 @@ static int init(struct sr_output *o, int default_spl, enum outputmode mode) snprintf(ctx->header, 511, "%s\n", PACKAGE_STRING); num_probes = g_slist_length(o->device->probes); - if (o->device->plugin && device_has_hwcap(o->device, SR_HWCAP_SAMPLERATE)) { + if (o->device->plugin && sr_device_has_hwcap(o->device, SR_HWCAP_SAMPLERATE)) { samplerate = *((uint64_t *) o->device->plugin->get_device_info( o->device->plugin_index, SR_DI_CUR_SAMPLERATE)); if (!(samplerate_s = sr_samplerate_string(samplerate))) { @@ -202,17 +202,17 @@ static int init_bits(struct sr_output *o) return init(o, DEFAULT_BPL_BITS, MODE_BITS); } -static int data_bits(struct sr_output *o, char *data_in, uint64_t length_in, - char **data_out, uint64_t *length_out) +static int data_bits(struct sr_output *o, const char *data_in, + uint64_t length_in, char **data_out, uint64_t *length_out) { struct context *ctx; unsigned int outsize, offset, p; int max_linelen; - struct analog_sample *sample; + struct sr_analog_sample *sample; char *outbuf, c; ctx = o->internal; - max_linelen = MAX_PROBENAME_LEN + 3 + ctx->samples_per_line + max_linelen = SR_MAX_PROBENAME_LEN + 3 + ctx->samples_per_line + ctx->samples_per_line / 8; /* * Calculate space needed for probes. Set aside 512 bytes for @@ -239,7 +239,7 @@ static int data_bits(struct sr_output *o, char *data_in, uint64_t length_in, if (length_in >= ctx->unitsize) { for (offset = 0; offset <= length_in - ctx->unitsize; offset += ctx->unitsize) { - sample = (struct analog_sample *) (data_in + offset); + sample = (struct sr_analog_sample *) (data_in + offset); for (p = 0; p < ctx->num_enabled_probes; p++) { int val = sample->probes[p].val; int res = sample->probes[p].res; @@ -288,8 +288,8 @@ static int init_hex(struct sr_output *o) return init(o, DEFAULT_BPL_HEX, MODE_HEX); } -static int data_hex(struct sr_output *o, char *data_in, uint64_t length_in, - char **data_out, uint64_t *length_out) +static int data_hex(struct sr_output *o, const char *data_in, + uint64_t length_in, char **data_out, uint64_t *length_out) { struct context *ctx; unsigned int outsize, offset, p; @@ -298,7 +298,7 @@ static int data_hex(struct sr_output *o, char *data_in, uint64_t length_in, char *outbuf; ctx = o->internal; - max_linelen = MAX_PROBENAME_LEN + 3 + ctx->samples_per_line + max_linelen = SR_MAX_PROBENAME_LEN + 3 + ctx->samples_per_line + ctx->samples_per_line / 2; outsize = length_in / ctx->unitsize * ctx->num_enabled_probes / ctx->samples_per_line * max_linelen + 512; @@ -353,8 +353,8 @@ static int init_ascii(struct sr_output *o) return init(o, DEFAULT_BPL_ASCII, MODE_ASCII); } -static int data_ascii(struct sr_output *o, char *data_in, uint64_t length_in, - char **data_out, uint64_t *length_out) +static int data_ascii(struct sr_output *o, const char *data_in, + uint64_t length_in, char **data_out, uint64_t *length_out) { struct context *ctx; unsigned int outsize, offset, p; @@ -363,7 +363,7 @@ static int data_ascii(struct sr_output *o, char *data_in, uint64_t length_in, char *outbuf; ctx = o->internal; - max_linelen = MAX_PROBENAME_LEN + 3 + ctx->samples_per_line + max_linelen = SR_MAX_PROBENAME_LEN + 3 + ctx->samples_per_line + ctx->samples_per_line / 8; /* * Calculate space needed for probes. Set aside 512 bytes for @@ -439,29 +439,29 @@ static int data_ascii(struct sr_output *o, char *data_in, uint64_t length_in, #endif struct sr_output_format output_analog_bits = { - "analog_bits", - "Bits (takes argument, default 64)", - SR_DF_ANALOG, - init_bits, - data_bits, - event, + .id = "analog_bits", + .description = "Bits (takes argument, default 64)", + .df_type = SR_DF_ANALOG, + .init = init_bits, + .data = data_bits, + .event = event, }; #if 0 struct sr_output_format output_analog_hex = { - "analog_hex", - "Hexadecimal (takes argument, default 192)", - SR_DF_ANALOG, - init_hex, - data_hex, - event, + .id = "analog_hex", + .description = "Hexadecimal (takes argument, default 192)", + .df_type = SR_DF_ANALOG, + .init = init_hex, + .data = data_hex, + .event = event, }; struct sr_output_format output_analog_ascii = { - "analog_ascii", - "ASCII (takes argument, default 74)", - SR_DF_ANALOG, - init_ascii, - data_ascii, - event, + .id = "analog_ascii", + .description = "ASCII (takes argument, default 74)", + .df_type = SR_DF_ANALOG, + .init = init_ascii, + .data = data_ascii, + .event = event, }; #endif