THM1176InstrumentDriver  1.0
C++ API for Metrolab THM1176
MTL::Instrument::THM1176Types Namespace Reference

Classes

class  CAbsoluteTimestamp
 Timestamp for a measurement. More...
 
class  CDivisorList
 List of divisors, one per measurement unit. More...
 
class  CErrorList
 List of errors returned by the instrument. More...
 
class  CFluxList
 List of flux density values. More...
 
class  CTimestampList
 List of timestamps. More...
 
class  CUnitsList
 List of measurement units. More...
 
class  RegisterList
 List of SCPI status registers. More...
 
struct  sArbitraryMeasurements
 Specify the measurement data to be returned. More...
 
struct  sAveraging
 Averaging parameter. More...
 
struct  sBoundedParm
 Parameter template, with current/min/max/default values. More...
 
struct  sError
 Error returned by the instrument. More...
 
struct  sExample
 Sample parameter template. More...
 
struct  sFile
 Directory entry in the instrument's file system. More...
 
struct  sIdentifier
 Instrument's identification string - parsed version. More...
 
struct  sInputTrigger
 Input trigger parameter. More...
 
struct  sMeasurementConditions
 Summary of the parameters used to make a measurement. More...
 
struct  sRange
 Measurement range parameter. More...
 
struct  sStatusRegister
 Complete identification of a SCPI status register. More...
 
class  StatusValues
 List of values returned for several SCPI status registers. More...
 
struct  sVersion
 Major and minor version numbers. More...
 
union  uOPERation
 Union to access the Operation Status Register as integer or bit fields. More...
 
union  uQUEStionable
 Union to access the Questionable Status Register as integer or bit fields. More...
 
union  uStandardEvent
 Union to access the Standard Event Status Register as integer or bit fields. More...
 
union  uStatusByte
 Union to access the Status Byte as integer or bit fields. More...
 

Typedefs

typedef F32 tFlux
 Flux density value, as 32-bit floating-point number. More...
 
template<class DataType >
using uParm = DataType
 Parameter template, with only current value. More...
 
typedef std::vector< sFiletFileList
 List of directory entries. More...
 

Enumerations

enum  eStatusRegisterSet { kStatusByte = 0, kStandardEventStatusRegister, kStatusQuestionableStatusRegister, kStatusOperationStatusRegister }
 Enumeration of SCPI status register sets. More...
 
enum  eStatusRegisterType { kStatusEvent = 0, kStatusCondition, kStatusEnable }
 Enumeration of SCPI status register types. More...
 
enum  eUnits {
  kT, kmT, kuT, knT,
  kGauss, kkGauss, kmGauss, kMHzp
}
 Enumeration of possible measurement units. More...
 
enum  eInputTriggerSource { kInputTrigSrcImmediate, kInputTrigSrcTimer, kInputTrigSrcBus }
 Enumeration of possible trigger sources. More...
 
enum  eCommunicationFormat { kComFormatAscii, kComFormatInteger, kComFormatPacked2Byte, kComFormatPacked1Byte }
 Enumeration of possible formats for returned data. More...
 

Functions

U16 BinaryToU16 (const char pBinary[2])
 Convert binary to U16 (unimplemented). More...
 
I16 BinaryToI16 (const char pBinary[2])
 Convert binary to I16, taking into account endedness. More...
 
U32 BinaryToU32 (const char pBinary[4])
 Convert binary to U32 (unimplemented). More...
 
I32 BinaryToI32 (const char pBinary[4])
 Convert binary to I32, taking into account endedness. More...
 
F32 BinaryToF32 (const char pBinary[4])
 Convert binary to F32 (unimplemented). More...
 
U64 BinaryToU64 (const char pBinary[8])
 Convert binary to U64 (unimplemented). More...
 
F64 BinaryToF64 (const char pBinary[8])
 Convert binary to F64 (unimplemented). More...
 
bool StringToUnits (std::string SUnits, eUnits &rUnits)
 Convert measurement units from string to enumeration. More...
 
std::string UnitsToString (eUnits Units)
 Convert measurement units from enumeration to string. More...
 
bool TestTHM1176Types ()
 Test the conversion routines. More...
 
std::ostream & operator<< (std::ostream &Stream, const eStatusRegisterSet &RegSet)
 Status register set stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const eStatusRegisterType &RegType)
 Status register type stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const sStatusRegister &RegDef)
 Status register definition stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const RegisterList &RegList)
 Status register list stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const StatusValues &StatusList)
 Status value list stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const uStatusByte &StatusByte)
 Status byte stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const uStandardEvent &StdEventReg)
 Standard event register stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const uOPERation &OperReg)
 OPERation register stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const uQUEStionable &QuestReg)
 QUEStionable register stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const CFluxList &FluxList)
 Flux list stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const eUnits &Units)
 Units stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const CUnitsList &UnitsList)
 Units list stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const CDivisorList &DivisorList)
 Divisor list stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const sError &Error)
 Error stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const CErrorList &ErrorList)
 Error list stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const sVersion &Version)
 Version stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const sIdentifier &ID)
 Identifier stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const sAveraging< uParm > &AvgParm)
 Averaging parameters stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const sAveraging< sBoundedParm > &AvgParm)
 Averaging bounds stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const eInputTriggerSource &TrgSrc)
 
std::ostream & operator<< (std::ostream &Stream, const sInputTrigger< uParm > &TrigParm)
 Trigger parameters stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const sInputTrigger< sBoundedParm > &TrigParm)
 Trigger bounds stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const eCommunicationFormat &CommFormat)
 Comm format stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const sRange< uParm > &RangeParm)
 Range parameters stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const sRange< sBoundedParm > &RangeParm)
 Range bounds stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const sFile &FileInfo)
 File info stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const tFileList &FileList)
 File List stream output. More...
 
CAbsoluteTimestamp operator+ (CAbsoluteTimestamp a, CAbsoluteTimestamp b)
 Timestamp addition operator. More...
 
CAbsoluteTimestamp operator- (CAbsoluteTimestamp a, CAbsoluteTimestamp b)
 Timestamp subtraction operator. More...
 
std::ostream & operator<< (std::ostream &Stream, const CAbsoluteTimestamp &Timestamp)
 Timestamp stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const CTimestampList &TimestampList)
 Timestamp list stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const sArbitraryMeasurements &MeasSpec)
 Arbitrary measurement specification stream output. More...
 
std::ostream & operator<< (std::ostream &Stream, const sMeasurementConditions &MeasCond)
 Measurement conditions stream output. More...
 

Typedef Documentation

◆ tFileList

List of directory entries.

Definition at line 511 of file THM1176Types.h.

◆ tFlux

Flux density value, as 32-bit floating-point number.

Definition at line 30 of file THM1176Types.h.

◆ uParm

template<class DataType >
using MTL::Instrument::THM1176Types::uParm = typedef DataType

Parameter template, with only current value.

Template Parameters
DataTypeParameter's data type.

Definition at line 294 of file THM1176Types.h.

Enumeration Type Documentation

◆ eCommunicationFormat

Enumeration of possible formats for returned data.

Enumerator
kComFormatAscii 

Human-legible text.

kComFormatInteger 

Binary (32-bit integers)

kComFormatPacked2Byte 

Binary packed: first field value as I32, remainder deltas as I16.

kComFormatPacked1Byte 

Binary packed: first field value as I32, remainder deltas as I8.

Definition at line 444 of file THM1176Types.h.

◆ eInputTriggerSource

Enumeration of possible trigger sources.

Enumerator
kInputTrigSrcImmediate 

Immediate trigger: start measurement immediately after previous one completes.

kInputTrigSrcTimer 

Timed trigger: start measurement at regular intervals.

kInputTrigSrcBus 

Bus trigger: start measurement upon USB trigger message.

Definition at line 395 of file THM1176Types.h.

◆ eStatusRegisterSet

Enumeration of SCPI status register sets.

Enumerator
kStatusByte 

Status Byte.

kStandardEventStatusRegister 

Standard Event Status Register.

kStatusQuestionableStatusRegister 

Questionable Status Register.

kStatusOperationStatusRegister 

Operation Status Register.

Definition at line 36 of file THM1176Types.h.

◆ eStatusRegisterType

Enumeration of SCPI status register types.

Enumerator
kStatusEvent 

Event register.

kStatusCondition 

Condition register.

kStatusEnable 

Enable register.

Definition at line 44 of file THM1176Types.h.

◆ eUnits

Enumeration of possible measurement units.

Note: Not all models support all measurement units.

Enumerator
kT 

Tesla.

kmT 

Milli-Tesla.

kuT 

Micro-Tesla.

knT 

Nano-Tesla.

kGauss 

Gauss.

kkGauss 

Kilo-Gauss.

kmGauss 

Milli-Gauss.

kMHzp 

Equivalent proton NMR resonant frequency, in Mega-Hertz.

Definition at line 181 of file THM1176Types.h.

Function Documentation

◆ BinaryToF32()

F32 MTL::Instrument::THM1176Types::BinaryToF32 ( const char  pBinary[4])

Convert binary to F32 (unimplemented).

◆ BinaryToF64()

F64 MTL::Instrument::THM1176Types::BinaryToF64 ( const char  pBinary[8])

Convert binary to F64 (unimplemented).

◆ BinaryToI16()

I16 MTL::Instrument::THM1176Types::BinaryToI16 ( const char  pBinary[2])

Convert binary to I16, taking into account endedness.

Definition at line 37 of file THM1176TypeConversions.cpp.

◆ BinaryToI32()

I32 MTL::Instrument::THM1176Types::BinaryToI32 ( const char  pBinary[4])

Convert binary to I32, taking into account endedness.

Definition at line 48 of file THM1176TypeConversions.cpp.

◆ BinaryToU16()

U16 MTL::Instrument::THM1176Types::BinaryToU16 ( const char  pBinary[2])

Convert binary to U16 (unimplemented).

◆ BinaryToU32()

U32 MTL::Instrument::THM1176Types::BinaryToU32 ( const char  pBinary[4])

Convert binary to U32 (unimplemented).

◆ BinaryToU64()

U64 MTL::Instrument::THM1176Types::BinaryToU64 ( const char  pBinary[8])

Convert binary to U64 (unimplemented).

◆ operator+()

CAbsoluteTimestamp MTL::Instrument::THM1176Types::operator+ ( CAbsoluteTimestamp  a,
CAbsoluteTimestamp  b 
)

Timestamp addition operator.

Definition at line 378 of file THM1176Types.cpp.

◆ operator-()

CAbsoluteTimestamp MTL::Instrument::THM1176Types::operator- ( CAbsoluteTimestamp  a,
CAbsoluteTimestamp  b 
)

Timestamp subtraction operator.

Definition at line 389 of file THM1176Types.cpp.

◆ operator<<() [1/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const CAbsoluteTimestamp Timestamp 
)

Timestamp stream output.

Definition at line 408 of file THM1176Types.cpp.

◆ operator<<() [2/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const CDivisorList DivisorList 
)

Divisor list stream output.

Definition at line 133 of file THM1176Types.cpp.

◆ operator<<() [3/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const CErrorList ErrorList 
)

Error list stream output.

Definition at line 164 of file THM1176Types.cpp.

◆ operator<<() [4/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const CFluxList FluxList 
)

Flux list stream output.

Definition at line 101 of file THM1176Types.cpp.

◆ operator<<() [5/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const CTimestampList TimestampList 
)

Timestamp list stream output.

Definition at line 471 of file THM1176Types.cpp.

◆ operator<<() [6/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const CUnitsList UnitsList 
)

Units list stream output.

Definition at line 125 of file THM1176Types.cpp.

◆ operator<<() [7/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const eCommunicationFormat CommFormat 
)

Comm format stream output.

Definition at line 278 of file THM1176Types.cpp.

◆ operator<<() [8/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const eInputTriggerSource TrgSrc 
)

Definition at line 250 of file THM1176Types.cpp.

◆ operator<<() [9/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const eStatusRegisterSet RegSet 
)

Status register set stream output.

Definition at line 27 of file THM1176Types.cpp.

◆ operator<<() [10/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const eStatusRegisterType RegType 
)

Status register type stream output.

Definition at line 35 of file THM1176Types.cpp.

◆ operator<<() [11/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const eUnits Units 
)

Units stream output.

Definition at line 113 of file THM1176Types.cpp.

◆ operator<<() [12/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const RegisterList RegList 
)

Status register list stream output.

Definition at line 47 of file THM1176Types.cpp.

◆ operator<<() [13/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const sArbitraryMeasurements MeasSpec 
)

Arbitrary measurement specification stream output.

Definition at line 522 of file THM1176Types.cpp.

◆ operator<<() [14/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const sAveraging< sBoundedParm > &  AvgParm 
)

Averaging bounds stream output.

Definition at line 241 of file THM1176Types.cpp.

◆ operator<<() [15/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const sAveraging< uParm > &  AvgParm 
)

Averaging parameters stream output.

Definition at line 236 of file THM1176Types.cpp.

◆ operator<<() [16/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const sError Error 
)

Error stream output.

Definition at line 157 of file THM1176Types.cpp.

◆ operator<<() [17/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const sFile FileInfo 
)

File info stream output.

Definition at line 324 of file THM1176Types.cpp.

◆ operator<<() [18/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const sIdentifier ID 
)

Identifier stream output.

Definition at line 222 of file THM1176Types.cpp.

◆ operator<<() [19/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const sInputTrigger< sBoundedParm > &  TrigParm 
)

Trigger bounds stream output.

Definition at line 264 of file THM1176Types.cpp.

◆ operator<<() [20/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const sInputTrigger< uParm > &  TrigParm 
)

Trigger parameters stream output.

Definition at line 257 of file THM1176Types.cpp.

◆ operator<<() [21/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const sMeasurementConditions MeasCond 
)

Measurement conditions stream output.

Definition at line 532 of file THM1176Types.cpp.

◆ operator<<() [22/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const sRange< sBoundedParm > &  RangeParm 
)

Range bounds stream output.

Definition at line 293 of file THM1176Types.cpp.

◆ operator<<() [23/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const sRange< uParm > &  RangeParm 
)

Range parameters stream output.

Definition at line 287 of file THM1176Types.cpp.

◆ operator<<() [24/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const sStatusRegister RegDef 
)

Status register definition stream output.

Definition at line 42 of file THM1176Types.cpp.

◆ operator<<() [25/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const StatusValues StatusList 
)

Status value list stream output.

Definition at line 55 of file THM1176Types.cpp.

◆ operator<<() [26/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const sVersion Version 
)

Version stream output.

Definition at line 189 of file THM1176Types.cpp.

◆ operator<<() [27/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const tFileList FileList 
)

File List stream output.

Definition at line 331 of file THM1176Types.cpp.

◆ operator<<() [28/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const uOPERation OperReg 
)

OPERation register stream output.

Definition at line 83 of file THM1176Types.cpp.

◆ operator<<() [29/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const uQUEStionable QuestReg 
)

QUEStionable register stream output.

Definition at line 91 of file THM1176Types.cpp.

◆ operator<<() [30/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const uStandardEvent StdEventReg 
)

Standard event register stream output.

Definition at line 73 of file THM1176Types.cpp.

◆ operator<<() [31/31]

std::ostream & MTL::Instrument::THM1176Types::operator<< ( std::ostream &  Stream,
const uStatusByte StatusByte 
)

Status byte stream output.

Definition at line 63 of file THM1176Types.cpp.

◆ StringToUnits()

bool MTL::Instrument::THM1176Types::StringToUnits ( std::string  SUnits,
eUnits rUnits 
)

Convert measurement units from string to enumeration.

Parameters
[in]SUnitsMeasurement units as a string.
[out]rUnitsMeasurement units as an enumeration.
Returns
True if successful.

Definition at line 59 of file THM1176TypeConversions.cpp.

◆ TestTHM1176Types()

bool MTL::Instrument::THM1176Types::TestTHM1176Types ( )

Test the conversion routines.

Returns
True if successful.

Definition at line 88 of file THM1176TypeConversions.cpp.

◆ UnitsToString()

std::string MTL::Instrument::THM1176Types::UnitsToString ( eUnits  Units)

Convert measurement units from enumeration to string.

Parameters
[in]UnitsMeasurement units as an enumeration.
Returns
Corresponding string.

Definition at line 73 of file THM1176TypeConversions.cpp.