X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fsaleae-logic16%2Fprotocol.h;h=8a1ded823900e7ae41c194f355d1a73b5f07fb15;hb=f2a189f0a7737d6abc1140b61a554c4a9f1efb70;hp=eeb9781ee3685ebf283612dc84a2c19d7f3bd1e8;hpb=db11d7d2d05c9e38978ae92920d96b61cf982d14;p=libsigrok.git diff --git a/hardware/saleae-logic16/protocol.h b/hardware/saleae-logic16/protocol.h index eeb9781e..8a1ded82 100644 --- a/hardware/saleae-logic16/protocol.h +++ b/hardware/saleae-logic16/protocol.h @@ -2,6 +2,8 @@ * This file is part of the libsigrok project. * * Copyright (C) 2013 Marcus Comstedt + * Copyright (C) 2013 Bert Vermeulen + * Copyright (C) 2012 Joel Holdsworth * * 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 @@ -25,14 +27,7 @@ #include "libsigrok.h" #include "libsigrok-internal.h" -/* Message logging helpers with subsystem-specific prefix string. */ -#define LOG_PREFIX "saleae-logic16: " -#define sr_log(l, s, args...) sr_log(l, LOG_PREFIX s, ## args) -#define sr_spew(s, args...) sr_spew(LOG_PREFIX s, ## args) -#define sr_dbg(s, args...) sr_dbg(LOG_PREFIX s, ## args) -#define sr_info(s, args...) sr_info(LOG_PREFIX s, ## args) -#define sr_warn(s, args...) sr_warn(LOG_PREFIX s, ## args) -#define sr_err(s, args...) sr_err(LOG_PREFIX s, ## args) +#define LOG_PREFIX "saleae-logic16" enum voltage_range { VOLTAGE_RANGE_UNKNOWN, @@ -53,44 +48,44 @@ struct dev_context { /** The currently configured samplerate of the device. */ uint64_t cur_samplerate; - /** Maximum number of samples to capture, if nonzero */ + /** Maximum number of samples to capture, if nonzero. */ uint64_t limit_samples; - /** The currently configured input voltage of the device */ + /** The currently configured input voltage of the device. */ enum voltage_range cur_voltage_range; - /** The input voltage selected by the user */ + /** The input voltage selected by the user. */ enum voltage_range selected_voltage_range; - /** Channels to use */ + /** Channels to use. */ uint16_t cur_channels; - /* - * EEPROM data from address 8 - */ + /* EEPROM data from address 8. */ uint8_t eeprom_data[8]; - int64_t num_samples; + int64_t sent_samples; int submitted_transfers; int empty_transfer_count; - int num_channels, cur_channel; + int num_channels; + int cur_channel; uint16_t channel_masks[16]; uint16_t channel_data[16]; uint8_t *convbuffer; size_t convbuffer_size; + struct soft_trigger_logic *stl; + gboolean trigger_fired; void *cb_data; unsigned int num_transfers; struct libusb_transfer **transfers; - int *usbfd; + struct sr_context *ctx; }; -SR_PRIV int saleae_logic16_setup_acquisition(const struct sr_dev_inst *sdi, - uint64_t samplerate, - uint16_t channels); -SR_PRIV int saleae_logic16_start_acquisition(const struct sr_dev_inst *sdi); -SR_PRIV int saleae_logic16_abort_acquisition(const struct sr_dev_inst *sdi); -SR_PRIV int saleae_logic16_init_device(const struct sr_dev_inst *sdi); -SR_PRIV void saleae_logic16_receive_transfer(struct libusb_transfer *transfer); +SR_PRIV int logic16_setup_acquisition(const struct sr_dev_inst *sdi, + uint64_t samplerate, uint16_t channels); +SR_PRIV int logic16_start_acquisition(const struct sr_dev_inst *sdi); +SR_PRIV int logic16_abort_acquisition(const struct sr_dev_inst *sdi); +SR_PRIV int logic16_init_device(const struct sr_dev_inst *sdi); +SR_PRIV void logic16_receive_transfer(struct libusb_transfer *transfer); #endif