OpenHantek
definitions.h
1 // SPDX-License-Identifier: GPL-2.0+
2 
3 #pragma once
4 
5 #include <QMetaType>
6 #include <QString>
7 #include <stdint.h>
8 
9 #define HANTEK_GAIN_STEPS 9
10 
11 namespace Hantek {
14 enum class UsedChannels : uint8_t {
15  USED_CH1,
16  USED_CH2,
17  USED_CH1CH2,
18  USED_NONE,
19 
20  // The enabled channels for the DSO-2250.
21  BUSED_CH1 = USED_CH1,
22  BUSED_NONE = USED_CH2,
23  BUSED_CH1CH2 = USED_CH1CH2,
24  BUSED_CH2 = USED_NONE
25 };
26 
29 enum class DTriggerPositionUsed: uint8_t {
30  OFF = 0,
31  ON = 7
32 };
33 
34 #pragma pack(push, 1)
35 struct Offset {
36  unsigned short start = 0x0000;
37  unsigned short end = 0xffff;
38 };
39 
41  Offset step[HANTEK_GAIN_STEPS];
42 };
43 
46 struct FilterBits {
47  uint8_t channel1 : 1;
48  uint8_t channel2 : 1;
49  uint8_t trigger : 1;
50  uint8_t reserved : 5;
51 };
52 
53 
56 struct GainBits {
57  uint8_t channel1 : 2;
58  uint8_t channel2 : 2;
59  uint8_t reserved : 4;
60 };
61 
62 
65 struct Tsr1Bits {
66  uint8_t triggerSource : 2;
67  uint8_t recordLength : 3;
68  uint8_t samplerateId : 2;
69  uint8_t downsamplingMode : 1;
70 };
71 
72 
75 struct Tsr2Bits {
76  uint8_t usedChannels : 2;
77  uint8_t fastRate : 1;
78  uint8_t triggerSlope : 1;
79  uint8_t reserved : 4;
81 };
82 
83 
86 struct CTriggerBits {
87  uint8_t triggerSource : 2;
88  uint8_t triggerSlope : 1;
89  uint8_t reserved : 5;
90 };
91 
92 
95 struct DBufferBits {
96  uint8_t triggerPositionUsed : 3;
97  uint8_t recordLength : 3;
98  uint8_t reserved : 2;
99 };
100 
101 
105  uint8_t fastRate : 1;
106  uint8_t downsampling : 1;
107  uint8_t reserved : 4;
108 };
109 
110 
113 struct ETsrBits {
114  uint8_t fastRate : 1;
115  uint8_t usedChannels : 2;
116  uint8_t triggerSource : 2;
117  uint8_t triggerSlope : 2;
118  uint8_t triggerPulse : 1;
119 };
120 
121 #pragma pack(pop)
122 
123 }
uint8_t downsamplingMode
true, if Downsampler is used
Definition: definitions.h:69
uint8_t triggerSource
The trigger source, see Hantek::TriggerSource.
Definition: definitions.h:66
uint8_t reserved
Unused bits.
Definition: definitions.h:89
Trigger and samplerate bits (Byte 1).
Definition: definitions.h:65
uint8_t channel1
Gain for CH1, 0 = 1e* V, 1 = 2e*, 2 = 5e*.
Definition: definitions.h:57
uint8_t channel2
Set to true when channel 2 isn&#39;t used.
Definition: definitions.h:48
Definition: definitions.h:35
Trigger bits for 0x0c command.
Definition: definitions.h:86
uint8_t recordLength
See ::RecordLengthId.
Definition: definitions.h:97
uint8_t samplerateId
Samplerate ID when downsampler is disabled.
Definition: definitions.h:68
uint8_t usedChannels
Used channels, see Hantek::UsedChannels.
Definition: definitions.h:115
uint8_t recordLength
See ::RecordLengthId.
Definition: definitions.h:67
The bits for BULK::SETFILTER.
Definition: definitions.h:46
The gain bits for BulkCode::SETGAIN.
Definition: definitions.h:56
uint8_t reserved
Unused bits.
Definition: definitions.h:59
Definition: controlsettings.h:8
Definition: definitions.h:40
uint8_t triggerSlope
The trigger slope, see Dso::Slope.
Definition: definitions.h:88
uint8_t triggerSource
The trigger source, see Hantek::TriggerSource.
Definition: definitions.h:87
uint8_t reserved
when Tsr1Bits.samplerateFast is uneven
Definition: definitions.h:80
uint8_t channel1
Set to true when channel 1 isn&#39;t used.
Definition: definitions.h:47
uint8_t triggerSource
The trigger source, see Hantek::TriggerSource.
Definition: definitions.h:116
Trigger and samplerate bits for DSO-5200/DSO-5200A 0x0e command.
Definition: definitions.h:113
uint8_t reserved
Unused bits.
Definition: definitions.h:98
uint8_t fastRate
false, if one channels uses all buffers
Definition: definitions.h:105
uint8_t triggerSlope
Definition: definitions.h:78
Trigger and samplerate bits (Byte 2).
Definition: definitions.h:75
uint8_t reserved
Unused bits.
Definition: definitions.h:107
uint8_t usedChannels
Used channels, see Hantek::UsedChannels.
Definition: definitions.h:76
uint8_t reserved
Unused bits.
Definition: definitions.h:50
uint8_t channel2
Gain for CH1, 0 = 1e* V, 1 = 2e*, 2 = 5e*.
Definition: definitions.h:58
Buffer mode bits for 0x0d command.
Definition: definitions.h:95
uint8_t fastRate
false, if one channels uses all buffers
Definition: definitions.h:114
uint8_t trigger
Set to true when trigger isn&#39;t used.
Definition: definitions.h:49
uint8_t fastRate
true, if one channels uses all buffers
Definition: definitions.h:77
uint8_t triggerSlope
The trigger slope, see Dso::Slope.
Definition: definitions.h:117
Samplerate bits for DSO-2250 0x0e command.
Definition: definitions.h:104
uint8_t downsampling
true, if the downsampler is activated
Definition: definitions.h:106
uint8_t triggerPositionUsed
See ::DTriggerPositionUsed.
Definition: definitions.h:96
uint8_t triggerPulse
Pulses are causing trigger events.
Definition: definitions.h:118