]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/sysclk-lwla/protocol.h
Drop unneeded std_session_send_df_header() comments.
[libsigrok.git] / src / hardware / sysclk-lwla / protocol.h
index 355b5c0a1a9d66f1a0d79a05ae0fa73a15afe35e..ebfc704a97417b7737f8cd1c7fb11ac0fba93639 100644 (file)
@@ -23,6 +23,7 @@
 #define LOG_PREFIX "sysclk-lwla"
 
 #include <stdint.h>
+#include <libusb.h>
 #include <glib.h>
 #include <libsigrok/libsigrok.h>
 #include <libsigrok-internal.h>
@@ -58,7 +59,15 @@ enum {
 enum {
        USB_CONFIG      = 1,
        USB_INTERFACE   = 0,
-       USB_TIMEOUT_MS  = 3000,
+       USB_TIMEOUT_MS  = 1000,
+};
+
+/** USB device end points.
+ */
+enum usb_endpoint {
+       EP_COMMAND = 2,
+       EP_CONFIG  = 4,
+       EP_REPLY   = 6 | LIBUSB_ENDPOINT_IN
 };
 
 /** LWLA1034 clock sources.
@@ -109,12 +118,10 @@ enum protocol_state {
  */
 struct dev_context {
        uint64_t samplerate;    /* requested samplerate */
-
        uint64_t limit_msec;    /* requested capture duration in ms */
        uint64_t limit_samples; /* requested capture length in samples */
 
-       uint64_t channel_mask;  /* bit mask of enabled channels */
-
+       uint64_t channel_mask;          /* bit mask of enabled channels */
        uint64_t trigger_mask;          /* trigger enable mask */
        uint64_t trigger_edge_mask;     /* trigger type mask */
        uint64_t trigger_values;        /* trigger level/slope bits */
@@ -122,6 +129,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 */
@@ -132,7 +140,6 @@ 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.
@@ -155,8 +162,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);