X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fasix-sigma%2Fprotocol.h;h=5886546bb1973ca493efe59bb41cd7f96f94cce7;hb=f06fb3e9f1fdfc3780bfa8cb06f76a2d630d6f1c;hp=9a2e5fc6a352deaa3b3610ff062f09fd3b46f84e;hpb=695dc859c15ba4190f5c1aa2e1a6e2dc6a6e5845;p=libsigrok.git diff --git a/src/hardware/asix-sigma/protocol.h b/src/hardware/asix-sigma/protocol.h index 9a2e5fc6..5886546b 100644 --- a/src/hardware/asix-sigma/protocol.h +++ b/src/hardware/asix-sigma/protocol.h @@ -23,12 +23,21 @@ #define LIBSIGROK_HARDWARE_ASIX_SIGMA_PROTOCOL_H #include +#include #include #include #include #include #include "libsigrok-internal.h" +/* + * Triggers are not working in this implementation. Stop claiming + * support for the feature which effectively is not available, until + * the implementation got fixed. Yet keep the code in place and allow + * developers to turn on this switch during development. + */ +#define ASIX_SIGMA_WITH_TRIGGER 0 + #define LOG_PREFIX "asix-sigma" #define USB_VENDOR 0xa600 @@ -209,6 +218,7 @@ struct dev_context { uint64_t cur_samplerate; uint64_t period_ps; uint64_t limit_msec; + uint64_t limit_samples; struct timeval start_tv; int cur_firmware; int num_channels; @@ -221,13 +231,15 @@ struct dev_context { }; extern SR_PRIV const uint64_t samplerates[]; -extern SR_PRIV const int SAMPLERATES_COUNT; +extern SR_PRIV const size_t samplerates_count; SR_PRIV int sigma_write_register(uint8_t reg, uint8_t *data, size_t len, struct dev_context *devc); SR_PRIV int sigma_set_register(uint8_t reg, uint8_t value, struct dev_context *devc); SR_PRIV int sigma_write_trigger_lut(struct triggerlut *lut, struct dev_context *devc); SR_PRIV void sigma_clear_helper(void *priv); +SR_PRIV uint64_t sigma_limit_samples_to_msec(const struct dev_context *devc, + uint64_t limit_samples); SR_PRIV int sigma_set_samplerate(const struct sr_dev_inst *sdi, uint64_t samplerate); SR_PRIV int sigma_convert_trigger(const struct sr_dev_inst *sdi); SR_PRIV int sigma_receive_data(int fd, int revents, void *cb_data);