X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Flink-mso19%2Fprotocol.c;h=40a30b944a3f5711181e59f945877c12bee44a88;hb=f41a4cae4966fb0237211d163a7afc581e29cbd7;hp=d94e2b6c1b3d6625042d26f64d93e4f0f7792cb0;hpb=a24e9d0484c09f972dcb31952a1ab1559bbcdedb;p=libsigrok.git diff --git a/hardware/link-mso19/protocol.c b/hardware/link-mso19/protocol.c index d94e2b6c..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 @@ -121,7 +121,7 @@ SR_PRIV int mso_configure_trigger(const struct sr_dev_inst *sdi) uint16_t ops[18]; ops[0] = mso_trans(3, threshold_value & 0xff); //The trigger_config also holds the 2 MSB bits from the threshold value - ops[1] = mso_trans(4, trigger_config | (threshold_value >> 8) & 0x03); + ops[1] = mso_trans(4, trigger_config | ((threshold_value >> 8) & 0x03)); ops[2] = mso_trans(5, devc->la_trigger); ops[3] = mso_trans(6, devc->la_trigger_mask); ops[4] = mso_trans(7, devc->trigger_holdoff[0]); @@ -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; } }