X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fhantek-dso%2Fdso.h;h=38ef61bf1fe63c8354eff444ef1decee78ed19b2;hb=a5b35a167a32ffbaee1ce9c0de8501f781f733d1;hp=44c32982f7d071e402aaa9d890e539cff4a30a1f;hpb=62bb8840e193cc73702b9e586882555bc18a8c61;p=libsigrok.git diff --git a/hardware/hantek-dso/dso.h b/hardware/hantek-dso/dso.h index 44c32982..38ef61bf 100644 --- a/hardware/hantek-dso/dso.h +++ b/hardware/hantek-dso/dso.h @@ -26,9 +26,10 @@ #define USB_CONFIGURATION 1 #define DSO_EP_IN 0x86 #define DSO_EP_OUT 0x02 +#define NUM_PROBES 2 /* FX2 renumeration delay in ms */ -#define MAX_RENUM_DELAY 3000 +#define MAX_RENUM_DELAY_MS 3000 #define MAX_CAPTURE_EMPTY 3 @@ -36,7 +37,7 @@ #define DEFAULT_FRAMESIZE FRAMESIZE_SMALL #define DEFAULT_TIMEBASE TIME_100us #define DEFAULT_TRIGGER_SOURCE "CH1" -#define DEFAULT_COUPLING COUPLING_AC +#define DEFAULT_COUPLING COUPLING_DC #define DEFAULT_HORIZ_TRIGGERPOS 0.5 #define DEFAULT_VERT_OFFSET 0.5 #define DEFAULT_VERT_TRIGGERPOS 0.5 @@ -154,8 +155,6 @@ struct dso_profile { uint16_t fw_pid; char *vendor; char *model; - char *model_version; - int num_probes; char *firmware; }; @@ -170,12 +169,12 @@ struct context { * after the upgrade) this is like a global lock. No device will open * until a proper delay after the last device was upgraded. */ - GTimeVal fw_updated; + int64_t fw_updated; int epin_maxpacketsize; int capture_empty_count; - int current_transfer; int dev_state; + /* Oscilloscope settings. */ int timebase; gboolean ch1_enabled; gboolean ch2_enabled; @@ -188,7 +187,7 @@ struct context { float voffset_ch2; float voffset_trigger; uint16_t channel_levels[2][9][2]; - int framesize; + unsigned int framesize; gboolean filter_ch1; gboolean filter_ch2; gboolean filter_trigger; @@ -196,15 +195,22 @@ struct context { char *triggersource; float triggerposition; int triggermode; + + /* Frame transfer */ + unsigned int samp_received; + unsigned int samp_buffered; + unsigned int trigger_offset; + unsigned char *framebuf; }; -SR_PRIV int dso_open(int dev_index); +SR_PRIV int dso_open(struct sr_dev_inst *sdi); SR_PRIV void dso_close(struct sr_dev_inst *sdi); SR_PRIV int dso_enable_trigger(struct context *ctx); SR_PRIV int dso_force_trigger(struct context *ctx); SR_PRIV int dso_init(struct context *ctx); -SR_PRIV uint8_t dso_get_capturestate(struct context *ctx); -SR_PRIV uint8_t dso_capture_start(struct context *ctx); +SR_PRIV int dso_get_capturestate(struct context *ctx, uint8_t *capturestate, + uint32_t *trigger_offset); +SR_PRIV int dso_capture_start(struct context *ctx); SR_PRIV int dso_get_channeldata(struct context *ctx, libusb_transfer_cb_fn cb); #endif