X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Flink-mso19%2Fprotocol.c;h=40a30b944a3f5711181e59f945877c12bee44a88;hb=f41a4cae4966fb0237211d163a7afc581e29cbd7;hp=d41a9e72251fc4817e29c3d92f70fc2464c0ed57;hpb=5952553f569f82b878717b9d97053690014604c9;p=libsigrok.git diff --git a/hardware/link-mso19/protocol.c b/hardware/link-mso19/protocol.c index d41a9e72..40a30b94 100644 --- a/hardware/link-mso19/protocol.c +++ b/hardware/link-mso19/protocol.c @@ -1,5 +1,5 @@ /* - * This file is part of the sigrok project. + * This file is part of the libsigrok project. * * Copyright (C) 2011 Daniel Ribeiro * Copyright (C) 2012 Renato Caldas @@ -215,7 +215,8 @@ SR_PRIV int mso_parse_serial(const char *iSerial, const char *iProduct, { unsigned int u1, u2, u3, u4, u5, u6; - iProduct = iProduct; + (void)iProduct; + /* FIXME: This code is in the original app, but I think its * used only for the GUI */ /* if (strstr(iProduct, "REV_02") || strstr(iProduct, "REV_03")) @@ -293,7 +294,7 @@ SR_PRIV void stop_acquisition(const struct sr_dev_inst *sdi) struct dev_context *devc; devc = sdi->priv; - sr_source_remove(devc->serial->fd); + serial_source_remove(devc->serial); /* Terminate session */ packet.type = SR_DF_END; @@ -333,7 +334,7 @@ SR_PRIV int mso_configure_rate(const struct sr_dev_inst *sdi, uint32_t rate) return ret; } -SR_PRIV int mso_check_trigger(struct sr_serial_dev_inst *serial, uint8_t * info) +SR_PRIV int mso_check_trigger(struct sr_serial_dev_inst *serial, uint8_t *info) { uint16_t ops[] = { mso_trans(REG_TRIGGER, 0) }; int ret; @@ -346,7 +347,8 @@ SR_PRIV int mso_check_trigger(struct sr_serial_dev_inst *serial, uint8_t * info) uint8_t buf = 0; if (serial_read(serial, &buf, 1) != 1) /* FIXME: Need timeout */ ret = SR_ERR; - *info = buf; + if (!info) + *info = buf; sr_dbg("Trigger state is: 0x%x.", *info); return ret; @@ -411,6 +413,7 @@ SR_PRIV int mso_receive_data(int fd, int revents, void *cb_data) /* FIXME: Need to do conversion to mV */ analog_out[i] = (devc->buffer[i * 3] & 0x3f) | ((devc->buffer[i * 3 + 1] & 0xf) << 6); + (void)analog_out; logic_out[i] = ((devc->buffer[i * 3 + 1] & 0x30) >> 4) | ((devc->buffer[i * 3 + 2] & 0x3f) << 2); } @@ -432,10 +435,10 @@ SR_PRIV int mso_receive_data(int fd, int revents, void *cb_data) return TRUE; } -SR_PRIV int mso_configure_probes(const struct sr_dev_inst *sdi) +SR_PRIV int mso_configure_channels(const struct sr_dev_inst *sdi) { struct dev_context *devc; - struct sr_probe *probe; + struct sr_channel *ch; GSList *l; char *tc; @@ -449,21 +452,21 @@ SR_PRIV int mso_configure_probes(const struct sr_dev_inst *sdi) devc->trigger_chan = 3; //LA combination trigger devc->use_trigger = FALSE; - for (l = sdi->probes; l; l = l->next) { - probe = (struct sr_probe *)l->data; - if (probe->enabled == FALSE) + for (l = sdi->channels; l; l = l->next) { + ch = (struct sr_channel *)l->data; + if (ch->enabled == FALSE) continue; - int probe_bit = 1 << (probe->index); - if (!(probe->trigger)) + int channel_bit = 1 << (ch->index); + if (!(ch->trigger)) continue; devc->use_trigger = TRUE; //Configure trigger mask and value. - for (tc = probe->trigger; *tc; tc++) { - devc->la_trigger_mask &= ~probe_bit; + for (tc = ch->trigger; *tc; tc++) { + devc->la_trigger_mask &= ~channel_bit; if (*tc == '1') - devc->la_trigger |= probe_bit; + devc->la_trigger |= channel_bit; } }