]> sigrok.org Git - libsigrok.git/blame - hardware/fx2lafw/command.h
hantek-dso: Update to constified libsigrok API.
[libsigrok.git] / hardware / fx2lafw / command.h
CommitLineData
f6582cd7
JH
1/*
2 * This file is part of the sigrok project.
3 *
4 * Copyright (C) 2012 Joel Holdsworth <joel@airwebreathe.org.uk>
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
30da9658
UH
20#ifndef LIBSIGROK_HARDWARE_FX2LAFW_COMMAND_H
21#define LIBSIGROK_HARDWARE_FX2LAFW_COMMAND_H
22
d1ddc7a9
JH
23#include <stdbool.h>
24
b04902b6
UH
25#include "sigrok.h"
26
f6582cd7 27/* Protocol commands */
f4a9e5c0
UH
28#define CMD_GET_FW_VERSION 0xb0
29#define CMD_START 0xb1
1e94408a 30#define CMD_GET_REVID_VERSION 0xb2
f6582cd7 31
d1ddc7a9 32#define CMD_START_FLAGS_WIDE_POS 5
dba02442
JH
33#define CMD_START_FLAGS_CLK_SRC_POS 6
34
d1ddc7a9
JH
35#define CMD_START_FLAGS_SAMPLE_8BIT (0 << CMD_START_FLAGS_WIDE_POS)
36#define CMD_START_FLAGS_SAMPLE_16BIT (1 << CMD_START_FLAGS_WIDE_POS)
37
dba02442
JH
38#define CMD_START_FLAGS_CLK_30MHZ (0 << CMD_START_FLAGS_CLK_SRC_POS)
39#define CMD_START_FLAGS_CLK_48MHZ (1 << CMD_START_FLAGS_CLK_SRC_POS)
40
41#pragma pack(push, 1)
42
13bf7ecc
JH
43struct version_info {
44 uint8_t major;
45 uint8_t minor;
46};
47
f4a9e5c0 48struct cmd_start_acquisition {
dba02442 49 uint8_t flags;
897c1a2e
JH
50 uint8_t sample_delay_h;
51 uint8_t sample_delay_l;
dba02442
JH
52};
53
54#pragma pack(pop)
55
13bf7ecc
JH
56SR_PRIV int command_get_fw_version(libusb_device_handle *devhdl,
57 struct version_info *vi);
1e94408a
UH
58SR_PRIV int command_get_revid_version(libusb_device_handle *devhdl,
59 uint8_t *revid);
b04902b6 60SR_PRIV int command_start_acquisition(libusb_device_handle *devhdl,
d1ddc7a9
JH
61 uint64_t samplerate,
62 bool samplewide);
30da9658
UH
63
64#endif