X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Flascar-el-usb%2Fprotocol.h;h=f7fe78fd33ba89cb9318f26b2633f18f6525798d;hb=7ab89f4827d516313cafc9b7b9670ee99dc9c584;hp=185afde16a9e5330ea7146de352850344af6a0f9;hpb=6aed917b133d44199500cdffc0d2f7998add3fb6;p=libsigrok.git diff --git a/hardware/lascar-el-usb/protocol.h b/hardware/lascar-el-usb/protocol.h index 185afde1..f7fe78fd 100644 --- a/hardware/lascar-el-usb/protocol.h +++ b/hardware/lascar-el-usb/protocol.h @@ -24,14 +24,14 @@ #include "libsigrok.h" #include "libsigrok-internal.h" -/* Message logging helpers with driver-specific prefix string. */ -#define DRIVER_LOG_DOMAIN "lascar-el-usb: " -#define sr_log(l, s, args...) sr_log(l, DRIVER_LOG_DOMAIN s, ## args) -#define sr_spew(s, args...) sr_spew(DRIVER_LOG_DOMAIN s, ## args) -#define sr_dbg(s, args...) sr_dbg(DRIVER_LOG_DOMAIN s, ## args) -#define sr_info(s, args...) sr_info(DRIVER_LOG_DOMAIN s, ## args) -#define sr_warn(s, args...) sr_warn(DRIVER_LOG_DOMAIN s, ## args) -#define sr_err(s, args...) sr_err(DRIVER_LOG_DOMAIN s, ## args) +/* Message logging helpers with subsystem-specific prefix string. */ +#define LOG_PREFIX "lascar-el-usb: " +#define sr_log(l, s, args...) sr_log(l, LOG_PREFIX s, ## args) +#define sr_spew(s, args...) sr_spew(LOG_PREFIX s, ## args) +#define sr_dbg(s, args...) sr_dbg(LOG_PREFIX s, ## args) +#define sr_info(s, args...) sr_info(LOG_PREFIX s, ## args) +#define sr_warn(s, args...) sr_warn(LOG_PREFIX s, ## args) +#define sr_err(s, args...) sr_err(LOG_PREFIX s, ## args) #define LASCAR_VENDOR "Lascar" #define LASCAR_INTERFACE 0 @@ -39,15 +39,15 @@ #define LASCAR_EP_OUT 2 /* Max 100ms for a device to positively identify. */ #define SCAN_TIMEOUT 100000 +#define MAX_CONFIGBLOCK_SIZE 256 /** Private, per-device-instance driver context. */ struct dev_context { void *cb_data; - struct sr_usb_dev_inst *usb; const struct elusb_profile *profile; int usbfd[10]; /* Generic EL-USB */ - unsigned char *config; + unsigned char config[MAX_CONFIGBLOCK_SIZE]; unsigned int log_size; unsigned int rcvd_bytes; unsigned int sample_size; @@ -75,9 +75,13 @@ struct elusb_profile { int logformat; }; -SR_PRIV unsigned char *lascar_get_config(libusb_device_handle *dev_hdl); +SR_PRIV int lascar_get_config(libusb_device_handle *dev_hdl, + unsigned char *configblock, int *configlen); 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 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); SR_PRIV int hw_dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data); #endif