X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fsysclk-lwla%2Fprotocol.h;h=ebfc704a97417b7737f8cd1c7fb11ac0fba93639;hb=81eb36d640b364bf955fd26b2a3987c56e0a720f;hp=355b5c0a1a9d66f1a0d79a05ae0fa73a15afe35e;hpb=be64f90b53d09d9720dc6e06ff8ab61d96c03932;p=libsigrok.git diff --git a/src/hardware/sysclk-lwla/protocol.h b/src/hardware/sysclk-lwla/protocol.h index 355b5c0a..ebfc704a 100644 --- a/src/hardware/sysclk-lwla/protocol.h +++ b/src/hardware/sysclk-lwla/protocol.h @@ -23,6 +23,7 @@ #define LOG_PREFIX "sysclk-lwla" #include +#include #include #include #include @@ -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);