X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Ffx2lafw%2Fcommand.h;h=53e7da3c71649380187a10d16bb0250855ddbdce;hb=d6a8df467de03fe211dea7a0c91f63ceb22c5480;hp=e56a3ac202e80c661535bd1e9401967090718c41;hpb=19ccdf696c3b96459495fadbef56a6c607e87583;p=libsigrok.git diff --git a/hardware/fx2lafw/command.h b/hardware/fx2lafw/command.h index e56a3ac2..53e7da3c 100644 --- a/hardware/fx2lafw/command.h +++ b/hardware/fx2lafw/command.h @@ -17,9 +17,46 @@ * along with this program. If not, see . */ +#ifndef LIBSIGROK_HARDWARE_FX2LAFW_COMMAND_H +#define LIBSIGROK_HARDWARE_FX2LAFW_COMMAND_H + +#include +#include "libsigrok.h" + /* Protocol commands */ -#define CMD_START 0xb0 -#define CMD_STOP 0xb1 -#define CMD_GET_FW_VERSION 0xb2 +#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