X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Funi-t-ut32x%2Fprotocol.h;h=b070eb43738cec81ab9bee1a1e92387db8372f8d;hb=8e2da1a650dade6529668d4b22e906ccec172b17;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..b070eb43 100644 --- a/hardware/uni-t-ut32x/protocol.h +++ b/hardware/uni-t-ut32x/protocol.h @@ -34,18 +34,46 @@ #define sr_warn(s, args...) sr_warn(LOG_PREFIX s, ## args) #define sr_err(s, args...) sr_err(LOG_PREFIX s, ## args) +#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; + int usbfd[10]; + 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