OpenHantek
Loading...
Searching...
No Matches
controlspecification.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2
3#pragma once
4
5#include "enums.h"
8#include <QList>
9
10namespace Dso {
11
12using namespace Hantek;
13
16 double base;
17 double max;
18 std::vector< unsigned > recordLengths;
19};
20
23 ControlSamplerateLimits single = { 50e6, 50e6, std::vector< unsigned >() };
24 ControlSamplerateLimits multi = { 100e6, 100e6, std::vector< unsigned >() };
25};
26
29 unsigned char gainValue; // 1, 2, 5, 10, ..
31 double Vdiv;
32 // double gainError;
33};
34
36 double samplerate;
37 unsigned char id;
38 unsigned oversampling;
39};
40
43 explicit ControlSpecification( unsigned channels );
45
46 // Limits
48
50 std::vector< FixedSampleRate > fixedSampleRates;
51
52 // Calibration
55 bool isDemoDevice = false;
57 typedef std::vector< double > VoltageScale;
58 std::vector< VoltageScale > voltageScale; // Per channel
59
61 std::vector< ControlSpecificationGainLevel > gain;
62
63 // Features
64 std::vector< Coupling > couplings = { Dso::Coupling::DC, Dso::Coupling::AC };
67 bool hasACcoupling = false;
68
69 QList< double > calfreqSteps;
70};
71} // namespace Dso
Definition TriggerDock.h:15
@ AC
Offset filtered out by capacitor.
Definition enums.h:29
@ DC
No filtering.
Definition enums.h:28
@ SINGLE
Stop after the first trigger event.
Definition enums.h:38
@ ROLL
Free running without any trigger.
Definition enums.h:39
@ NORMAL
Normal hardware trigger (or software trigger) mode.
Definition enums.h:37
@ AUTO
Automatic without trigger event.
Definition enums.h:36
Stores the samplerate limits for calculations.
Definition controlspecification.h:15
std::vector< unsigned > recordLengths
Available record lengths, UINT_MAX means rolling.
Definition controlspecification.h:18
double max
The maximum sample rate.
Definition controlspecification.h:17
double base
The base for sample rate calculations.
Definition controlspecification.h:16
Definition controlspecification.h:27
unsigned char gainValue
The index of the selected gain on the hardware.
Definition controlspecification.h:29
double Vdiv
Available voltage steps in V/div.
Definition controlspecification.h:31
Stores the samplerate limits.
Definition controlspecification.h:22
ControlSamplerateLimits single
The limits for single channel mode.
Definition controlspecification.h:23
ControlSamplerateLimits multi
The limits for multi channel mode.
Definition controlspecification.h:24
QList< double > calfreqSteps
Definition controlspecification.h:69
ControlSpecificationSamplerate samplerate
The samplerate specifications.
Definition controlspecification.h:47
std::vector< Coupling > couplings
Definition controlspecification.h:64
std::vector< FixedSampleRate > fixedSampleRates
For devices that support only fixed sample rates.
Definition controlspecification.h:50
std::vector< VoltageScale > voltageScale
Definition controlspecification.h:58
bool hasCalibrationEEPROM
DSO6022 has calibration in small EEPROM, DDS120 has big fw EEPROM.
Definition controlspecification.h:54
std::vector< double > VoltageScale
The sample values for one div.
Definition controlspecification.h:57
std::vector< ControlSpecificationGainLevel > gain
Gain levels.
Definition controlspecification.h:61
bool isDemoDevice
Definition controlspecification.h:55
ControlSpecification(unsigned channels)
Definition controlspecification.cpp:5
std::vector< TriggerMode > triggerModes
Definition controlspecification.h:65
bool hasACcoupling
Definition controlspecification.h:67
int fixedUSBinLength
Definition controlspecification.h:66
const ChannelID channels
Definition controlspecification.h:44
Definition controlspecification.h:35
double samplerate
Definition controlspecification.h:36
unsigned char id
Definition controlspecification.h:37
unsigned oversampling
Definition controlspecification.h:38
unsigned ChannelID
Definition types.h:6