X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;ds=inline;f=hardware%2Fopenbench-logic-sniffer%2Fprotocol.h;h=722490f9dafb5f96bf7a77efc0b89779bc707180;hb=1e1bfcd0fef7c397b3d8fc6cd244263e6828a5da;hp=02ea4b490569fad7843ee23b17f604915cca80c8;hpb=c50277a6ec09fb35de3a6e0f2ae3401bc72a1526;p=libsigrok.git diff --git a/hardware/openbench-logic-sniffer/protocol.h b/hardware/openbench-logic-sniffer/protocol.h index 02ea4b49..722490f9 100644 --- a/hardware/openbench-logic-sniffer/protocol.h +++ b/hardware/openbench-logic-sniffer/protocol.h @@ -1,7 +1,7 @@ /* * This file is part of the sigrok project. * - * Copyright (C) 2010-2012 Bert Vermeulen + * Copyright (C) 2013 Bert Vermeulen * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -41,6 +41,7 @@ #define SERIAL_SPEED B115200 #define CLOCK_RATE SR_MHZ(100) #define MIN_NUM_SAMPLES 4 +#define DEFAULT_SAMPLERATE SR_KHZ(200) /* Command opcodes */ #define CMD_RESET 0x00 @@ -76,34 +77,33 @@ /* Private, per-device-instance driver context. */ struct dev_context { - uint32_t max_samplerate; + /* Fixed device settings */ uint32_t max_samples; + uint32_t max_samplerate; uint32_t protocol_version; + /* Acquisition settings */ uint64_t cur_samplerate; uint32_t cur_samplerate_divider; uint64_t limit_samples; - /* Current state of the flag register */ - uint32_t flag_reg; - - /* Pre/post trigger capture ratio, in percentage. - * 0 means no pre-trigger data. */ int capture_ratio; int trigger_at; uint32_t probe_mask; uint32_t trigger_mask[4]; uint32_t trigger_value[4]; int num_stages; + uint32_t flag_reg; + /* Operational states */ unsigned int num_transfers; unsigned int num_samples; - int rle_count; int num_bytes; + + /* Temporary variables */ + int rle_count; unsigned char sample[4]; unsigned char tmp_sample[4]; unsigned char *raw_sample_buf; - - struct sr_serial_dev_inst *serial; }; @@ -119,8 +119,7 @@ SR_PRIV uint32_t reverse32(uint32_t in); SR_PRIV struct dev_context *ols_dev_new(void); SR_PRIV struct sr_dev_inst *get_metadata(struct sr_serial_dev_inst *serial); SR_PRIV int ols_set_samplerate(const struct sr_dev_inst *sdi, - uint64_t samplerate, - const struct sr_samplerates *samplerates); + uint64_t samplerate); SR_PRIV void abort_acquisition(const struct sr_dev_inst *sdi); SR_PRIV int ols_receive_data(int fd, int revents, void *cb_data);