X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fdreamsourcelab-dslogic%2Fprotocol.c;h=bb98d61a4b4f467f4eafa5cfb5d487b6a20f79ac;hb=HEAD;hp=2096073c1000c3c866d35133995d4d10498f89f2;hpb=d9b716fc5fcd9f9e7e663d5c8fcdbada9cbd94d8;p=libsigrok.git diff --git a/src/hardware/dreamsourcelab-dslogic/protocol.c b/src/hardware/dreamsourcelab-dslogic/protocol.c index 2096073c..bb98d61a 100644 --- a/src/hardware/dreamsourcelab-dslogic/protocol.c +++ b/src/hardware/dreamsourcelab-dslogic/protocol.c @@ -568,7 +568,9 @@ SR_PRIV int dslogic_dev_open(struct sr_dev_inst *sdi, struct sr_dev_driver *di) if ((sdi->status == SR_ST_INITIALIZING) || (sdi->status == SR_ST_INACTIVE)) { /* Check device by its physical USB bus/port address. */ - usb_get_port_path(devlist[i], connection_id, sizeof(connection_id)); + if (usb_get_port_path(devlist[i], connection_id, sizeof(connection_id)) < 0) + continue; + if (strcmp(sdi->connection_id, connection_id)) /* This is not the one. */ continue; @@ -774,7 +776,6 @@ static void LIBUSB_CALL receive_transfer(struct libusb_transfer *transfer) (DSLOGIC_ATOMIC_BYTES * channel_count); gboolean packet_has_error = FALSE; - struct sr_datafeed_packet packet; unsigned int num_samples; int trigger_offset; @@ -854,9 +855,7 @@ static void LIBUSB_CALL receive_transfer(struct libusb_transfer *transfer) devc->sent_samples += trigger_offset; /* Trigger position. */ devc->trigger_pos = 0; - packet.type = SR_DF_TRIGGER; - packet.payload = NULL; - sr_session_send(sdi, &packet); + std_session_send_df_trigger(sdi); /* Post trigger samples. */ num_samples -= trigger_offset; send_data(sdi, devc->deinterleave_buffer @@ -1018,8 +1017,8 @@ static void LIBUSB_CALL trigger_receive(struct libusb_transfer *transfer) } else if (transfer->status == LIBUSB_TRANSFER_COMPLETED && transfer->actual_length == sizeof(struct dslogic_trigger_pos)) { tpos = (struct dslogic_trigger_pos *)transfer->buffer; - sr_info("tpos real_pos %d ram_saddr %d cnt %d", tpos->real_pos, - tpos->ram_saddr, tpos->remain_cnt); + sr_info("tpos real_pos %d ram_saddr %d cnt_h %d cnt_l %d", tpos->real_pos, + tpos->ram_saddr, tpos->remain_cnt_h, tpos->remain_cnt_l); devc->trigger_pos = tpos->real_pos; g_free(tpos); start_transfers(sdi);