libsigrokcxx  unreleased development snapshot
C++ bindings for libsigrok
enums.hpp
1 /* Generated file - edit enums.py instead! */
2 namespace sigrok {
3 
4 template<> const SR_API std::map<const enum sr_loglevel, const LogLevel * const> EnumValue<LogLevel, enum sr_loglevel>::_values;
5 
6 /** Log verbosity level */
7 class SR_API LogLevel : public EnumValue<LogLevel, enum sr_loglevel>
8 {
9 public:
10 
11  /** Output no messages at all. */
12  static const LogLevel * const NONE;
13  /** Output error messages. */
14  static const LogLevel * const ERR;
15  /** Output warnings. */
16  static const LogLevel * const WARN;
17  /** Output informational messages. */
18  static const LogLevel * const INFO;
19  /** Output debug messages. */
20  static const LogLevel * const DBG;
21  /** Output very noisy debug messages. */
22  static const LogLevel * const SPEW;
23 
24 protected:
25  LogLevel(enum sr_loglevel id, const char name[]) : EnumValue(id, name) {}
26 
27  static const LogLevel _NONE;
28  static const LogLevel _ERR;
29  static const LogLevel _WARN;
30  static const LogLevel _INFO;
31  static const LogLevel _DBG;
32  static const LogLevel _SPEW;
33 };
34 
35 template<> const SR_API std::map<const enum sr_datatype, const DataType * const> EnumValue<DataType, enum sr_datatype>::_values;
36 
37 /** Configuration data type */
38 class SR_API DataType : public EnumValue<DataType, enum sr_datatype>
39 {
40 public:
41 
42  static const DataType * const UINT64;
43  static const DataType * const STRING;
44  static const DataType * const BOOL;
45  static const DataType * const FLOAT;
46  static const DataType * const RATIONAL_PERIOD;
47  static const DataType * const RATIONAL_VOLT;
48  static const DataType * const KEYVALUE;
49  static const DataType * const UINT64_RANGE;
50  static const DataType * const DOUBLE_RANGE;
51  static const DataType * const INT32;
52  static const DataType * const MQ;
53  static const DataType * const UINT32;
54 
55 protected:
56  DataType(enum sr_datatype id, const char name[]) : EnumValue(id, name) {}
57 
58  static const DataType _UINT64;
59  static const DataType _STRING;
60  static const DataType _BOOL;
61  static const DataType _FLOAT;
62  static const DataType _RATIONAL_PERIOD;
63  static const DataType _RATIONAL_VOLT;
64  static const DataType _KEYVALUE;
65  static const DataType _UINT64_RANGE;
66  static const DataType _DOUBLE_RANGE;
67  static const DataType _INT32;
68  static const DataType _MQ;
69  static const DataType _UINT32;
70 };
71 
72 template<> const SR_API std::map<const enum sr_packettype, const PacketType * const> EnumValue<PacketType, enum sr_packettype>::_values;
73 
74 /** Type of datafeed packet */
75 class SR_API PacketType : public EnumValue<PacketType, enum sr_packettype>
76 {
77 public:
78 
79  /** Payload is */
80  static const PacketType * const HEADER;
81  /** End of stream (no further data). */
82  static const PacketType * const END;
83  /** Payload is struct */
84  static const PacketType * const META;
85  /** The trigger matched at this point in the data feed. */
86  static const PacketType * const TRIGGER;
87  /** Payload is struct */
88  static const PacketType * const LOGIC;
89  /** Beginning of frame. */
90  static const PacketType * const FRAME_BEGIN;
91  /** End of frame. */
92  static const PacketType * const FRAME_END;
93  /** Payload is struct */
94  static const PacketType * const ANALOG;
95 
96 protected:
97  PacketType(enum sr_packettype id, const char name[]) : EnumValue(id, name) {}
98 
99  static const PacketType _HEADER;
100  static const PacketType _END;
101  static const PacketType _META;
102  static const PacketType _TRIGGER;
103  static const PacketType _LOGIC;
104  static const PacketType _FRAME_BEGIN;
105  static const PacketType _FRAME_END;
106  static const PacketType _ANALOG;
107 };
108 
109 template<> const SR_API std::map<const enum sr_mq, const Quantity * const> EnumValue<Quantity, enum sr_mq>::_values;
110 
111 /** Measured quantity */
112 class SR_API Quantity : public EnumValue<Quantity, enum sr_mq>
113 {
114 public:
115 
116  static const Quantity * const VOLTAGE;
117  static const Quantity * const CURRENT;
118  static const Quantity * const RESISTANCE;
119  static const Quantity * const CAPACITANCE;
120  static const Quantity * const TEMPERATURE;
121  static const Quantity * const FREQUENCY;
122  /** Duty cycle, e.g. */
123  static const Quantity * const DUTY_CYCLE;
124  /** Continuity test. */
125  static const Quantity * const CONTINUITY;
126  static const Quantity * const PULSE_WIDTH;
127  static const Quantity * const CONDUCTANCE;
128  /** Electrical power, usually in W, or dBm. */
129  static const Quantity * const POWER;
130  /** Gain (a transistor's gain, or hFE, for example). */
131  static const Quantity * const GAIN;
132  /** Logarithmic representation of sound pressure relative to a reference value. */
133  static const Quantity * const SOUND_PRESSURE_LEVEL;
134  /** Carbon monoxide level. */
135  static const Quantity * const CARBON_MONOXIDE;
136  /** Humidity. */
137  static const Quantity * const RELATIVE_HUMIDITY;
138  /** Time. */
139  static const Quantity * const TIME;
140  /** Wind speed. */
141  static const Quantity * const WIND_SPEED;
142  /** Pressure. */
143  static const Quantity * const PRESSURE;
144  /** Parallel inductance (LCR meter model). */
145  static const Quantity * const PARALLEL_INDUCTANCE;
146  /** Parallel capacitance (LCR meter model). */
147  static const Quantity * const PARALLEL_CAPACITANCE;
148  /** Parallel resistance (LCR meter model). */
149  static const Quantity * const PARALLEL_RESISTANCE;
150  /** Series inductance (LCR meter model). */
151  static const Quantity * const SERIES_INDUCTANCE;
152  /** Series capacitance (LCR meter model). */
153  static const Quantity * const SERIES_CAPACITANCE;
154  /** Series resistance (LCR meter model). */
155  static const Quantity * const SERIES_RESISTANCE;
156  /** Dissipation factor. */
157  static const Quantity * const DISSIPATION_FACTOR;
158  /** Quality factor. */
159  static const Quantity * const QUALITY_FACTOR;
160  /** Phase angle. */
161  static const Quantity * const PHASE_ANGLE;
162  /** Difference from reference value. */
163  static const Quantity * const DIFFERENCE;
164  /** Count. */
165  static const Quantity * const COUNT;
166  /** Power factor. */
167  static const Quantity * const POWER_FACTOR;
168  /** Apparent power. */
169  static const Quantity * const APPARENT_POWER;
170  /** Mass. */
171  static const Quantity * const MASS;
172  /** Harmonic ratio. */
173  static const Quantity * const HARMONIC_RATIO;
174  /** Energy. */
175  static const Quantity * const ENERGY;
176  /** Electric charge. */
177  static const Quantity * const ELECTRIC_CHARGE;
178 
179 protected:
180  Quantity(enum sr_mq id, const char name[]) : EnumValue(id, name) {}
181 
182  static const Quantity _VOLTAGE;
183  static const Quantity _CURRENT;
184  static const Quantity _RESISTANCE;
185  static const Quantity _CAPACITANCE;
186  static const Quantity _TEMPERATURE;
187  static const Quantity _FREQUENCY;
188  static const Quantity _DUTY_CYCLE;
189  static const Quantity _CONTINUITY;
190  static const Quantity _PULSE_WIDTH;
191  static const Quantity _CONDUCTANCE;
192  static const Quantity _POWER;
193  static const Quantity _GAIN;
194  static const Quantity _SOUND_PRESSURE_LEVEL;
195  static const Quantity _CARBON_MONOXIDE;
196  static const Quantity _RELATIVE_HUMIDITY;
197  static const Quantity _TIME;
198  static const Quantity _WIND_SPEED;
199  static const Quantity _PRESSURE;
200  static const Quantity _PARALLEL_INDUCTANCE;
201  static const Quantity _PARALLEL_CAPACITANCE;
202  static const Quantity _PARALLEL_RESISTANCE;
203  static const Quantity _SERIES_INDUCTANCE;
204  static const Quantity _SERIES_CAPACITANCE;
205  static const Quantity _SERIES_RESISTANCE;
206  static const Quantity _DISSIPATION_FACTOR;
207  static const Quantity _QUALITY_FACTOR;
208  static const Quantity _PHASE_ANGLE;
209  static const Quantity _DIFFERENCE;
210  static const Quantity _COUNT;
211  static const Quantity _POWER_FACTOR;
212  static const Quantity _APPARENT_POWER;
213  static const Quantity _MASS;
214  static const Quantity _HARMONIC_RATIO;
215  static const Quantity _ENERGY;
216  static const Quantity _ELECTRIC_CHARGE;
217 };
218 
219 template<> const SR_API std::map<const enum sr_unit, const Unit * const> EnumValue<Unit, enum sr_unit>::_values;
220 
221 /** Unit of measurement */
222 class SR_API Unit : public EnumValue<Unit, enum sr_unit>
223 {
224 public:
225 
226  /** Volt. */
227  static const Unit * const VOLT;
228  /** Ampere (current). */
229  static const Unit * const AMPERE;
230  /** Ohm (resistance). */
231  static const Unit * const OHM;
232  /** Farad (capacity). */
233  static const Unit * const FARAD;
234  /** Kelvin (temperature). */
235  static const Unit * const KELVIN;
236  /** Degrees Celsius (temperature). */
237  static const Unit * const CELSIUS;
238  /** Degrees Fahrenheit (temperature). */
239  static const Unit * const FAHRENHEIT;
240  /** Hertz (frequency, 1/s, [Hz]). */
241  static const Unit * const HERTZ;
242  /** Percent value. */
243  static const Unit * const PERCENTAGE;
244  /** Boolean value. */
245  static const Unit * const BOOLEAN;
246  /** Time in seconds. */
247  static const Unit * const SECOND;
248  /** Unit of conductance, the inverse of resistance. */
249  static const Unit * const SIEMENS;
250  /** An absolute measurement of power, in decibels, referenced to 1 milliwatt (dBm). */
251  static const Unit * const DECIBEL_MW;
252  /** Voltage in decibel, referenced to 1 volt (dBV). */
253  static const Unit * const DECIBEL_VOLT;
254  /** Measurements that intrinsically do not have units attached, such as ratios, gains, etc. */
255  static const Unit * const UNITLESS;
256  /** Sound pressure level, in decibels, relative to 20 micropascals. */
257  static const Unit * const DECIBEL_SPL;
258  /** Normalized (0 to 1) concentration of a substance or compound with 0 representing a concentration of 0%, and 1 being 100%. */
259  static const Unit * const CONCENTRATION;
260  /** Revolutions per minute. */
261  static const Unit * const REVOLUTIONS_PER_MINUTE;
262  /** Apparent power [VA]. */
263  static const Unit * const VOLT_AMPERE;
264  /** Real power [W]. */
265  static const Unit * const WATT;
266  /** Energy (consumption) in watt hour [Wh]. */
267  static const Unit * const WATT_HOUR;
268  /** Wind speed in meters per second. */
269  static const Unit * const METER_SECOND;
270  /** Pressure in hectopascal. */
271  static const Unit * const HECTOPASCAL;
272  /** Relative humidity assuming air temperature of 293 Kelvin (rF). */
273  static const Unit * const HUMIDITY_293K;
274  /** Plane angle in 1/360th of a full circle. */
275  static const Unit * const DEGREE;
276  /** Henry (inductance). */
277  static const Unit * const HENRY;
278  /** Mass in gram [g]. */
279  static const Unit * const GRAM;
280  /** Mass in carat [ct]. */
281  static const Unit * const CARAT;
282  /** Mass in ounce [oz]. */
283  static const Unit * const OUNCE;
284  /** Mass in troy ounce [oz t]. */
285  static const Unit * const TROY_OUNCE;
286  /** Mass in pound [lb]. */
287  static const Unit * const POUND;
288  /** Mass in pennyweight [dwt]. */
289  static const Unit * const PENNYWEIGHT;
290  /** Mass in grain [gr]. */
291  static const Unit * const GRAIN;
292  /** Mass in tael (variants: Hong Kong, Singapore/Malaysia, Taiwan) */
293  static const Unit * const TAEL;
294  /** Mass in momme. */
295  static const Unit * const MOMME;
296  /** Mass in tola. */
297  static const Unit * const TOLA;
298  /** Pieces (number of items). */
299  static const Unit * const PIECE;
300  /** Energy in joule. */
301  static const Unit * const JOULE;
302  /** Electric charge in coulomb. */
303  static const Unit * const COULOMB;
304  /** Electric charge in ampere hour [Ah]. */
305  static const Unit * const AMPERE_HOUR;
306 
307 protected:
308  Unit(enum sr_unit id, const char name[]) : EnumValue(id, name) {}
309 
310  static const Unit _VOLT;
311  static const Unit _AMPERE;
312  static const Unit _OHM;
313  static const Unit _FARAD;
314  static const Unit _KELVIN;
315  static const Unit _CELSIUS;
316  static const Unit _FAHRENHEIT;
317  static const Unit _HERTZ;
318  static const Unit _PERCENTAGE;
319  static const Unit _BOOLEAN;
320  static const Unit _SECOND;
321  static const Unit _SIEMENS;
322  static const Unit _DECIBEL_MW;
323  static const Unit _DECIBEL_VOLT;
324  static const Unit _UNITLESS;
325  static const Unit _DECIBEL_SPL;
326  static const Unit _CONCENTRATION;
327  static const Unit _REVOLUTIONS_PER_MINUTE;
328  static const Unit _VOLT_AMPERE;
329  static const Unit _WATT;
330  static const Unit _WATT_HOUR;
331  static const Unit _METER_SECOND;
332  static const Unit _HECTOPASCAL;
333  static const Unit _HUMIDITY_293K;
334  static const Unit _DEGREE;
335  static const Unit _HENRY;
336  static const Unit _GRAM;
337  static const Unit _CARAT;
338  static const Unit _OUNCE;
339  static const Unit _TROY_OUNCE;
340  static const Unit _POUND;
341  static const Unit _PENNYWEIGHT;
342  static const Unit _GRAIN;
343  static const Unit _TAEL;
344  static const Unit _MOMME;
345  static const Unit _TOLA;
346  static const Unit _PIECE;
347  static const Unit _JOULE;
348  static const Unit _COULOMB;
349  static const Unit _AMPERE_HOUR;
350 };
351 
352 template<> const SR_API std::map<const enum sr_mqflag, const QuantityFlag * const> EnumValue<QuantityFlag, enum sr_mqflag>::_values;
353 
354 /** Flag applied to measured quantity */
355 class SR_API QuantityFlag : public EnumValue<QuantityFlag, enum sr_mqflag>
356 {
357 public:
358 
359  /** Voltage measurement is alternating current (AC). */
360  static const QuantityFlag * const AC;
361  /** Voltage measurement is direct current (DC). */
362  static const QuantityFlag * const DC;
363  /** This is a true RMS measurement. */
364  static const QuantityFlag * const RMS;
365  /** Value is voltage drop across a diode, or NAN. */
366  static const QuantityFlag * const DIODE;
367  /** Device is in "hold" mode (repeating the last measurement). */
368  static const QuantityFlag * const HOLD;
369  /** Device is in "max" mode, only updating upon a new max value. */
370  static const QuantityFlag * const MAX;
371  /** Device is in "min" mode, only updating upon a new min value. */
372  static const QuantityFlag * const MIN;
373  /** Device is in autoranging mode. */
374  static const QuantityFlag * const AUTORANGE;
375  /** Device is in relative mode. */
376  static const QuantityFlag * const RELATIVE;
377  /** Sound pressure level is A-weighted in the frequency domain, according to IEC 61672:2003. */
378  static const QuantityFlag * const SPL_FREQ_WEIGHT_A;
379  /** Sound pressure level is C-weighted in the frequency domain, according to IEC 61672:2003. */
380  static const QuantityFlag * const SPL_FREQ_WEIGHT_C;
381  /** Sound pressure level is Z-weighted (i.e. */
382  static const QuantityFlag * const SPL_FREQ_WEIGHT_Z;
383  /** Sound pressure level is not weighted in the frequency domain, albeit without standards-defined low and high frequency limits. */
384  static const QuantityFlag * const SPL_FREQ_WEIGHT_FLAT;
385  /** Sound pressure level measurement is S-weighted (1s) in the time domain. */
386  static const QuantityFlag * const SPL_TIME_WEIGHT_S;
387  /** Sound pressure level measurement is F-weighted (125ms) in the time domain. */
388  static const QuantityFlag * const SPL_TIME_WEIGHT_F;
389  /** Sound pressure level is time-averaged (LAT), also known as Equivalent Continuous A-weighted Sound Level (LEQ). */
390  static const QuantityFlag * const SPL_LAT;
391  /** Sound pressure level represented as a percentage of measurements that were over a preset alarm level. */
392  static const QuantityFlag * const SPL_PCT_OVER_ALARM;
393  /** Time is duration (as opposed to epoch, ...). */
394  static const QuantityFlag * const DURATION;
395  /** Device is in "avg" mode, averaging upon each new value. */
396  static const QuantityFlag * const AVG;
397  /** Reference value shown. */
398  static const QuantityFlag * const REFERENCE;
399  /** Unstable value (hasn't settled yet). */
400  static const QuantityFlag * const UNSTABLE;
401  /** Measurement is four wire (e.g. */
402  static const QuantityFlag * const FOUR_WIRE;
403  /** Get flags corresponding to a bitmask. */
404  static std::vector<const QuantityFlag *>
405  flags_from_mask(unsigned int mask);
406 
407  /** Get bitmask corresponding to a set of flags. */
408  static unsigned int mask_from_flags(
409  std::vector<const QuantityFlag *> flags);
410 
411 
412 protected:
413  QuantityFlag(enum sr_mqflag id, const char name[]) : EnumValue(id, name) {}
414 
415  static const QuantityFlag _AC;
416  static const QuantityFlag _DC;
417  static const QuantityFlag _RMS;
418  static const QuantityFlag _DIODE;
419  static const QuantityFlag _HOLD;
420  static const QuantityFlag _MAX;
421  static const QuantityFlag _MIN;
422  static const QuantityFlag _AUTORANGE;
423  static const QuantityFlag _RELATIVE;
424  static const QuantityFlag _SPL_FREQ_WEIGHT_A;
425  static const QuantityFlag _SPL_FREQ_WEIGHT_C;
426  static const QuantityFlag _SPL_FREQ_WEIGHT_Z;
427  static const QuantityFlag _SPL_FREQ_WEIGHT_FLAT;
428  static const QuantityFlag _SPL_TIME_WEIGHT_S;
429  static const QuantityFlag _SPL_TIME_WEIGHT_F;
430  static const QuantityFlag _SPL_LAT;
431  static const QuantityFlag _SPL_PCT_OVER_ALARM;
432  static const QuantityFlag _DURATION;
433  static const QuantityFlag _AVG;
434  static const QuantityFlag _REFERENCE;
435  static const QuantityFlag _UNSTABLE;
436  static const QuantityFlag _FOUR_WIRE;
437 };
438 
439 template<> const SR_API std::map<const enum sr_trigger_matches, const TriggerMatchType * const> EnumValue<TriggerMatchType, enum sr_trigger_matches>::_values;
440 
441 /** Trigger match type */
442 class SR_API TriggerMatchType : public EnumValue<TriggerMatchType, enum sr_trigger_matches>
443 {
444 public:
445 
446  static const TriggerMatchType * const ZERO;
447  static const TriggerMatchType * const ONE;
448  static const TriggerMatchType * const RISING;
449  static const TriggerMatchType * const FALLING;
450  static const TriggerMatchType * const EDGE;
451  static const TriggerMatchType * const OVER;
452  static const TriggerMatchType * const UNDER;
453 
454 protected:
455  TriggerMatchType(enum sr_trigger_matches id, const char name[]) : EnumValue(id, name) {}
456 
457  static const TriggerMatchType _ZERO;
458  static const TriggerMatchType _ONE;
459  static const TriggerMatchType _RISING;
460  static const TriggerMatchType _FALLING;
461  static const TriggerMatchType _EDGE;
462  static const TriggerMatchType _OVER;
463  static const TriggerMatchType _UNDER;
464 };
465 
466 template<> const SR_API std::map<const enum sr_output_flag, const OutputFlag * const> EnumValue<OutputFlag, enum sr_output_flag>::_values;
467 
468 /** Flag applied to output modules */
469 class SR_API OutputFlag : public EnumValue<OutputFlag, enum sr_output_flag>
470 {
471 public:
472 
473  /** If set, this output module writes the output itself. */
474  static const OutputFlag * const INTERNAL_IO_HANDLING;
475 
476 protected:
477  OutputFlag(enum sr_output_flag id, const char name[]) : EnumValue(id, name) {}
478 
479  static const OutputFlag _INTERNAL_IO_HANDLING;
480 };
481 
482 template<> const SR_API std::map<const enum sr_channeltype, const ChannelType * const> EnumValue<ChannelType, enum sr_channeltype>::_values;
483 
484 /** Channel type */
485 class SR_API ChannelType : public EnumValue<ChannelType, enum sr_channeltype>
486 {
487 public:
488 
489  /** Channel type is logic channel. */
490  static const ChannelType * const LOGIC;
491  /** Channel type is analog channel. */
492  static const ChannelType * const ANALOG;
493 
494 protected:
495  ChannelType(enum sr_channeltype id, const char name[]) : EnumValue(id, name) {}
496 
497  static const ChannelType _LOGIC;
498  static const ChannelType _ANALOG;
499 };
500 
501 template<> const SR_API std::map<const enum sr_configcap, const Capability * const> EnumValue<Capability, enum sr_configcap>::_values;
502 
503 /** Configuration capability */
504 class SR_API Capability : public EnumValue<Capability, enum sr_configcap>
505 {
506 public:
507 
508  /** Value can be read. */
509  static const Capability * const GET;
510  /** Value can be written. */
511  static const Capability * const SET;
512  /** Possible values can be enumerated. */
513  static const Capability * const LIST;
514 
515 protected:
516  Capability(enum sr_configcap id, const char name[]) : EnumValue(id, name) {}
517 
518  static const Capability _GET;
519  static const Capability _SET;
520  static const Capability _LIST;
521 };
522 
523 template<> const SR_API std::map<const enum sr_configkey, const ConfigKey * const> EnumValue<ConfigKey, enum sr_configkey>::_values;
524 
525 /** Configuration key */
526 class SR_API ConfigKey : public EnumValue<ConfigKey, enum sr_configkey>
527 {
528 public:
529 
530  /** The device can act as logic analyzer. */
531  static const ConfigKey * const LOGIC_ANALYZER;
532  /** The device can act as an oscilloscope. */
533  static const ConfigKey * const OSCILLOSCOPE;
534  /** The device can act as a multimeter. */
535  static const ConfigKey * const MULTIMETER;
536  /** The device is a demo device. */
537  static const ConfigKey * const DEMO_DEV;
538  /** The device can act as a sound level meter. */
539  static const ConfigKey * const SOUNDLEVELMETER;
540  /** The device can measure temperature. */
541  static const ConfigKey * const THERMOMETER;
542  /** The device can measure humidity. */
543  static const ConfigKey * const HYGROMETER;
544  /** The device can measure energy consumption. */
545  static const ConfigKey * const ENERGYMETER;
546  /** The device can act as a signal demodulator. */
547  static const ConfigKey * const DEMODULATOR;
548  /** The device can act as a programmable power supply. */
549  static const ConfigKey * const POWER_SUPPLY;
550  /** The device can act as an LCR meter. */
551  static const ConfigKey * const LCRMETER;
552  /** The device can act as an electronic load. */
553  static const ConfigKey * const ELECTRONIC_LOAD;
554  /** The device can act as a scale. */
555  static const ConfigKey * const SCALE;
556  /** The device can act as a function generator. */
557  static const ConfigKey * const SIGNAL_GENERATOR;
558  /** The device can measure power. */
559  static const ConfigKey * const POWERMETER;
560  /** The device can switch between multiple sources, e.g. */
561  static const ConfigKey * const MULTIPLEXER;
562  /** Specification on how to connect to a device. */
563  static const ConfigKey * const CONN;
564  /** Serial communication specification, in the form: */
565  static const ConfigKey * const SERIALCOMM;
566  /** Modbus slave address specification. */
567  static const ConfigKey * const MODBUSADDR;
568  /** User specified forced driver attachment to unknown devices. */
569  static const ConfigKey * const FORCE_DETECT;
570  /** Override builtin probe names from user specs. */
571  static const ConfigKey * const PROBE_NAMES;
572  /** The device supports setting its samplerate, in Hz. */
573  static const ConfigKey * const SAMPLERATE;
574  /** The device supports setting a pre/post-trigger capture ratio. */
575  static const ConfigKey * const CAPTURE_RATIO;
576  /** The device supports setting a pattern (pattern generator mode). */
577  static const ConfigKey * const PATTERN_MODE;
578  /** The device supports run-length encoding (RLE). */
579  static const ConfigKey * const RLE;
580  /** The device supports setting trigger slope. */
581  static const ConfigKey * const TRIGGER_SLOPE;
582  /** The device supports averaging. */
583  static const ConfigKey * const AVERAGING;
584  /** The device supports setting number of samples to be averaged over. */
585  static const ConfigKey * const AVG_SAMPLES;
586  /** Trigger source. */
587  static const ConfigKey * const TRIGGER_SOURCE;
588  /** Horizontal trigger position. */
589  static const ConfigKey * const HORIZ_TRIGGERPOS;
590  /** Buffer size. */
591  static const ConfigKey * const BUFFERSIZE;
592  /** Time base. */
593  static const ConfigKey * const TIMEBASE;
594  /** Filter. */
595  static const ConfigKey * const FILTER;
596  /** Volts/div. */
597  static const ConfigKey * const VDIV;
598  /** Coupling. */
599  static const ConfigKey * const COUPLING;
600  /** Trigger matches. */
601  static const ConfigKey * const TRIGGER_MATCH;
602  /** The device supports setting its sample interval, in ms. */
603  static const ConfigKey * const SAMPLE_INTERVAL;
604  /** Number of horizontal divisions, as related to SR_CONF_TIMEBASE. */
605  static const ConfigKey * const NUM_HDIV;
606  /** Number of vertical divisions, as related to SR_CONF_VDIV. */
607  static const ConfigKey * const NUM_VDIV;
608  /** Sound pressure level frequency weighting. */
609  static const ConfigKey * const SPL_WEIGHT_FREQ;
610  /** Sound pressure level time weighting. */
611  static const ConfigKey * const SPL_WEIGHT_TIME;
612  /** Sound pressure level measurement range. */
613  static const ConfigKey * const SPL_MEASUREMENT_RANGE;
614  /** Max hold mode. */
615  static const ConfigKey * const HOLD_MAX;
616  /** Min hold mode. */
617  static const ConfigKey * const HOLD_MIN;
618  /** Logic low-high threshold range. */
619  static const ConfigKey * const VOLTAGE_THRESHOLD;
620  /** The device supports using an external clock. */
621  static const ConfigKey * const EXTERNAL_CLOCK;
622  /** The device supports swapping channels. */
623  static const ConfigKey * const SWAP;
624  /** Center frequency. */
625  static const ConfigKey * const CENTER_FREQUENCY;
626  /** The device supports setting the number of logic channels. */
627  static const ConfigKey * const NUM_LOGIC_CHANNELS;
628  /** The device supports setting the number of analog channels. */
629  static const ConfigKey * const NUM_ANALOG_CHANNELS;
630  /** Current voltage. */
631  static const ConfigKey * const VOLTAGE;
632  /** Maximum target voltage. */
633  static const ConfigKey * const VOLTAGE_TARGET;
634  /** Current current. */
635  static const ConfigKey * const CURRENT;
636  /** Current limit. */
637  static const ConfigKey * const CURRENT_LIMIT;
638  /** Enabling/disabling channel. */
639  static const ConfigKey * const ENABLED;
640  /** Channel configuration. */
641  static const ConfigKey * const CHANNEL_CONFIG;
642  /** Over-voltage protection (OVP) feature. */
644  /** Over-voltage protection (OVP) active. */
646  /** Over-voltage protection (OVP) threshold. */
648  /** Over-current protection (OCP) feature. */
650  /** Over-current protection (OCP) active. */
652  /** Over-current protection (OCP) threshold. */
654  /** Choice of clock edge for external clock ("r" or "f"). */
655  static const ConfigKey * const CLOCK_EDGE;
656  /** Amplitude of a source without strictly-defined MQ. */
657  static const ConfigKey * const AMPLITUDE;
658  /** Channel regulation get: "CV", "CC" or "UR", denoting constant voltage, constant current or unregulated. */
659  static const ConfigKey * const REGULATION;
660  /** Over-temperature protection (OTP) */
662  /** Output frequency in Hz. */
663  static const ConfigKey * const OUTPUT_FREQUENCY;
664  /** Output frequency target in Hz. */
665  static const ConfigKey * const OUTPUT_FREQUENCY_TARGET;
666  /** Measured quantity. */
667  static const ConfigKey * const MEASURED_QUANTITY;
668  /** Equivalent circuit model. */
669  static const ConfigKey * const EQUIV_CIRCUIT_MODEL;
670  /** Over-temperature protection (OTP) active. */
672  /** Under-voltage condition. */
673  static const ConfigKey * const UNDER_VOLTAGE_CONDITION;
674  /** Under-voltage condition active. */
676  /** Trigger level. */
677  static const ConfigKey * const TRIGGER_LEVEL;
678  /** Under-voltage condition threshold. */
680  /** Which external clock source to use if the device supports multiple external clock channels. */
681  static const ConfigKey * const EXTERNAL_CLOCK_SOURCE;
682  /** Offset of a source without strictly-defined MQ. */
683  static const ConfigKey * const OFFSET;
684  /** The device supports setting a pattern for the logic trigger. */
685  static const ConfigKey * const TRIGGER_PATTERN;
686  /** High resolution mode. */
687  static const ConfigKey * const HIGH_RESOLUTION;
688  /** Peak detection. */
689  static const ConfigKey * const PEAK_DETECTION;
690  /** Logic threshold: predefined levels (TTL, ECL, CMOS, etc). */
691  static const ConfigKey * const LOGIC_THRESHOLD;
692  /** Logic threshold: custom numerical value. */
693  static const ConfigKey * const LOGIC_THRESHOLD_CUSTOM;
694  /** The measurement range of a DMM or the output range of a power supply. */
695  static const ConfigKey * const RANGE;
696  /** The number of digits (e.g. */
697  static const ConfigKey * const DIGITS;
698  /** Phase of a source signal. */
699  static const ConfigKey * const PHASE;
700  /** Duty cycle of a source signal. */
701  static const ConfigKey * const DUTY_CYCLE;
702  /** Current power. */
703  static const ConfigKey * const POWER;
704  /** Power target. */
705  static const ConfigKey * const POWER_TARGET;
706  /** Resistance target. */
707  static const ConfigKey * const RESISTANCE_TARGET;
708  /** Over-current protection (OCP) delay. */
710  /** Session filename. */
711  static const ConfigKey * const SESSIONFILE;
712  /** The device supports specifying a capturefile to inject. */
713  static const ConfigKey * const CAPTUREFILE;
714  /** The device supports specifying the capturefile unit size. */
715  static const ConfigKey * const CAPTURE_UNITSIZE;
716  /** Power off the device. */
717  static const ConfigKey * const POWER_OFF;
718  /** Data source for acquisition. */
719  static const ConfigKey * const DATA_SOURCE;
720  /** The device supports setting a probe factor. */
721  static const ConfigKey * const PROBE_FACTOR;
722  /** Number of powerline cycles for ADC integration time. */
723  static const ConfigKey * const ADC_POWERLINE_CYCLES;
724  /** The device supports setting a sample time limit (how long the sample acquisition should run, in ms). */
725  static const ConfigKey * const LIMIT_MSEC;
726  /** The device supports setting a sample number limit (how many samples should be acquired). */
727  static const ConfigKey * const LIMIT_SAMPLES;
728  /** The device supports setting a frame limit (how many frames should be acquired). */
729  static const ConfigKey * const LIMIT_FRAMES;
730  /** The device supports continuous sampling. */
731  static const ConfigKey * const CONTINUOUS;
732  /** The device has internal storage, into which data is logged. */
733  static const ConfigKey * const DATALOG;
734  /** Device mode for multi-function devices. */
735  static const ConfigKey * const DEVICE_MODE;
736  /** Self test mode. */
737  static const ConfigKey * const TEST_MODE;
738  /** Data type used for this configuration key. */
739  const DataType *data_type() const;
740  /** String identifier for this configuration key, suitable for CLI use. */
741  std::string identifier() const;
742  /** Description of this configuration key. */
743  std::string description() const;
744  /** Get configuration key by string identifier. */
745  static const ConfigKey *get_by_identifier(std::string identifier);
746  /** Parse a string argument into the appropriate type for this key. */
747  static Glib::VariantBase parse_string(std::string value, enum sr_datatype dt);
748  Glib::VariantBase parse_string(std::string value) const;
749 
750 
751 protected:
752  ConfigKey(enum sr_configkey id, const char name[]) : EnumValue(id, name) {}
753 
754  static const ConfigKey _LOGIC_ANALYZER;
755  static const ConfigKey _OSCILLOSCOPE;
756  static const ConfigKey _MULTIMETER;
757  static const ConfigKey _DEMO_DEV;
758  static const ConfigKey _SOUNDLEVELMETER;
759  static const ConfigKey _THERMOMETER;
760  static const ConfigKey _HYGROMETER;
761  static const ConfigKey _ENERGYMETER;
762  static const ConfigKey _DEMODULATOR;
763  static const ConfigKey _POWER_SUPPLY;
764  static const ConfigKey _LCRMETER;
765  static const ConfigKey _ELECTRONIC_LOAD;
766  static const ConfigKey _SCALE;
767  static const ConfigKey _SIGNAL_GENERATOR;
768  static const ConfigKey _POWERMETER;
769  static const ConfigKey _MULTIPLEXER;
770  static const ConfigKey _CONN;
771  static const ConfigKey _SERIALCOMM;
772  static const ConfigKey _MODBUSADDR;
773  static const ConfigKey _FORCE_DETECT;
774  static const ConfigKey _PROBE_NAMES;
775  static const ConfigKey _SAMPLERATE;
776  static const ConfigKey _CAPTURE_RATIO;
777  static const ConfigKey _PATTERN_MODE;
778  static const ConfigKey _RLE;
779  static const ConfigKey _TRIGGER_SLOPE;
780  static const ConfigKey _AVERAGING;
781  static const ConfigKey _AVG_SAMPLES;
782  static const ConfigKey _TRIGGER_SOURCE;
783  static const ConfigKey _HORIZ_TRIGGERPOS;
784  static const ConfigKey _BUFFERSIZE;
785  static const ConfigKey _TIMEBASE;
786  static const ConfigKey _FILTER;
787  static const ConfigKey _VDIV;
788  static const ConfigKey _COUPLING;
789  static const ConfigKey _TRIGGER_MATCH;
790  static const ConfigKey _SAMPLE_INTERVAL;
791  static const ConfigKey _NUM_HDIV;
792  static const ConfigKey _NUM_VDIV;
793  static const ConfigKey _SPL_WEIGHT_FREQ;
794  static const ConfigKey _SPL_WEIGHT_TIME;
795  static const ConfigKey _SPL_MEASUREMENT_RANGE;
796  static const ConfigKey _HOLD_MAX;
797  static const ConfigKey _HOLD_MIN;
798  static const ConfigKey _VOLTAGE_THRESHOLD;
799  static const ConfigKey _EXTERNAL_CLOCK;
800  static const ConfigKey _SWAP;
801  static const ConfigKey _CENTER_FREQUENCY;
802  static const ConfigKey _NUM_LOGIC_CHANNELS;
803  static const ConfigKey _NUM_ANALOG_CHANNELS;
804  static const ConfigKey _VOLTAGE;
805  static const ConfigKey _VOLTAGE_TARGET;
806  static const ConfigKey _CURRENT;
807  static const ConfigKey _CURRENT_LIMIT;
808  static const ConfigKey _ENABLED;
809  static const ConfigKey _CHANNEL_CONFIG;
810  static const ConfigKey _OVER_VOLTAGE_PROTECTION_ENABLED;
811  static const ConfigKey _OVER_VOLTAGE_PROTECTION_ACTIVE;
812  static const ConfigKey _OVER_VOLTAGE_PROTECTION_THRESHOLD;
813  static const ConfigKey _OVER_CURRENT_PROTECTION_ENABLED;
814  static const ConfigKey _OVER_CURRENT_PROTECTION_ACTIVE;
815  static const ConfigKey _OVER_CURRENT_PROTECTION_THRESHOLD;
816  static const ConfigKey _CLOCK_EDGE;
817  static const ConfigKey _AMPLITUDE;
818  static const ConfigKey _REGULATION;
819  static const ConfigKey _OVER_TEMPERATURE_PROTECTION;
820  static const ConfigKey _OUTPUT_FREQUENCY;
821  static const ConfigKey _OUTPUT_FREQUENCY_TARGET;
822  static const ConfigKey _MEASURED_QUANTITY;
823  static const ConfigKey _EQUIV_CIRCUIT_MODEL;
824  static const ConfigKey _OVER_TEMPERATURE_PROTECTION_ACTIVE;
825  static const ConfigKey _UNDER_VOLTAGE_CONDITION;
826  static const ConfigKey _UNDER_VOLTAGE_CONDITION_ACTIVE;
827  static const ConfigKey _TRIGGER_LEVEL;
828  static const ConfigKey _UNDER_VOLTAGE_CONDITION_THRESHOLD;
829  static const ConfigKey _EXTERNAL_CLOCK_SOURCE;
830  static const ConfigKey _OFFSET;
831  static const ConfigKey _TRIGGER_PATTERN;
832  static const ConfigKey _HIGH_RESOLUTION;
833  static const ConfigKey _PEAK_DETECTION;
834  static const ConfigKey _LOGIC_THRESHOLD;
835  static const ConfigKey _LOGIC_THRESHOLD_CUSTOM;
836  static const ConfigKey _RANGE;
837  static const ConfigKey _DIGITS;
838  static const ConfigKey _PHASE;
839  static const ConfigKey _DUTY_CYCLE;
840  static const ConfigKey _POWER;
841  static const ConfigKey _POWER_TARGET;
842  static const ConfigKey _RESISTANCE_TARGET;
843  static const ConfigKey _OVER_CURRENT_PROTECTION_DELAY;
844  static const ConfigKey _SESSIONFILE;
845  static const ConfigKey _CAPTUREFILE;
846  static const ConfigKey _CAPTURE_UNITSIZE;
847  static const ConfigKey _POWER_OFF;
848  static const ConfigKey _DATA_SOURCE;
849  static const ConfigKey _PROBE_FACTOR;
850  static const ConfigKey _ADC_POWERLINE_CYCLES;
851  static const ConfigKey _LIMIT_MSEC;
852  static const ConfigKey _LIMIT_SAMPLES;
853  static const ConfigKey _LIMIT_FRAMES;
854  static const ConfigKey _CONTINUOUS;
855  static const ConfigKey _DATALOG;
856  static const ConfigKey _DEVICE_MODE;
857  static const ConfigKey _TEST_MODE;
858 };
859 }
static const LogLevel *const SPEW
Output very noisy debug messages.
Definition: enums.hpp:22
static const Unit *const DECIBEL_MW
An absolute measurement of power, in decibels, referenced to 1 milliwatt (dBm).
Definition: enums.hpp:251
static const ConfigKey *const LOGIC_THRESHOLD
Logic threshold: predefined levels (TTL, ECL, CMOS, etc).
Definition: enums.hpp:691
static const ConfigKey *const POWER_TARGET
Power target.
Definition: enums.hpp:705
static const PacketType *const END
End of stream (no further data).
Definition: enums.hpp:82
static const Unit *const GRAIN
Mass in grain [gr].
Definition: enums.hpp:291
static const Unit *const UNITLESS
Measurements that intrinsically do not have units attached, such as ratios, gains, etc.
Definition: enums.hpp:255
static const ConfigKey *const ENERGYMETER
The device can measure energy consumption.
Definition: enums.hpp:545
Configuration data type.
Definition: enums.hpp:38
static const ConfigKey *const OVER_CURRENT_PROTECTION_ENABLED
Over-current protection (OCP) feature.
Definition: enums.hpp:649
static const ConfigKey *const SPL_WEIGHT_TIME
Sound pressure level time weighting.
Definition: enums.hpp:611
static const ConfigKey *const EXTERNAL_CLOCK_SOURCE
Which external clock source to use if the device supports multiple external clock channels...
Definition: enums.hpp:681
static const ConfigKey *const OVER_VOLTAGE_PROTECTION_THRESHOLD
Over-voltage protection (OVP) threshold.
Definition: enums.hpp:647
static const PacketType *const HEADER
Payload is.
Definition: enums.hpp:80
static const QuantityFlag *const SPL_TIME_WEIGHT_F
Sound pressure level measurement is F-weighted (125ms) in the time domain.
Definition: enums.hpp:388
static const Unit *const TAEL
Mass in tael (variants: Hong Kong, Singapore/Malaysia, Taiwan)
Definition: enums.hpp:293
static const ConfigKey *const TRIGGER_SLOPE
The device supports setting trigger slope.
Definition: enums.hpp:581
static const ConfigKey *const SWAP
The device supports swapping channels.
Definition: enums.hpp:623
static const ConfigKey *const SIGNAL_GENERATOR
The device can act as a function generator.
Definition: enums.hpp:557
static const Capability *const SET
Value can be written.
Definition: enums.hpp:511
static const ConfigKey *const DATALOG
The device has internal storage, into which data is logged.
Definition: enums.hpp:733
static const Unit *const REVOLUTIONS_PER_MINUTE
Revolutions per minute.
Definition: enums.hpp:261
static const ConfigKey *const OVER_CURRENT_PROTECTION_THRESHOLD
Over-current protection (OCP) threshold.
Definition: enums.hpp:653
static const Quantity *const POWER_FACTOR
Power factor.
Definition: enums.hpp:167
static const ConfigKey *const SPL_WEIGHT_FREQ
Sound pressure level frequency weighting.
Definition: enums.hpp:609
static const ConfigKey *const PHASE
Phase of a source signal.
Definition: enums.hpp:699
static const Unit *const DECIBEL_VOLT
Voltage in decibel, referenced to 1 volt (dBV).
Definition: enums.hpp:253
static const ConfigKey *const OVER_VOLTAGE_PROTECTION_ACTIVE
Over-voltage protection (OVP) active.
Definition: enums.hpp:645
static const ConfigKey *const MODBUSADDR
Modbus slave address specification.
Definition: enums.hpp:567
Configuration capability.
Definition: enums.hpp:504
static const QuantityFlag *const FOUR_WIRE
Measurement is four wire (e.g.
Definition: enums.hpp:402
static const ConfigKey *const UNDER_VOLTAGE_CONDITION_ACTIVE
Under-voltage condition active.
Definition: enums.hpp:675
static const PacketType *const FRAME_BEGIN
Beginning of frame.
Definition: enums.hpp:90
static const ChannelType *const LOGIC
Channel type is logic channel.
Definition: enums.hpp:490
static const PacketType *const META
Payload is struct.
Definition: enums.hpp:84
static const ConfigKey *const AMPLITUDE
Amplitude of a source without strictly-defined MQ.
Definition: enums.hpp:657
static const Unit *const MOMME
Mass in momme.
Definition: enums.hpp:295
Measured quantity.
Definition: enums.hpp:112
static const ConfigKey *const FORCE_DETECT
User specified forced driver attachment to unknown devices.
Definition: enums.hpp:569
static const ConfigKey *const RANGE
The measurement range of a DMM or the output range of a power supply.
Definition: enums.hpp:695
static const QuantityFlag *const SPL_FREQ_WEIGHT_C
Sound pressure level is C-weighted in the frequency domain, according to IEC 61672:2003.
Definition: enums.hpp:380
static const ConfigKey *const TRIGGER_SOURCE
Trigger source.
Definition: enums.hpp:587
static const ConfigKey *const DUTY_CYCLE
Duty cycle of a source signal.
Definition: enums.hpp:701
static const QuantityFlag *const SPL_TIME_WEIGHT_S
Sound pressure level measurement is S-weighted (1s) in the time domain.
Definition: enums.hpp:386
static const QuantityFlag *const MAX
Device is in "max" mode, only updating upon a new max value.
Definition: enums.hpp:370
static const PacketType *const FRAME_END
End of frame.
Definition: enums.hpp:92
static const ConfigKey *const HIGH_RESOLUTION
High resolution mode.
Definition: enums.hpp:687
static const QuantityFlag *const SPL_FREQ_WEIGHT_Z
Sound pressure level is Z-weighted (i.e.
Definition: enums.hpp:382
static const LogLevel *const INFO
Output informational messages.
Definition: enums.hpp:18
static const ConfigKey *const DEMO_DEV
The device is a demo device.
Definition: enums.hpp:537
static const ConfigKey *const LOGIC_THRESHOLD_CUSTOM
Logic threshold: custom numerical value.
Definition: enums.hpp:693
static const ConfigKey *const ADC_POWERLINE_CYCLES
Number of powerline cycles for ADC integration time.
Definition: enums.hpp:723
static const ConfigKey *const CONN
Specification on how to connect to a device.
Definition: enums.hpp:563
static const Quantity *const ENERGY
Energy.
Definition: enums.hpp:175
static const Unit *const PERCENTAGE
Percent value.
Definition: enums.hpp:243
static const Unit *const CELSIUS
Degrees Celsius (temperature).
Definition: enums.hpp:237
static const Unit *const HERTZ
Hertz (frequency, 1/s, [Hz]).
Definition: enums.hpp:241
static const ConfigKey *const NUM_ANALOG_CHANNELS
The device supports setting the number of analog channels.
Definition: enums.hpp:629
static const QuantityFlag *const DURATION
Time is duration (as opposed to epoch, ...).
Definition: enums.hpp:394
static const QuantityFlag *const SPL_FREQ_WEIGHT_A
Sound pressure level is A-weighted in the frequency domain, according to IEC 61672:2003.
Definition: enums.hpp:378
Log verbosity level.
Definition: enums.hpp:7
static const ConfigKey *const RLE
The device supports run-length encoding (RLE).
Definition: enums.hpp:579
static const ConfigKey *const DATA_SOURCE
Data source for acquisition.
Definition: enums.hpp:719
static const ConfigKey *const VOLTAGE
Current voltage.
Definition: enums.hpp:631
static const Quantity *const CONTINUITY
Continuity test.
Definition: enums.hpp:125
static const Unit *const FARAD
Farad (capacity).
Definition: enums.hpp:233
static const Unit *const PENNYWEIGHT
Mass in pennyweight [dwt].
Definition: enums.hpp:289
static const Quantity *const DISSIPATION_FACTOR
Dissipation factor.
Definition: enums.hpp:157
static const ConfigKey *const HOLD_MAX
Max hold mode.
Definition: enums.hpp:615
static const Quantity *const QUALITY_FACTOR
Quality factor.
Definition: enums.hpp:159
static const Unit *const WATT
Real power [W].
Definition: enums.hpp:265
static const ConfigKey *const CURRENT_LIMIT
Current limit.
Definition: enums.hpp:637
static const ConfigKey *const HORIZ_TRIGGERPOS
Horizontal trigger position.
Definition: enums.hpp:589
static const Unit *const TROY_OUNCE
Mass in troy ounce [oz t].
Definition: enums.hpp:285
static const QuantityFlag *const AUTORANGE
Device is in autoranging mode.
Definition: enums.hpp:374
static const ConfigKey *const FILTER
Filter.
Definition: enums.hpp:595
Channel type.
Definition: enums.hpp:485
static const ConfigKey *const POWER_OFF
Power off the device.
Definition: enums.hpp:717
static const ConfigKey *const SAMPLERATE
The device supports setting its samplerate, in Hz.
Definition: enums.hpp:573
static const Unit *const JOULE
Energy in joule.
Definition: enums.hpp:301
static const QuantityFlag *const DIODE
Value is voltage drop across a diode, or NAN.
Definition: enums.hpp:366
static const Quantity *const TIME
Time.
Definition: enums.hpp:139
static const ConfigKey *const ENABLED
Enabling/disabling channel.
Definition: enums.hpp:639
static const QuantityFlag *const HOLD
Device is in "hold" mode (repeating the last measurement).
Definition: enums.hpp:368
static const ConfigKey *const MULTIMETER
The device can act as a multimeter.
Definition: enums.hpp:535
static const Quantity *const HARMONIC_RATIO
Harmonic ratio.
Definition: enums.hpp:173
static const QuantityFlag *const MIN
Device is in "min" mode, only updating upon a new min value.
Definition: enums.hpp:372
static const Quantity *const MASS
Mass.
Definition: enums.hpp:171
static const ConfigKey *const CONTINUOUS
The device supports continuous sampling.
Definition: enums.hpp:731
static const ConfigKey *const TIMEBASE
Time base.
Definition: enums.hpp:593
static const Quantity *const CARBON_MONOXIDE
Carbon monoxide level.
Definition: enums.hpp:135
static const ConfigKey *const TRIGGER_PATTERN
The device supports setting a pattern for the logic trigger.
Definition: enums.hpp:685
static const Quantity *const ELECTRIC_CHARGE
Electric charge.
Definition: enums.hpp:177
Trigger match type.
Definition: enums.hpp:442
static const Unit *const DECIBEL_SPL
Sound pressure level, in decibels, relative to 20 micropascals.
Definition: enums.hpp:257
static const ConfigKey *const CAPTUREFILE
The device supports specifying a capturefile to inject.
Definition: enums.hpp:713
static const OutputFlag *const INTERNAL_IO_HANDLING
If set, this output module writes the output itself.
Definition: enums.hpp:474
static const ChannelType *const ANALOG
Channel type is analog channel.
Definition: enums.hpp:492
static const Unit *const COULOMB
Electric charge in coulomb.
Definition: enums.hpp:303
static const Quantity *const POWER
Electrical power, usually in W, or dBm.
Definition: enums.hpp:129
static const Quantity *const SOUND_PRESSURE_LEVEL
Logarithmic representation of sound pressure relative to a reference value.
Definition: enums.hpp:133
static const Quantity *const APPARENT_POWER
Apparent power.
Definition: enums.hpp:169
static const ConfigKey *const TRIGGER_LEVEL
Trigger level.
Definition: enums.hpp:677
static const ConfigKey *const HYGROMETER
The device can measure humidity.
Definition: enums.hpp:543
static const Unit *const WATT_HOUR
Energy (consumption) in watt hour [Wh].
Definition: enums.hpp:267
static const Unit *const BOOLEAN
Boolean value.
Definition: enums.hpp:245
static const Unit *const HUMIDITY_293K
Relative humidity assuming air temperature of 293 Kelvin (rF).
Definition: enums.hpp:273
static const ConfigKey *const POWER
Current power.
Definition: enums.hpp:703
static const ConfigKey *const SCALE
The device can act as a scale.
Definition: enums.hpp:555
static const QuantityFlag *const DC
Voltage measurement is direct current (DC).
Definition: enums.hpp:362
Type of datafeed packet.
Definition: enums.hpp:75
static const PacketType *const TRIGGER
The trigger matched at this point in the data feed.
Definition: enums.hpp:86
static const Capability *const LIST
Possible values can be enumerated.
Definition: enums.hpp:513
static const Quantity *const PARALLEL_INDUCTANCE
Parallel inductance (LCR meter model).
Definition: enums.hpp:145
static const Quantity *const SERIES_INDUCTANCE
Series inductance (LCR meter model).
Definition: enums.hpp:151
static const PacketType *const ANALOG
Payload is struct.
Definition: enums.hpp:94
static const QuantityFlag *const UNSTABLE
Unstable value (hasn&#39;t settled yet).
Definition: enums.hpp:400
static const Quantity *const COUNT
Count.
Definition: enums.hpp:165
static const ConfigKey *const OUTPUT_FREQUENCY_TARGET
Output frequency target in Hz.
Definition: enums.hpp:665
static const ConfigKey *const DEVICE_MODE
Device mode for multi-function devices.
Definition: enums.hpp:735
static const PacketType *const LOGIC
Payload is struct.
Definition: enums.hpp:88
static const ConfigKey *const PROBE_FACTOR
The device supports setting a probe factor.
Definition: enums.hpp:721
static const ConfigKey *const SPL_MEASUREMENT_RANGE
Sound pressure level measurement range.
Definition: enums.hpp:613
static const ConfigKey *const POWER_SUPPLY
The device can act as a programmable power supply.
Definition: enums.hpp:549
static const ConfigKey *const MEASURED_QUANTITY
Measured quantity.
Definition: enums.hpp:667
static const ConfigKey *const NUM_VDIV
Number of vertical divisions, as related to SR_CONF_VDIV.
Definition: enums.hpp:607
static const ConfigKey *const EQUIV_CIRCUIT_MODEL
Equivalent circuit model.
Definition: enums.hpp:669
static const QuantityFlag *const SPL_LAT
Sound pressure level is time-averaged (LAT), also known as Equivalent Continuous A-weighted Sound Lev...
Definition: enums.hpp:390
static const Quantity *const PARALLEL_RESISTANCE
Parallel resistance (LCR meter model).
Definition: enums.hpp:149
static const ConfigKey *const LIMIT_FRAMES
The device supports setting a frame limit (how many frames should be acquired).
Definition: enums.hpp:729
static const ConfigKey *const MULTIPLEXER
The device can switch between multiple sources, e.g.
Definition: enums.hpp:561
static const Quantity *const PRESSURE
Pressure.
Definition: enums.hpp:143
static const Capability *const GET
Value can be read.
Definition: enums.hpp:509
static const ConfigKey *const OVER_VOLTAGE_PROTECTION_ENABLED
Over-voltage protection (OVP) feature.
Definition: enums.hpp:643
static const Quantity *const RELATIVE_HUMIDITY
Humidity.
Definition: enums.hpp:137
static const ConfigKey *const EXTERNAL_CLOCK
The device supports using an external clock.
Definition: enums.hpp:621
static const ConfigKey *const DIGITS
The number of digits (e.g.
Definition: enums.hpp:697
static const ConfigKey *const THERMOMETER
The device can measure temperature.
Definition: enums.hpp:541
static const QuantityFlag *const SPL_FREQ_WEIGHT_FLAT
Sound pressure level is not weighted in the frequency domain, albeit without standards-defined low an...
Definition: enums.hpp:384
static const ConfigKey *const CENTER_FREQUENCY
Center frequency.
Definition: enums.hpp:625
static const ConfigKey *const ELECTRONIC_LOAD
The device can act as an electronic load.
Definition: enums.hpp:553
static const ConfigKey *const TRIGGER_MATCH
Trigger matches.
Definition: enums.hpp:601
static const ConfigKey *const POWERMETER
The device can measure power.
Definition: enums.hpp:559
static const QuantityFlag *const AC
Voltage measurement is alternating current (AC).
Definition: enums.hpp:360
static const ConfigKey *const LIMIT_MSEC
The device supports setting a sample time limit (how long the sample acquisition should run...
Definition: enums.hpp:725
static const ConfigKey *const NUM_LOGIC_CHANNELS
The device supports setting the number of logic channels.
Definition: enums.hpp:627
static const ConfigKey *const OVER_TEMPERATURE_PROTECTION
Over-temperature protection (OTP)
Definition: enums.hpp:661
Flag applied to output modules.
Definition: enums.hpp:469
static const QuantityFlag *const RMS
This is a true RMS measurement.
Definition: enums.hpp:364
static const Unit *const POUND
Mass in pound [lb].
Definition: enums.hpp:287
static const ConfigKey *const LCRMETER
The device can act as an LCR meter.
Definition: enums.hpp:551
Base class for objects which wrap an enumeration value from libsigrok.
static const Quantity *const GAIN
Gain (a transistor&#39;s gain, or hFE, for example).
Definition: enums.hpp:131
static const Unit *const KELVIN
Kelvin (temperature).
Definition: enums.hpp:235
static const ConfigKey *const CAPTURE_RATIO
The device supports setting a pre/post-trigger capture ratio.
Definition: enums.hpp:575
Unit of measurement.
Definition: enums.hpp:222
static const ConfigKey *const SESSIONFILE
Session filename.
Definition: enums.hpp:711
static const Unit *const METER_SECOND
Wind speed in meters per second.
Definition: enums.hpp:269
static const Unit *const DEGREE
Plane angle in 1/360th of a full circle.
Definition: enums.hpp:275
static const ConfigKey *const OVER_CURRENT_PROTECTION_ACTIVE
Over-current protection (OCP) active.
Definition: enums.hpp:651
static const ConfigKey *const OVER_CURRENT_PROTECTION_DELAY
Over-current protection (OCP) delay.
Definition: enums.hpp:709
static const LogLevel *const ERR
Output error messages.
Definition: enums.hpp:14
static const ConfigKey *const OVER_TEMPERATURE_PROTECTION_ACTIVE
Over-temperature protection (OTP) active.
Definition: enums.hpp:671
static const ConfigKey *const RESISTANCE_TARGET
Resistance target.
Definition: enums.hpp:707
static const ConfigKey *const COUPLING
Coupling.
Definition: enums.hpp:599
static const Quantity *const PHASE_ANGLE
Phase angle.
Definition: enums.hpp:161
static const ConfigKey *const VDIV
Volts/div.
Definition: enums.hpp:597
static const Unit *const GRAM
Mass in gram [g].
Definition: enums.hpp:279
static const Quantity *const SERIES_RESISTANCE
Series resistance (LCR meter model).
Definition: enums.hpp:155
static const ConfigKey *const BUFFERSIZE
Buffer size.
Definition: enums.hpp:591
static const ConfigKey *const CURRENT
Current current.
Definition: enums.hpp:635
static const Unit *const SECOND
Time in seconds.
Definition: enums.hpp:247
static const Unit *const CONCENTRATION
Normalized (0 to 1) concentration of a substance or compound with 0 representing a concentration of 0...
Definition: enums.hpp:259
static const Unit *const VOLT
Volt.
Definition: enums.hpp:227
static const Unit *const HENRY
Henry (inductance).
Definition: enums.hpp:277
Flag applied to measured quantity.
Definition: enums.hpp:355
static const LogLevel *const WARN
Output warnings.
Definition: enums.hpp:16
static const LogLevel *const DBG
Output debug messages.
Definition: enums.hpp:20
static const ConfigKey *const LOGIC_ANALYZER
The device can act as logic analyzer.
Definition: enums.hpp:531
static const ConfigKey *const NUM_HDIV
Number of horizontal divisions, as related to SR_CONF_TIMEBASE.
Definition: enums.hpp:605
static const ConfigKey *const AVG_SAMPLES
The device supports setting number of samples to be averaged over.
Definition: enums.hpp:585
static const ConfigKey *const HOLD_MIN
Min hold mode.
Definition: enums.hpp:617
static const ConfigKey *const SOUNDLEVELMETER
The device can act as a sound level meter.
Definition: enums.hpp:539
static const Unit *const CARAT
Mass in carat [ct].
Definition: enums.hpp:281
static const Quantity *const PARALLEL_CAPACITANCE
Parallel capacitance (LCR meter model).
Definition: enums.hpp:147
static const ConfigKey *const OUTPUT_FREQUENCY
Output frequency in Hz.
Definition: enums.hpp:663
static const ConfigKey *const OSCILLOSCOPE
The device can act as an oscilloscope.
Definition: enums.hpp:533
static const Unit *const VOLT_AMPERE
Apparent power [VA].
Definition: enums.hpp:263
static const Unit *const AMPERE_HOUR
Electric charge in ampere hour [Ah].
Definition: enums.hpp:305
static const LogLevel *const NONE
Output no messages at all.
Definition: enums.hpp:12
static const QuantityFlag *const REFERENCE
Reference value shown.
Definition: enums.hpp:398
static const ConfigKey *const SERIALCOMM
Serial communication specification, in the form:
Definition: enums.hpp:565
static const Unit *const OHM
Ohm (resistance).
Definition: enums.hpp:231
static const ConfigKey *const SAMPLE_INTERVAL
The device supports setting its sample interval, in ms.
Definition: enums.hpp:603
static const ConfigKey *const PROBE_NAMES
Override builtin probe names from user specs.
Definition: enums.hpp:571
static const Unit *const FAHRENHEIT
Degrees Fahrenheit (temperature).
Definition: enums.hpp:239
static const ConfigKey *const TEST_MODE
Self test mode.
Definition: enums.hpp:737
static const Unit *const HECTOPASCAL
Pressure in hectopascal.
Definition: enums.hpp:271
static const ConfigKey *const VOLTAGE_THRESHOLD
Logic low-high threshold range.
Definition: enums.hpp:619
static const Unit *const AMPERE
Ampere (current).
Definition: enums.hpp:229
static const Quantity *const DIFFERENCE
Difference from reference value.
Definition: enums.hpp:163
static const Quantity *const SERIES_CAPACITANCE
Series capacitance (LCR meter model).
Definition: enums.hpp:153
static const Quantity *const WIND_SPEED
Wind speed.
Definition: enums.hpp:141
static const ConfigKey *const DEMODULATOR
The device can act as a signal demodulator.
Definition: enums.hpp:547
static const Unit *const TOLA
Mass in tola.
Definition: enums.hpp:297
static const ConfigKey *const CHANNEL_CONFIG
Channel configuration.
Definition: enums.hpp:641
static const ConfigKey *const REGULATION
Channel regulation get: "CV", "CC" or "UR", denoting constant voltage, constant current or unregulate...
Definition: enums.hpp:659
static const ConfigKey *const PATTERN_MODE
The device supports setting a pattern (pattern generator mode).
Definition: enums.hpp:577
static const QuantityFlag *const AVG
Device is in "avg" mode, averaging upon each new value.
Definition: enums.hpp:396
static const Unit *const SIEMENS
Unit of conductance, the inverse of resistance.
Definition: enums.hpp:249
static const ConfigKey *const UNDER_VOLTAGE_CONDITION_THRESHOLD
Under-voltage condition threshold.
Definition: enums.hpp:679
static const ConfigKey *const UNDER_VOLTAGE_CONDITION
Under-voltage condition.
Definition: enums.hpp:673
static const Unit *const OUNCE
Mass in ounce [oz].
Definition: enums.hpp:283
static const ConfigKey *const CLOCK_EDGE
Choice of clock edge for external clock ("r" or "f").
Definition: enums.hpp:655
static const ConfigKey *const CAPTURE_UNITSIZE
The device supports specifying the capturefile unit size.
Definition: enums.hpp:715
static const ConfigKey *const VOLTAGE_TARGET
Maximum target voltage.
Definition: enums.hpp:633
static const QuantityFlag *const RELATIVE
Device is in relative mode.
Definition: enums.hpp:376
static const Unit *const PIECE
Pieces (number of items).
Definition: enums.hpp:299
static const ConfigKey *const PEAK_DETECTION
Peak detection.
Definition: enums.hpp:689
static const QuantityFlag *const SPL_PCT_OVER_ALARM
Sound pressure level represented as a percentage of measurements that were over a preset alarm level...
Definition: enums.hpp:392
static const Quantity *const DUTY_CYCLE
Duty cycle, e.g.
Definition: enums.hpp:123
Configuration key.
Definition: enums.hpp:526
static const ConfigKey *const LIMIT_SAMPLES
The device supports setting a sample number limit (how many samples should be acquired).
Definition: enums.hpp:727
static const ConfigKey *const AVERAGING
The device supports averaging.
Definition: enums.hpp:583
static const ConfigKey *const OFFSET
Offset of a source without strictly-defined MQ.
Definition: enums.hpp:683