LCOV - code coverage report
Current view: top level - src/lib - pokitmeter.cpp (source / functions) Hit Total Coverage
Project: Dokit Lines: 56 56 100.0 %
Version: Functions: 6 12 50.0 %

          Line data    Source code
       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             : 
       9             : #include "qtpokit/pokitmeter.h"
      10             : 
      11             : #include <QCoreApplication>
      12             : 
      13             : namespace PokitMeter {
      14             : 
      15             : /// Returns \a range as a user-friendly string.
      16        2299 : QString toString(const CurrentRange &range)
      17             : {
      18        2299 :     switch (range) {
      19          95 :     case CurrentRange::_10mA:     return QCoreApplication::translate("PokitMeter", "Up to 10mA",  "CurrentRange");
      20          95 :     case CurrentRange::_30mA:     return QCoreApplication::translate("PokitMeter", "Up to 30mA",  "CurrentRange");
      21        1026 :     case CurrentRange::_150mA:    return QCoreApplication::translate("PokitMeter", "Up to 150mA", "CurrentRange");
      22          95 :     case CurrentRange::_300mA:    return QCoreApplication::translate("PokitMeter", "Up to 300mA", "CurrentRange");
      23         893 :     case CurrentRange::_2A:       return QCoreApplication::translate("PokitMeter", "Up to 2A",    "CurrentRange");
      24          95 :     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             :  */
      33         969 : QVariant maxValue(const CurrentRange &range)
      34             : {
      35         969 :     switch (range) {
      36         247 :     case CurrentRange::_10mA:     return    10'000;
      37         209 :     case CurrentRange::_30mA:     return    30'000;
      38         304 :     case CurrentRange::_150mA:    return   150'000;
      39         114 :     case CurrentRange::_300mA:    return   300'000;
      40          76 :     case CurrentRange::_2A:       return 2'000'000;
      41          24 :     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.
      47        1026 : QString toString(const ResistanceRange &range)
      48             : {
      49        1026 :     switch (range) {
      50          95 :     case ResistanceRange::_160:      return QCoreApplication::translate("PokitMeter", "Up to 160Ω",  "ResistanceRange");
      51          95 :     case ResistanceRange::_330:      return QCoreApplication::translate("PokitMeter", "Up to 330Ω",  "ResistanceRange");
      52          95 :     case ResistanceRange::_890:      return QCoreApplication::translate("PokitMeter", "Up to 890Ω",  "ResistanceRange");
      53          95 :     case ResistanceRange::_1K5:      return QCoreApplication::translate("PokitMeter", "Up to 1.5KΩ", "ResistanceRange");
      54         209 :     case ResistanceRange::_10K:      return QCoreApplication::translate("PokitMeter", "Up to 10KΩ",  "ResistanceRange");
      55          95 :     case ResistanceRange::_100K:     return QCoreApplication::translate("PokitMeter", "Up to 100KΩ", "ResistanceRange");
      56         152 :     case ResistanceRange::_470K:     return QCoreApplication::translate("PokitMeter", "Up to 470KΩ", "ResistanceRange");
      57          95 :     case ResistanceRange::_1M:       return QCoreApplication::translate("PokitMeter", "Up to 1MΩ",   "ResistanceRange");
      58          95 :     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             :  */
      67        1881 : QVariant maxValue(const ResistanceRange &range)
      68             : {
      69        1881 :     switch (range) {
      70         361 :     case ResistanceRange::_160:      return       160;
      71         323 :     case ResistanceRange::_330:      return       330;
      72         285 :     case ResistanceRange::_890:      return       890;
      73         247 :     case ResistanceRange::_1K5:      return     1'500;
      74         209 :     case ResistanceRange::_10K:      return    10'000;
      75         171 :     case ResistanceRange::_100K:     return   100'000;
      76         190 :     case ResistanceRange::_470K:     return   470'000;
      77          76 :     case ResistanceRange::_1M:       return 1'000'000;
      78          24 :     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.
      84        2394 : QString toString(const VoltageRange &range)
      85             : {
      86        2394 :     switch (range) {
      87         228 :     case VoltageRange::_300mV:    return QCoreApplication::translate("PokitMeter", "Up to 300mV", "VoltageRange");
      88        1691 :     case VoltageRange::_2V:       return QCoreApplication::translate("PokitMeter", "Up to 2V",    "VoltageRange");
      89          95 :     case VoltageRange::_6V:       return QCoreApplication::translate("PokitMeter", "Up to 6V",    "VoltageRange");
      90          95 :     case VoltageRange::_12V:      return QCoreApplication::translate("PokitMeter", "Up to 12V",   "VoltageRange");
      91          95 :     case VoltageRange::_30V:      return QCoreApplication::translate("PokitMeter", "Up to 30V",   "VoltageRange");
      92          95 :     case VoltageRange::_60V:      return QCoreApplication::translate("PokitMeter", "Up to 60V",   "VoltageRange");
      93          95 :     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             :  */
     102        1273 : QVariant maxValue(const VoltageRange &range)
     103             : {
     104        1273 :     switch (range) {
     105         418 :     case VoltageRange::_300mV:    return    300;
     106         247 :     case VoltageRange::_2V:       return  2'000;
     107         209 :     case VoltageRange::_6V:       return  6'000;
     108         171 :     case VoltageRange::_12V:      return 12'000;
     109         133 :     case VoltageRange::_30V:      return 30'000;
     110          76 :     case VoltageRange::_60V:      return 60'000;
     111          24 :     case VoltageRange::AutoRange: return QCoreApplication::translate("PokitMeter", "Auto", "VoltageRange");
     112             :     default:                      return QVariant();
     113             :     }
     114             : }
     115             : 
     116             : }

Generated by: LCOV version 1.14