X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fhantek-dso%2Fdso.h;h=ac2601471ae421b174b381bde9ec28020b1245a8;hb=9edfee3ee31bc6cd7657392f2c9ac28ccf7a7dce;hp=1a0c69deb4326ee2884b704e13cebbc2b4f528a0;hpb=6e71ef3b6f27c3f3e1c5d5dc4e2f60caf54fc818;p=libsigrok.git diff --git a/hardware/hantek-dso/dso.h b/hardware/hantek-dso/dso.h index 1a0c69de..ac260147 100644 --- a/hardware/hantek-dso/dso.h +++ b/hardware/hantek-dso/dso.h @@ -32,16 +32,14 @@ #define MAX_CAPTURE_EMPTY 3 -#define DEFAULT_VOLTAGE VOLTAGE_2V +#define DEFAULT_VOLTAGE VDIV_500MV #define DEFAULT_FRAMESIZE FRAMESIZE_SMALL -#define DEFAULT_TIMEBASE TIME_1ms -#define DEFAULT_TRIGGER_SOURCE TRIGGER_CH1 -#define DEFAULT_COUPLING COUPLING_AC -/* Halfway between min and max = 0V */ -#define DEFAULT_HORIZ_TRIGGERPOS 0x1400 - +#define DEFAULT_TIMEBASE TIME_100us +#define DEFAULT_TRIGGER_SOURCE "CH1" +#define DEFAULT_COUPLING COUPLING_DC +#define DEFAULT_HORIZ_TRIGGERPOS 0.5 #define DEFAULT_VERT_OFFSET 0.5 -#define DEFAULT_VERT_TRIGGERPOS 0.0 +#define DEFAULT_VERT_TRIGGERPOS 0.5 #define MAX_VERT_TRIGGER 0xfe @@ -69,28 +67,20 @@ enum dso_commands { CMD_GET_CHANNELDATA, CMD_GET_CAPTURESTATE, CMD_SET_VOLTAGE, + /* unused */ cmdSetLogicalData, cmdGetLogicalData }; -enum voltages { - VOLTAGE_5V = 0, - VOLTAGE_2V, - VOLTAGE_1V, - VOLTAGE_500mV, - VOLTAGE_200mV, - VOLTAGE_100mV, - VOLTAGE_50mV, - VOLTAGE_20mV, - VOLTAGE_10mV -}; - +/* Must match the coupling table. */ enum couplings { COUPLING_AC = 0, COUPLING_DC, - COUPLING_OFF + /* TODO not used, how to enable? */ + COUPLING_GND }; +/* Must match the timebases table. */ enum time_bases { TIME_10us = 0, TIME_20us, @@ -109,6 +99,19 @@ enum time_bases { TIME_400ms }; +/* Must match the vdivs table. */ +enum { + VDIV_10MV, + VDIV_20MV, + VDIV_50MV, + VDIV_100MV, + VDIV_200MV, + VDIV_500MV, + VDIV_1V, + VDIV_2V, + VDIV_5V, +}; + enum trigger_slopes { SLOPE_POSITIVE = 0, SLOPE_NEGATIVE @@ -117,9 +120,7 @@ enum trigger_slopes { enum trigger_sources { TRIGGER_CH2 = 0, TRIGGER_CH1, - TRIGGER_ALT, TRIGGER_EXT, - TRIGGER_EXT10 }; enum capturestates { @@ -159,7 +160,7 @@ struct dso_profile { }; struct context { - struct dso_profile *profile; + const struct dso_profile *profile; struct sr_usb_dev_inst *usb; void *cb_data; uint64_t limit_frames; @@ -192,8 +193,8 @@ struct context { gboolean filter_ch2; gboolean filter_trigger; int triggerslope; - int triggersource; - int triggerposition; + char *triggersource; + float triggerposition; int triggermode; }; @@ -202,8 +203,9 @@ 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