]> sigrok.org Git - libsigrok.git/blobdiff - hardware/hantek-dso/dso.h
build: Portability fixes.
[libsigrok.git] / hardware / hantek-dso / dso.h
index 8d543b62921d36608d1ec4602471a269429def8b..edccb725cf3830bc873833e6e4856e3468392a59 100644 (file)
@@ -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 <bert@biot.com>
  * With protocol information from the hantekdso project,
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#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);