#define LIBSIGROK_HARDWARE_LASCAR_EL_USB_PROTOCOL_H
#include <stdint.h>
-#include "libsigrok.h"
+#include <libsigrok/libsigrok.h>
#include "libsigrok-internal.h"
#define LOG_PREFIX "lascar-el-usb"
#define LASCAR_INTERFACE 0
#define LASCAR_EP_IN 0x82
#define LASCAR_EP_OUT 2
-/* Max 100ms for a device to positively identify. */
-#define SCAN_TIMEOUT 100000
#define MAX_CONFIGBLOCK_SIZE 256
+/* Max 100ms for a device to positively identify. */
+#define SCAN_TIMEOUT (100 * 1000)
+#define BULK_XFER_TIMEOUT (10 * 1000)
+#define EVENTS_TIMEOUT (10 * 1000)
+#define SLEEP_US_LONG (5 * 1000)
+#define SLEEP_US_SHORT (1 * 1000)
+
/** Private, per-device-instance driver context. */
struct dev_context {
void *cb_data;
unsigned char *configblock, int *configlen);
SR_PRIV struct sr_dev_inst *lascar_scan(int bus, int address);
SR_PRIV int lascar_el_usb_handle_events(int fd, int revents, void *cb_data);
-SR_PRIV void lascar_el_usb_receive_transfer(struct libusb_transfer *transfer);
+SR_PRIV void LIBUSB_CALL lascar_el_usb_receive_transfer(struct libusb_transfer *transfer);
SR_PRIV int lascar_start_logging(const struct sr_dev_inst *sdi);
SR_PRIV int lascar_stop_logging(const struct sr_dev_inst *sdi);
SR_PRIV int lascar_is_logging(const struct sr_dev_inst *sdi);