]> sigrok.org Git - libsigrok.git/blobdiff - hardware/zeroplus-logic-cube/protocol.h
Replace 'probe' with 'channel' in most places.
[libsigrok.git] / hardware / zeroplus-logic-cube / protocol.h
index 9710cf30659f56f4067270893528293979523a9b..4b55b332f702128fe7a53e06b742cfe3bdd9401c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the sigrok project.
+ * This file is part of the libsigrok project.
  *
  * Copyright (C) 2013 Uwe Hermann <uwe@hermann-uwe.de>
  *
 #ifndef LIBSIGROK_HARDWARE_ZEROPLUS_LOGIC_CUBE_PROTOCOL_H
 #define LIBSIGROK_HARDWARE_ZEROPLUS_LOGIC_CUBE_PROTOCOL_H
 
-/* Message logging helpers with driver-specific prefix string. */
-#define DRIVER_LOG_DOMAIN "zeroplus: "
-#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)
+#include <stdint.h>
+#include <glib.h>
+#include <libusb.h>
+#include "libsigrok.h"
+#include "libsigrok-internal.h"
+#include "analyzer.h"
+
+#define LOG_PREFIX "zeroplus"
+
+/* Private, per-device-instance driver context. */
+struct dev_context {
+       uint64_t cur_samplerate;
+       uint64_t max_samplerate;
+       uint64_t limit_samples;
+       int num_channels;
+       int memory_size;
+       unsigned int max_sample_depth;
+       //uint8_t channel_mask;
+       //uint8_t trigger_mask[NUM_TRIGGER_STAGES];
+       //uint8_t trigger_value[NUM_TRIGGER_STAGES];
+       // uint8_t trigger_buffer[NUM_TRIGGER_STAGES];
+       int trigger;
+       unsigned int capture_ratio;
+       double cur_threshold;
+       const struct zp_model *prof;
+};
+
+SR_PRIV unsigned int get_memory_size(int type);
+SR_PRIV int zp_set_samplerate(struct dev_context *devc, uint64_t samplerate);
+SR_PRIV int set_limit_samples(struct dev_context *devc, uint64_t samples);
+SR_PRIV int set_capture_ratio(struct dev_context *devc, uint64_t ratio);
+SR_PRIV int set_voltage_threshold(struct dev_context *devc, double thresh);
+SR_PRIV void set_triggerbar(struct dev_context *devc);
 
 #endif