]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/fx2lafw/protocol.c
fx2lafw/dslogic: Split DSLogic into a separate driver
[libsigrok.git] / src / hardware / fx2lafw / protocol.c
index 6aca18080d63c1f1e2981d88e89969ad2556e1ed..9ca749a50bd6f3fea41b254e87121f55bb9a1ffd 100644 (file)
@@ -22,7 +22,6 @@
 #include <glib.h>
 #include <glib/gstdio.h>
 #include "protocol.h"
-#include "dslogic.h"
 
 #pragma pack(push, 1)
 
@@ -61,14 +60,13 @@ static int command_get_fw_version(libusb_device_handle *devhdl,
 
 static int command_get_revid_version(struct sr_dev_inst *sdi, uint8_t *revid)
 {
-       struct dev_context *devc = sdi->priv;
        struct sr_usb_dev_inst *usb = sdi->conn;
        libusb_device_handle *devhdl = usb->devhdl;
-       int cmd, ret;
+       int ret;
 
-       cmd = devc->dslogic ? DS_CMD_GET_REVID_VERSION : CMD_GET_REVID_VERSION;
        ret = libusb_control_transfer(devhdl, LIBUSB_REQUEST_TYPE_VENDOR |
-               LIBUSB_ENDPOINT_IN, cmd, 0x0000, 0x0000, revid, 1, USB_TIMEOUT);
+               LIBUSB_ENDPOINT_IN, CMD_GET_REVID_VERSION, 0x0000, 0x0000,
+               revid, 1, USB_TIMEOUT);
 
        if (ret < 0) {
                sr_err("Unable to get REVID: %s.", libusb_error_name(ret));
@@ -263,8 +261,6 @@ SR_PRIV struct dev_context *fx2lafw_dev_new(void)
        devc->limit_samples = 0;
        devc->capture_ratio = 0;
        devc->sample_wide = FALSE;
-       devc->dslogic_continuous_mode = FALSE;
-       devc->dslogic_clock_edge = DS_EDGE_RISING;
        devc->stl = NULL;
 
        return devc;
@@ -418,7 +414,6 @@ SR_PRIV void LIBUSB_CALL fx2lafw_receive_transfer(struct libusb_transfer *transf
        struct sr_dev_inst *sdi;
        struct dev_context *devc;
        gboolean packet_has_error = FALSE;
-       struct sr_datafeed_packet packet;
        unsigned int num_samples;
        int trigger_offset, cur_sample_count, unitsize;
        int pre_trigger_samples;
@@ -479,29 +474,9 @@ SR_PRIV void LIBUSB_CALL fx2lafw_receive_transfer(struct libusb_transfer *transf
                        else
                                num_samples = cur_sample_count;
 
-                       if (devc->dslogic && devc->trigger_pos > devc->sent_samples
-                               && devc->trigger_pos <= devc->sent_samples + num_samples) {
-                                       /* DSLogic trigger in this block. Send trigger position. */
-                                       trigger_offset = devc->trigger_pos - devc->sent_samples;
-                                       /* Pre-trigger samples. */
-                                       devc->send_data_proc(sdi, (uint8_t *)transfer->buffer,
-                                               trigger_offset * unitsize, unitsize);
-                                       devc->sent_samples += trigger_offset;
-                                       /* Trigger position. */
-                                       devc->trigger_pos = 0;
-                                       packet.type = SR_DF_TRIGGER;
-                                       packet.payload = NULL;
-                                       sr_session_send(sdi, &packet);
-                                       /* Post trigger samples. */
-                                       num_samples -= trigger_offset;
-                                       devc->send_data_proc(sdi, (uint8_t *)transfer->buffer
-                                                       + trigger_offset * unitsize, num_samples * unitsize, unitsize);
-                                       devc->sent_samples += num_samples;
-                       } else {
-                               devc->send_data_proc(sdi, (uint8_t *)transfer->buffer,
-                                       num_samples * unitsize, unitsize);
-                               devc->sent_samples += num_samples;
-                       }
+                       devc->send_data_proc(sdi, (uint8_t *)transfer->buffer,
+                               num_samples * unitsize, unitsize);
+                       devc->sent_samples += num_samples;
                }
        } else {
                trigger_offset = soft_trigger_logic_check(devc->stl,
@@ -550,9 +525,6 @@ SR_PRIV unsigned int fx2lafw_get_number_of_transfers(struct dev_context *devc)
 {
        unsigned int n;
 
-       if (devc->dslogic)
-               return dslogic_get_number_of_transfers(devc);
-
        /* Total buffer size should be able to hold about 500ms of data. */
        n = (500 * to_bytes_per_ms(devc->cur_samplerate) /
                fx2lafw_get_buffer_size(devc));