Dokit
Internal development documentation
Loading...
Searching...
No Matches
pokitmeter.cpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2022-2023 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
10
11#include <QCoreApplication>
12
13namespace PokitMeter {
14
15/// Returns \a range as a user-friendly string.
17{
18 switch (range) {
19 case CurrentRange::_10mA: return QCoreApplication::translate("PokitMeter", "Up to 10mA", "CurrentRange");
20 case CurrentRange::_30mA: return QCoreApplication::translate("PokitMeter", "Up to 30mA", "CurrentRange");
21 case CurrentRange::_150mA: return QCoreApplication::translate("PokitMeter", "Up to 150mA", "CurrentRange");
22 case CurrentRange::_300mA: return QCoreApplication::translate("PokitMeter", "Up to 300mA", "CurrentRange");
23 case CurrentRange::_2A: return QCoreApplication::translate("PokitMeter", "Up to 2A", "CurrentRange");
24 case CurrentRange::AutoRange: return QCoreApplication::translate("PokitMeter", "Auto-range", "CurrentRange");
25 default: return QString();
26 }
27}
28
29/*!
30 * Returns the maximum value for \a range in (integer) microamps, or the string "Auto".
31 * If \a range is not a known valid value, then an null QVariant is returned.
32 */
34{
35 switch (range) {
36 case CurrentRange::_10mA: return 10'000;
37 case CurrentRange::_30mA: return 30'000;
38 case CurrentRange::_150mA: return 150'000;
39 case CurrentRange::_300mA: return 300'000;
40 case CurrentRange::_2A: return 2'000'000;
41 case CurrentRange::AutoRange: return QCoreApplication::translate("PokitMeter", "Auto", "CurrentRange");
42 default: return QVariant();
43 }
44}
45
46/// Returns \a range as a user-friendly string.
48{
49 switch (range) {
50 case ResistanceRange::_160: return QCoreApplication::translate("PokitMeter", "Up to 160Ω", "ResistanceRange");
51 case ResistanceRange::_330: return QCoreApplication::translate("PokitMeter", "Up to 330Ω", "ResistanceRange");
52 case ResistanceRange::_890: return QCoreApplication::translate("PokitMeter", "Up to 890Ω", "ResistanceRange");
53 case ResistanceRange::_1K5: return QCoreApplication::translate("PokitMeter", "Up to 1.5KΩ", "ResistanceRange");
54 case ResistanceRange::_10K: return QCoreApplication::translate("PokitMeter", "Up to 10KΩ", "ResistanceRange");
55 case ResistanceRange::_100K: return QCoreApplication::translate("PokitMeter", "Up to 100KΩ", "ResistanceRange");
56 case ResistanceRange::_470K: return QCoreApplication::translate("PokitMeter", "Up to 470KΩ", "ResistanceRange");
57 case ResistanceRange::_1M: return QCoreApplication::translate("PokitMeter", "Up to 1MΩ", "ResistanceRange");
58 case ResistanceRange::AutoRange: return QCoreApplication::translate("PokitMeter", "Auto-range", "ResistanceRange");
59 default: return QString();
60 }
61}
62
63/*!
64 * Returns the maximum value for \a range in (integer) ohms, or the string "Auto".
65 * If \a range is not a known valid value, then an null QVariant is returned.
66 */
68{
69 switch (range) {
70 case ResistanceRange::_160: return 160;
71 case ResistanceRange::_330: return 330;
72 case ResistanceRange::_890: return 890;
73 case ResistanceRange::_1K5: return 1'500;
74 case ResistanceRange::_10K: return 10'000;
75 case ResistanceRange::_100K: return 100'000;
76 case ResistanceRange::_470K: return 470'000;
77 case ResistanceRange::_1M: return 1'000'000;
78 case ResistanceRange::AutoRange: return QCoreApplication::translate("PokitMeter", "Auto", "ResistanceRange");
79 default: return QVariant();
80 }
81}
82
83/// Returns \a range as a user-friendly string.
85{
86 switch (range) {
87 case VoltageRange::_300mV: return QCoreApplication::translate("PokitMeter", "Up to 300mV", "VoltageRange");
88 case VoltageRange::_2V: return QCoreApplication::translate("PokitMeter", "Up to 2V", "VoltageRange");
89 case VoltageRange::_6V: return QCoreApplication::translate("PokitMeter", "Up to 6V", "VoltageRange");
90 case VoltageRange::_12V: return QCoreApplication::translate("PokitMeter", "Up to 12V", "VoltageRange");
91 case VoltageRange::_30V: return QCoreApplication::translate("PokitMeter", "Up to 30V", "VoltageRange");
92 case VoltageRange::_60V: return QCoreApplication::translate("PokitMeter", "Up to 60V", "VoltageRange");
93 case VoltageRange::AutoRange: return QCoreApplication::translate("PokitMeter", "Auto-range", "VoltageRange");
94 default: return QString();
95 }
96}
97
98/*!
99 * Returns the maximum value for \a range in (integer) millivolts, or the string "Auto".
100 * If \a range is not a known valid value, then an null QVariant is returned.
101 */
103{
104 switch (range) {
105 case VoltageRange::_300mV: return 300;
106 case VoltageRange::_2V: return 2'000;
107 case VoltageRange::_6V: return 6'000;
108 case VoltageRange::_12V: return 12'000;
109 case VoltageRange::_30V: return 30'000;
110 case VoltageRange::_60V: return 60'000;
111 case VoltageRange::AutoRange: return QCoreApplication::translate("PokitMeter", "Auto", "VoltageRange");
112 default: return QVariant();
113 }
114}
115
116}
Encapsulates convenience functions for working with current ranges.
Encapsulates details specific to Pokit Meter devices.
Definition pokitmeter.h:19
QTPOKIT_EXPORT QString toString(const CurrentRange &range)
Returns range as a user-friendly string.
QTPOKIT_EXPORT QVariant maxValue(const CurrentRange &range)
Returns the maximum value for range in (integer) microamps, or the string "Auto".
@ _60V
Up to 60V DC (42V AC).
Encapsulates convenience functions for working with resistance ranges.
Encapsulates convenience functions for working with voltage ranges.
Declares the PokitMeter namespace.
QString translate(const char *context, const char *sourceText, const char *disambiguation, int n)