Dokit
dev
v0.6.0
v0.5.8
v0.5.7
v0.5.6
v0.5.5
v0.5.4
v0.5.3
v0.5.2
v0.5.1
v0.5.0
v0.4.0
v0.3.0
v0.2.0
v0.1.2
v0.1.1
v0.1.0
User docs
Internal
Coverage
Internal development documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
pokitmeter.cpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2022-2026 Paul Colby <git@colby.id.au>
2
// SPDX-License-Identifier: LGPL-3.0-or-later
3
4
/*!
5
* \file
6
* Declares the PokitMeter namespace.
7
*/
8
9
#include <
qtpokit/pokitmeter.h
>
10
11
#include <QCoreApplication>
12
#include <QLoggingCategory>
13
14
QTPOKIT_BEGIN_NAMESPACE
15
16
namespace
PokitMeter
{
17
18
static
Q_LOGGING_CATEGORY
(lc,
"dokit.pokit.products.meter"
, QtInfoMsg);
///< Logging category for this file.
19
20
namespace
{
21
class
Private
22
{
23
Q_DECLARE_TR_FUNCTIONS(
PokitMeter
)
24
};
25
}
26
27
/// Returns \a range as a user-friendly string.
28
QString
toString
(
const
CurrentRange
&range)
29
{
30
switch
(range) {
31
case
CurrentRange::_10mA
:
return
Private::tr(
"Up to 10mA"
);
32
case
CurrentRange::_30mA
:
return
Private::tr(
"Up to 30mA"
);
33
case
CurrentRange::_150mA
:
return
Private::tr(
"Up to 150mA"
);
34
case
CurrentRange::_300mA
:
return
Private::tr(
"Up to 300mA"
);
35
case
CurrentRange::_2A
:
return
Private::tr(
"Up to 2A"
);
36
case
CurrentRange::AutoRange
:
return
Private::tr(
"Auto-range"
);
37
default
:
return
QString
();
38
}
39
}
40
41
/*!
42
* Returns the maximum value for \a range in microamps, or 0 if \a range is not a known value for Pokit Meter devices.
43
*/
44
quint32
maxValue
(
const
CurrentRange
&range)
45
{
46
switch
(range) {
47
case
CurrentRange::_10mA
:
return
10'000;
48
case
CurrentRange::_30mA
:
return
30'000;
49
case
CurrentRange::_150mA
:
return
150'000;
50
case
CurrentRange::_300mA
:
return
300'000;
51
case
CurrentRange::_2A
:
return
2'000'000;
52
case
CurrentRange::AutoRange
:
return
2'000'000;
53
default
:
54
qCWarning(lc).noquote() << Private::tr(
"Unknown CurrentRange value: %1"
).arg((
int
)range);
55
return
0;
56
}
57
}
58
59
/// Returns \a range as a user-friendly string.
60
QString
toString
(
const
ResistanceRange
&range)
61
{
62
switch
(range) {
63
case
ResistanceRange::_160
:
return
Private::tr(
"Up to 160Ω"
);
64
case
ResistanceRange::_330
:
return
Private::tr(
"Up to 330Ω"
);
65
case
ResistanceRange::_890
:
return
Private::tr(
"Up to 890Ω"
);
66
case
ResistanceRange::_1K5
:
return
Private::tr(
"Up to 1.5KΩ"
);
67
case
ResistanceRange::_10K
:
return
Private::tr(
"Up to 10KΩ"
);
68
case
ResistanceRange::_100K
:
return
Private::tr(
"Up to 100KΩ"
);
69
case
ResistanceRange::_470K
:
return
Private::tr(
"Up to 470KΩ"
);
70
case
ResistanceRange::_1M
:
return
Private::tr(
"Up to 1MΩ"
);
71
case
ResistanceRange::AutoRange
:
return
Private::tr(
"Auto-range"
);
72
default
:
return
QString
();
73
}
74
}
75
76
/*!
77
* Returns the maximum value for \a range in ohms, or 0 if \a range is not a known value for Pokit Meter devices.
78
*/
79
quint32
maxValue
(
const
ResistanceRange
&range)
80
{
81
switch
(range) {
82
case
ResistanceRange::_160
:
return
160;
83
case
ResistanceRange::_330
:
return
330;
84
case
ResistanceRange::_890
:
return
890;
85
case
ResistanceRange::_1K5
:
return
1'500;
86
case
ResistanceRange::_10K
:
return
10'000;
87
case
ResistanceRange::_100K
:
return
100'000;
88
case
ResistanceRange::_470K
:
return
470'000;
89
case
ResistanceRange::_1M
:
return
1'000'000;
90
case
ResistanceRange::AutoRange
:
return
1'000'000;
91
default
:
92
qCWarning(lc).noquote() << Private::tr(
"Unknown ResistanceRange value: %1"
).arg((
int
)range);
93
return
0;
94
}
95
}
96
97
/// Returns \a range as a user-friendly string.
98
QString
toString
(
const
VoltageRange
&range)
99
{
100
switch
(range) {
101
case
VoltageRange::_300mV
:
return
Private::tr(
"Up to 300mV"
);
102
case
VoltageRange::_2V
:
return
Private::tr(
"Up to 2V"
);
103
case
VoltageRange::_6V
:
return
Private::tr(
"Up to 6V"
);
104
case
VoltageRange::_12V
:
return
Private::tr(
"Up to 12V"
);
105
case
VoltageRange::_30V
:
return
Private::tr(
"Up to 30V"
);
106
case
VoltageRange::_60V
:
return
Private::tr(
"Up to 60V"
);
107
case
VoltageRange::AutoRange
:
return
Private::tr(
"Auto-range"
);
108
default
:
return
QString
();
109
}
110
}
111
112
/*!
113
* Returns the maximum value for \a range in millivolts, or 0 if \a range is not a known value for Pokit Meter devices.
114
*/
115
quint32
maxValue
(
const
VoltageRange
&range)
116
{
117
switch
(range) {
118
case
VoltageRange::_300mV
:
return
300;
119
case
VoltageRange::_2V
:
return
2'000;
120
case
VoltageRange::_6V
:
return
6'000;
121
case
VoltageRange::_12V
:
return
12'000;
122
case
VoltageRange::_30V
:
return
30'000;
123
case
VoltageRange::_60V
:
return
60'000;
124
case
VoltageRange::AutoRange
:
return
60'000;
125
default
:
126
qCWarning(lc).noquote() << Private::tr(
"Unknown VoltageRange value: %1"
).arg((
int
)range);
127
return
0;
128
}
129
}
130
131
}
132
133
QTPOKIT_END_NAMESPACE
PokitMeter::anonymous_namespace{pokitmeter.cpp}::Private
Definition
pokitmeter.cpp:22
CurrentRange
Encapsulates convenience functions for working with current ranges.
Definition
pokitproducts.cpp:175
PokitMeter
Encapsulates details specific to Pokit Meter devices.
Definition
pokitmeter.h:17
PokitMeter::CurrentRange::_2A
@ _2A
Up to 2A.
Definition
pokitmeter.h:25
PokitMeter::CurrentRange::AutoRange
@ AutoRange
Auto-range.
Definition
pokitmeter.h:26
PokitMeter::CurrentRange::_30mA
@ _30mA
Up to 30mA.
Definition
pokitmeter.h:22
PokitMeter::CurrentRange::_10mA
@ _10mA
Up to 10mA.
Definition
pokitmeter.h:21
PokitMeter::CurrentRange::_300mA
@ _300mA
Up to 300mA.
Definition
pokitmeter.h:24
PokitMeter::CurrentRange::_150mA
@ _150mA
Up to 150mA.
Definition
pokitmeter.h:23
PokitMeter::toString
QTPOKIT_EXPORT QString toString(const CurrentRange &range)
Returns range as a user-friendly string.
Definition
pokitmeter.cpp:28
PokitMeter::ResistanceRange::_470K
@ _470K
Up to 470KΩ.
Definition
pokitmeter.h:39
PokitMeter::ResistanceRange::_890
@ _890
Up to 890Ω.
Definition
pokitmeter.h:35
PokitMeter::ResistanceRange::_10K
@ _10K
Up to 10KΩ.
Definition
pokitmeter.h:37
PokitMeter::ResistanceRange::_330
@ _330
Up to 330Ω.
Definition
pokitmeter.h:34
PokitMeter::ResistanceRange::_1M
@ _1M
Up to 1MΩ.
Definition
pokitmeter.h:40
PokitMeter::ResistanceRange::AutoRange
@ AutoRange
Auto-range.
Definition
pokitmeter.h:41
PokitMeter::ResistanceRange::_100K
@ _100K
Up to 100KΩ.
Definition
pokitmeter.h:38
PokitMeter::ResistanceRange::_160
@ _160
Up to 160Ω.
Definition
pokitmeter.h:33
PokitMeter::ResistanceRange::_1K5
@ _1K5
Up to 1.5KΩ.
Definition
pokitmeter.h:36
PokitMeter::VoltageRange::_12V
@ _12V
Up to 12V.
Definition
pokitmeter.h:51
PokitMeter::VoltageRange::_60V
@ _60V
Up to 60V DC (42V AC).
Definition
pokitmeter.h:53
PokitMeter::VoltageRange::_300mV
@ _300mV
Up to 300mV.
Definition
pokitmeter.h:48
PokitMeter::VoltageRange::AutoRange
@ AutoRange
Auto-range.
Definition
pokitmeter.h:54
PokitMeter::VoltageRange::_2V
@ _2V
Up to 2V.
Definition
pokitmeter.h:49
PokitMeter::VoltageRange::_30V
@ _30V
Up to 30V.
Definition
pokitmeter.h:52
PokitMeter::VoltageRange::_6V
@ _6V
Up to 6V.
Definition
pokitmeter.h:50
PokitMeter::Q_LOGGING_CATEGORY
static Q_LOGGING_CATEGORY(lc, "dokit.pokit.products.meter", QtInfoMsg)
Logging category for this file.
PokitMeter::maxValue
QTPOKIT_EXPORT quint32 maxValue(const CurrentRange &range)
Returns the maximum value for range in microamps, or 0 if range is not a known value for Pokit Meter ...
Definition
pokitmeter.cpp:44
ResistanceRange
Encapsulates convenience functions for working with resistance ranges.
Definition
pokitproducts.cpp:216
VoltageRange
Encapsulates convenience functions for working with voltage ranges.
Definition
pokitproducts.cpp:257
pokitmeter.h
Declares the PokitMeter namespace.
QString
QString::QString
QString()
QTPOKIT_BEGIN_NAMESPACE
#define QTPOKIT_BEGIN_NAMESPACE
Macro for starting the QtPokit library's top-most namespace (if one is defined).
Definition
qtpokit_global.h:81
QTPOKIT_END_NAMESPACE
#define QTPOKIT_END_NAMESPACE
Macro for ending the QtPokit library's top-most namespace (if one is defined).
Definition
qtpokit_global.h:82
dokit
dokit
src
lib
pokitmeter.cpp
Generated by
1.18.0