X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fhardware%2Ffx2lafw%2Fdslogic.h;h=0a83bbd805af00bbfd68579087890cb7cc1dc132;hb=cee6d3fa0c9f3326fd8844f0fcb292c3466bc562;hp=4070eea70337d066e45f7a26b14a9dfc9a214777;hpb=b9d530920fa97ab92d5f78f6f00a1ffc73259f2f;p=libsigrok.git diff --git a/src/hardware/fx2lafw/dslogic.h b/src/hardware/fx2lafw/dslogic.h index 4070eea7..0a83bbd8 100644 --- a/src/hardware/fx2lafw/dslogic.h +++ b/src/hardware/fx2lafw/dslogic.h @@ -18,17 +18,21 @@ * along with this program. If not, see . */ +#ifndef LIBSIGROK_HARDWARE_FX2LAFW_DSLOGIC_H +#define LIBSIGROK_HARDWARE_FX2LAFW_DSLOGIC_H + /* Modified protocol commands & flags used by DSLogic */ #define DS_CMD_GET_FW_VERSION 0xb0 #define DS_CMD_GET_REVID_VERSION 0xb1 -#define DS_CMD_START 0xb2 -#define DS_CMD_FPGA_FW 0xb3 -#define DS_CMD_CONFIG 0xb4 +#define DS_CMD_START 0xb2 +#define DS_CMD_FPGA_FW 0xb3 +#define DS_CMD_CONFIG 0xb4 -#define DS_NUM_TRIGGER_STAGES 16 -#define DS_START_FLAGS_STOP (1 << 7) -#define DS_START_FLAGS_CLK_48MHZ (1 << 6) -#define DS_START_FLAGS_SAMPLE_WIDE (1 << 5) +#define DS_NUM_TRIGGER_STAGES 16 +#define DS_START_FLAGS_STOP (1 << 7) +#define DS_START_FLAGS_CLK_48MHZ (1 << 6) +#define DS_START_FLAGS_SAMPLE_WIDE (1 << 5) +#define DS_START_FLAGS_MODE_LA (1 << 4) enum dslogic_operation_modes { DS_OP_NORMAL, @@ -61,8 +65,8 @@ struct dslogic_trigger_pos { */ #define _DS_CFG(variable, wordcnt) ((variable << 8) | wordcnt) #define _DS_CFG_PAD(variable, wordcnt) ((_DS_CFG(variable, wordcnt) << 16) | 0xffff) -#define DS_CFG_START 0xffffffff -#define DS_CFG_MODE _DS_CFG(0, 1) +#define DS_CFG_START 0xf5a5f5a5 +#define DS_CFG_MODE _DS_CFG(0, 1) #define DS_CFG_DIVIDER _DS_CFG_PAD(1, 2) #define DS_CFG_COUNT _DS_CFG_PAD(3, 2) #define DS_CFG_TRIG_POS _DS_CFG_PAD(5, 2) @@ -79,7 +83,7 @@ struct dslogic_trigger_pos { #define DS_CFG_TRIG_COUNT1 _DS_CFG_PAD(29, 16) #define DS_CFG_TRIG_LOGIC0 _DS_CFG_PAD(32, 16) #define DS_CFG_TRIG_LOGIC1 _DS_CFG_PAD(33, 16) -#define DS_CFG_END 0x00000000 +#define DS_CFG_END 0xfa5afa5a struct dslogic_fpga_config { uint32_t sync; @@ -120,9 +124,10 @@ struct dslogic_fpga_config { uint32_t end_sync; }; +SR_PRIV int dslogic_fpga_firmware_upload(const struct sr_dev_inst *sdi, + const char *name); +SR_PRIV int dslogic_start_acquisition(const struct sr_dev_inst *sdi); +SR_PRIV int dslogic_stop_acquisition(const struct sr_dev_inst *sdi); +SR_PRIV int dslogic_fpga_configure(const struct sr_dev_inst *sdi); -int dslogic_fpga_firmware_upload(const struct sr_dev_inst *sdi, - const char *filename); -int dslogic_start_acquisition(const struct sr_dev_inst *sdi); -int dslogic_stop_acquisition(const struct sr_dev_inst *sdi); -int dslogic_fpga_configure(const struct sr_dev_inst *sdi); +#endif