X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Ffx2lafw%2Fcommand.h;h=37f965cc42e7338175adf73665229217f55bc6bd;hb=25f5d66a7752379abe454da0705df4ed15ce6426;hp=cbb76d7fff0713556bb680a2652f284c30e76eae;hpb=d98c4e35ce3187a8d4618a6c26ce35de636d7b91;p=libsigrok.git diff --git a/hardware/fx2lafw/command.h b/hardware/fx2lafw/command.h index cbb76d7f..37f965cc 100644 --- a/hardware/fx2lafw/command.h +++ b/hardware/fx2lafw/command.h @@ -17,8 +17,46 @@ * along with this program. If not, see . */ +#ifndef LIBSIGROK_HARDWARE_FX2LAFW_COMMAND_H +#define LIBSIGROK_HARDWARE_FX2LAFW_COMMAND_H + +#include +#include "sigrok.h" + /* Protocol commands */ -#define CMD_GET_FW_VERSION 0xb0 -#define CMD_START 0xb1 +#define CMD_GET_FW_VERSION 0xb0 +#define CMD_START 0xb1 +#define CMD_GET_REVID_VERSION 0xb2 + +#define CMD_START_FLAGS_WIDE_POS 5 +#define CMD_START_FLAGS_CLK_SRC_POS 6 + +#define CMD_START_FLAGS_SAMPLE_8BIT (0 << CMD_START_FLAGS_WIDE_POS) +#define CMD_START_FLAGS_SAMPLE_16BIT (1 << CMD_START_FLAGS_WIDE_POS) + +#define CMD_START_FLAGS_CLK_30MHZ (0 << CMD_START_FLAGS_CLK_SRC_POS) +#define CMD_START_FLAGS_CLK_48MHZ (1 << CMD_START_FLAGS_CLK_SRC_POS) + +#pragma pack(push, 1) + +struct version_info { + uint8_t major; + uint8_t minor; +}; + +struct cmd_start_acquisition { + uint8_t flags; + uint8_t sample_delay_h; + uint8_t sample_delay_l; +}; + +#pragma pack(pop) + +SR_PRIV int command_get_fw_version(libusb_device_handle *devhdl, + struct version_info *vi); +SR_PRIV int command_get_revid_version(libusb_device_handle *devhdl, + uint8_t *revid); +SR_PRIV int command_start_acquisition(libusb_device_handle *devhdl, + uint64_t samplerate, gboolean samplewide); -int command_start_acquisition(libusb_device_handle *devhdl); +#endif