X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=blobdiff_plain;f=hardware%2Fhantek-dso%2Fdso.h;h=edccb725cf3830bc873833e6e4856e3468392a59;hp=8d543b62921d36608d1ec4602471a269429def8b;hb=43cd4637285833706f8a404ca027bcf0ee75b9ae;hpb=8c971b6e5c6fa0242d786b3c85aabedf2d9ad432 diff --git a/hardware/hantek-dso/dso.h b/hardware/hantek-dso/dso.h index 8d543b62..edccb725 100644 --- a/hardware/hantek-dso/dso.h +++ b/hardware/hantek-dso/dso.h @@ -1,5 +1,5 @@ /* - * This file is part of the sigrok project. + * This file is part of the libsigrok project. * * Copyright (C) 2012 Bert Vermeulen * With protocol information from the hantekdso project, @@ -19,17 +19,10 @@ * along with this program. If not, see . */ -#ifndef LIBSIGROK_HARDWARE_HANTEK_DSO_H -#define LIBSIGROK_HARDWARE_HANTEK_DSO_H +#ifndef LIBSIGROK_HARDWARE_HANTEK_DSO_DSO_H +#define LIBSIGROK_HARDWARE_HANTEK_DSO_DSO_H -/* Message logging helpers with driver-specific prefix string. */ -#define DRIVER_LOG_DOMAIN "hantek-dso: " -#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) +#define LOG_PREFIX "hantek-dso" #define USB_INTERFACE 0 #define USB_CONFIGURATION 1 @@ -55,8 +48,8 @@ /* Hantek DSO-specific protocol values */ #define EEPROM_CHANNEL_OFFSETS 0x08 +/* All models have this for their "fast" mode. */ #define FRAMESIZE_SMALL 10240 -#define FRAMESIZE_LARGE 32768 enum control_requests { CTRL_READ_EEPROM = 0xa2, @@ -76,8 +69,8 @@ enum dso_commands { CMD_GET_CAPTURESTATE, CMD_SET_VOLTAGE, /* unused */ - cmdSetLogicalData, - cmdGetLogicalData, + CMD_SET_LOGICALDATA, + CMD_GET_LOGICALDATA, }; /* Must match the coupling table. */ @@ -163,16 +156,16 @@ struct dso_profile { uint16_t fw_pid; char *vendor; char *model; + const uint64_t *buffersizes; char *firmware; }; struct dev_context { const struct dso_profile *profile; - struct sr_usb_dev_inst *usb; void *cb_data; uint64_t limit_frames; uint64_t num_frames; - GSList *enabled_probes; + GSList *enabled_channels; /* We can't keep track of an FX2-based device after upgrading * the firmware (it re-enumerates into a different device address * after the upgrade) this is like a global lock. No device will open @@ -214,12 +207,12 @@ struct dev_context { SR_PRIV int dso_open(struct sr_dev_inst *sdi); SR_PRIV void dso_close(struct sr_dev_inst *sdi); -SR_PRIV int dso_enable_trigger(struct dev_context *devc); -SR_PRIV int dso_force_trigger(struct dev_context *devc); -SR_PRIV int dso_init(struct dev_context *devc); -SR_PRIV int dso_get_capturestate(struct dev_context *devc, +SR_PRIV int dso_enable_trigger(const struct sr_dev_inst *sdi); +SR_PRIV int dso_force_trigger(const struct sr_dev_inst *sdi); +SR_PRIV int dso_init(const struct sr_dev_inst *sdi); +SR_PRIV int dso_get_capturestate(const struct sr_dev_inst *sdi, uint8_t *capturestate, uint32_t *trigger_offset); -SR_PRIV int dso_capture_start(struct dev_context *devc); +SR_PRIV int dso_capture_start(const struct sr_dev_inst *sdi); SR_PRIV int dso_get_channeldata(const struct sr_dev_inst *sdi, libusb_transfer_cb_fn cb);