X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fasix-sigma%2Fprotocol.h;h=6b934c252cc489a1ac108f7e8d3550b564c7136c;hb=f083ae63c7355b9b1d99775785b99b6fa91cd48a;hp=cd1a8b8d8bdba8dfa47fe473fbde380a49eb70fa;hpb=5b1d15efb93c5e18e33432840af08e324d126ee9;p=libsigrok.git diff --git a/src/hardware/asix-sigma/protocol.h b/src/hardware/asix-sigma/protocol.h index cd1a8b8d..6b934c25 100644 --- a/src/hardware/asix-sigma/protocol.h +++ b/src/hardware/asix-sigma/protocol.h @@ -30,6 +30,8 @@ #include #include "libsigrok-internal.h" +#define LOG_PREFIX "asix-sigma" + /* * Triggers are not working in this implementation. Stop claiming * support for the feature which effectively is not available, until @@ -38,13 +40,9 @@ */ #define ASIX_SIGMA_WITH_TRIGGER 0 -#define LOG_PREFIX "asix-sigma" - #define USB_VENDOR 0xa600 #define USB_PRODUCT 0xa000 #define USB_DESCRIPTION "ASIX SIGMA" -#define USB_VENDOR_NAME "ASIX" -#define USB_MODEL_NAME "SIGMA" enum sigma_write_register { WRITE_CLOCK_SELECT = 0, @@ -248,27 +246,25 @@ struct sigma_state { SIGMA_UNINITIALIZED = 0, SIGMA_IDLE, SIGMA_CAPTURE, + SIGMA_STOPPING, SIGMA_DOWNLOAD, } state; - uint16_t lastts; uint16_t lastsample; }; -/* Private, per-device-instance driver context. */ struct dev_context { struct ftdi_context ftdic; uint64_t cur_samplerate; - uint64_t period_ps; uint64_t limit_msec; uint64_t limit_samples; uint64_t sent_samples; - struct timeval start_tv; + uint64_t start_time; int cur_firmware; int num_channels; int cur_channels; int samples_per_event; - int capture_ratio; + uint64_t capture_ratio; struct sigma_trigger trigger; int use_triggers; struct sigma_state state; @@ -277,11 +273,10 @@ struct dev_context { extern SR_PRIV const uint64_t samplerates[]; extern SR_PRIV const size_t samplerates_count; -SR_PRIV int sigma_write_register(uint8_t reg, uint8_t *data, size_t len, +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);