X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Funi-t-ut32x%2Fprotocol.h;h=8513117cba92edf0e1402951620376dc58430c65;hb=13dd25bdb807217addc76e9c446485e28e6ec00a;hp=bcd67c90aad2e5fd87c7e5f59265cfe3bc8bc06f;hpb=3877dde43a08c23e37a6d944321005320bdcf784;p=libsigrok.git diff --git a/hardware/uni-t-ut32x/protocol.h b/hardware/uni-t-ut32x/protocol.h index bcd67c90..8513117c 100644 --- a/hardware/uni-t-ut32x/protocol.h +++ b/hardware/uni-t-ut32x/protocol.h @@ -25,27 +25,47 @@ #include "libsigrok.h" #include "libsigrok-internal.h" -/* Message logging helpers with subsystem-specific prefix string. */ -#define LOG_PREFIX "uni-t-ut32x: " -#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 LOG_PREFIX "uni-t-ut32x" + +#define DEFAULT_DATA_SOURCE DATA_SOURCE_LIVE +#define USB_CONN "1a86.e008" +#define VENDOR "UNI-T" +#define MODEL "UT32x" +#define USB_INTERFACE 0 +#define USB_CONFIGURATION 1 + +#define EP_IN 0x80 | 2 +#define EP_OUT 2 + +enum { + DATA_SOURCE_LIVE, + DATA_SOURCE_MEMORY, +}; + +enum { + CMD_GET_LIVE = 1, + CMD_STOP = 2, + CMD_GET_STORED = 7, +}; /** Private, per-device-instance driver context. */ struct dev_context { - /* Model-specific information */ - /* Acquisition settings */ + uint64_t limit_samples; + gboolean data_source; /* Operational state */ + uint64_t num_samples; + unsigned char buf[8]; + struct libusb_transfer *xfer; + void *cb_data; /* Temporary state across callbacks */ - + unsigned char packet[32]; + int packet_len; }; -SR_PRIV int uni_t_ut32x_receive_data(int fd, int revents, void *cb_data); +SR_PRIV int uni_t_ut32x_handle_events(int fd, int revents, void *cb_data); +SR_PRIV void uni_t_ut32x_receive_transfer(struct libusb_transfer *transfer); #endif