X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fzeroplus-logic-cube%2Fprotocol.h;h=09f82287bd87db9eddbed913611ce480b5b61460;hb=fe9d5abefcebb3a382d990e069d93c28e9541e35;hp=9710cf30659f56f4067270893528293979523a9b;hpb=6d1161142dfce461c8e54c09d821443c68916df8;p=libsigrok.git diff --git a/hardware/zeroplus-logic-cube/protocol.h b/hardware/zeroplus-logic-cube/protocol.h index 9710cf30..09f82287 100644 --- a/hardware/zeroplus-logic-cube/protocol.h +++ b/hardware/zeroplus-logic-cube/protocol.h @@ -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 * @@ -21,13 +21,38 @@ #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 +#include +#include +#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 probe_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