]> sigrok.org Git - libsigrok.git/blobdiff - hardware/fx2lafw/command.h
agilent-dmm: Fix SEGV during incomplete reply from meter.
[libsigrok.git] / hardware / fx2lafw / command.h
index 929118a0fc31a34a6648b255201babf05128e27d..1403976d3095662c5fae08d5273e735c11946b0b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the sigrok project.
+ * This file is part of the libsigrok project.
  *
  * Copyright (C) 2012 Joel Holdsworth <joel@airwebreathe.org.uk>
  *
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#ifndef LIBSIGROK_HARDWARE_FX2LAFW_COMMAND_H
+#define LIBSIGROK_HARDWARE_FX2LAFW_COMMAND_H
+
+#include <glib.h>
+#include "libsigrok.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 cmd_start_acquisition
-{
+struct version_info {
+       uint8_t major;
+       uint8_t minor;
+};
+
+struct cmd_start_acquisition {
        uint8_t flags;
-       uint8_t sample_delay;
+       uint8_t sample_delay_h;
+       uint8_t sample_delay_l;
 };
 
 #pragma pack(pop)
 
-int command_start_acquisition(libusb_device_handle *devhdl,
-       uint64_t samplerate);
+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);
+
+#endif