]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/sysclk-lwla/protocol.h
drivers: Eliminate some unnecessary vendor/model #defines.
[libsigrok.git] / src / hardware / sysclk-lwla / protocol.h
index 9e04100ba827a62511995d1838df03141e5b194f..23c2728ab308588afd226b6d80f42bf956fd37b2 100644 (file)
@@ -28,8 +28,6 @@
 #include <libsigrok/libsigrok.h>
 #include <libsigrok-internal.h>
 
-#define VENDOR_NAME    "SysClk"
-
 /* Maximum configurable sample count limit.
  * Due to compression, there is no meaningful hardware limit the driver
  * could report. So this value is less than 2^64-1 for no reason other
 
 struct acquisition_state;
 
-/* USB vendor and product IDs.
- */
+/* USB vendor and product IDs. */
 enum {
        USB_VID_SYSCLK   = 0x2961,
        USB_PID_LWLA1016 = 0x6688,
        USB_PID_LWLA1034 = 0x6689,
 };
 
-/* USB device characteristics.
- */
+/* USB device characteristics. */
 enum {
        USB_CONFIG      = 1,
        USB_INTERFACE   = 0,
-       USB_TIMEOUT_MS  = 3000,
+       USB_TIMEOUT_MS  = 1000,
 };
 
-/** USB device end points.
- */
+/** USB device end points. */
 enum usb_endpoint {
        EP_COMMAND = 2,
        EP_CONFIG  = 4,
        EP_REPLY   = 6 | LIBUSB_ENDPOINT_IN
 };
 
-/** LWLA1034 clock sources.
- */
+/** LWLA1034 clock sources. */
 enum clock_source {
        CLOCK_INTERNAL = 0,
        CLOCK_EXT_CLK,
 };
 
-/** LWLA1034 trigger sources.
- */
+/** LWLA1034 trigger sources. */
 enum trigger_source {
        TRIGGER_CHANNELS = 0,
        TRIGGER_EXT_TRG,
 };
 
-/** Edge choices for the LWLA1034 external clock and trigger inputs.
- */
+/** Edge choices for the LWLA1034 external clock and trigger inputs. */
 enum signal_edge {
        EDGE_POSITIVE = 0,
        EDGE_NEGATIVE,
@@ -96,8 +88,7 @@ enum {
        FPGA_NOCONF = -1,
 };
 
-/** Acquisition protocol states.
- */
+/** Acquisition protocol states. */
 enum protocol_state {
        /* idle states */
        STATE_IDLE = 0,
@@ -114,8 +105,6 @@ enum protocol_state {
        STATE_READ_REQUEST,
 };
 
-/** Private, per-device-instance driver context.
- */
 struct dev_context {
        uint64_t samplerate;    /* requested samplerate */
        uint64_t limit_msec;    /* requested capture duration in ms */
@@ -129,6 +118,7 @@ struct dev_context {
        const struct model_info *model;         /* device model descriptor */
        struct acquisition_state *acquisition;  /* running capture state */
        int active_fpga_config;                 /* FPGA configuration index */
+       gboolean short_transfer_quirk;          /* 64 bytes response limit */
 
        enum protocol_state state;      /* async protocol state */
        gboolean cancel_requested;      /* stop after current transfer */
@@ -139,11 +129,9 @@ struct dev_context {
        enum signal_edge cfg_clock_edge;        /* ext clock edge setting */
        enum trigger_source cfg_trigger_source; /* trigger source setting */
        enum signal_edge cfg_trigger_slope;     /* ext trigger slope setting */
-
 };
 
-/** LWLA model descriptor.
- */
+/** LWLA model descriptor. */
 struct model_info {
        char name[12];
        int num_channels;
@@ -162,8 +150,8 @@ struct model_info {
        int (*handle_response)(const struct sr_dev_inst *sdi);
 };
 
-SR_PRIV const struct model_info lwla1016_info;
-SR_PRIV const struct model_info lwla1034_info;
+extern SR_PRIV const struct model_info lwla1016_info;
+extern SR_PRIV const struct model_info lwla1034_info;
 
 SR_PRIV int lwla_start_acquisition(const struct sr_dev_inst *sdi);