8#include "gtest/gtest.h"
53 std::string l_Command =
":CALC:AVER:COUN?;:CAL:STAT?;:FORM:DATA?;:INIT:CONT?;:SENS?;AUTO?;:TRIG:COUN?;SOUR?;TIM?;:UNIT?";
55 ASSERT_EQ(
true, pTHM1176->WriteAndRead(l_Command, l_SettingsBefore));
58 ASSERT_EQ(
true, pTHM1176->CalibrateZeroOffset(
true));
62 ASSERT_EQ(
true, pTHM1176->WriteAndRead(l_Command, l_SettingsAfter));
63 EXPECT_EQ(std::string(l_SettingsBefore.
begin(), l_SettingsBefore.
end()), std::string(l_SettingsAfter.
begin(), l_SettingsAfter.
end()));
67 ASSERT_EQ(
true, pTHM1176->GetIdentification(l_ID));
68 ASSERT_EQ(l_ID.
Model !=
"TFM1186", pTHM1176->CalibrateZeroOffset());
71 ASSERT_EQ(
true, pTHM1176->RestoreZeroOffset());
79 ASSERT_EQ(
true, pTHM1176->GetAllUnits(l_AllUnits));
80 ASSERT_EQ(
true, pTHM1176->ParmUnitsSet(l_AllUnits.back()));
83 ASSERT_EQ(
true, pTHM1176->ParmRangeGet(l_RangeBounds));
87 ASSERT_EQ(
true, pTHM1176->ParmRangeSet(l_Range));
90 ASSERT_EQ(
true, pTHM1176->ParmAveragingGet(l_AvgBounds));
93 ASSERT_EQ(
true, pTHM1176->ParmAveragingSet(l_Avg));
96 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputGet(l_TrigBounds));
101 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputSet(l_Trig));
104 ASSERT_EQ(
true, pTHM1176->ParmSleepSet(l_Sleep));
106 bool l_UseCal =
false;
107 ASSERT_EQ(
true, pTHM1176->ParmUseCalibrationSet(l_UseCal));
110 ASSERT_EQ(
true, pTHM1176->Reset());
114 ASSERT_EQ(
true, pTHM1176->ParmUnitsGet(l_Units));
115 EXPECT_EQ(
kT, l_Units);
117 ASSERT_EQ(
true, pTHM1176->ParmRangeGet(l_Range));
118 EXPECT_EQ(
true, l_Range.
Auto);
119 EXPECT_EQ(l_RangeBounds.
Range.Max, l_Range.
Range);
121 ASSERT_EQ(
true, pTHM1176->ParmAveragingGet(l_Avg));
124 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputGet(l_Trig));
126 EXPECT_EQ(1, l_Trig.
Count);
128 ASSERT_EQ(
true, pTHM1176->ParmSleepGet(l_Sleep));
129 EXPECT_EQ(
false, l_Sleep);
131 ASSERT_EQ(
true, pTHM1176->ParmUseCalibrationGet(l_UseCal));
132 EXPECT_EQ(
true, l_UseCal);
139 ASSERT_EQ(
true, pTHM1176->SwitchToDFUMode());
TEST_F(CTHM1176MiscUtilitiesTest, ZeroOffset)
Utility functions used to test THM1176 API.
bool ConnectToTHM1176(THM1176_TEST_RESOURCE_MANAGER_CLASS *&rpResourceManager, CTHM1176Instrument< THM1176_TEST_INSTRUMENT_CLASS, THM1176_TEST_RESOURCE_MANAGER_CLASS > *&rpTHM1176)
Connect to a THM1176.
Test THM1176 API: CalibrateZeroOffset, RestoreZeroOffset, Reset, SwitchToDFUMode.
static CTHM1176Instrument< THM1176_TEST_INSTRUMENT_CLASS, THM1176_TEST_RESOURCE_MANAGER_CLASS > * pTHM1176
static THM1176_TEST_RESOURCE_MANAGER_CLASS * pResourceManager
static void TearDownTestCase()
static void SetUpTestCase()
std::vector< MTL_INSTRUMENT_BUFFER_TYPE >::iterator end()
Return an iterator to the end of the buffer.
std::vector< MTL_INSTRUMENT_BUFFER_TYPE >::iterator begin()
Return an iterator to the beginning of the buffer.
THM1176 instrument class.
List of measurement units.
@ kInputTrigSrcTimer
Timed trigger: start measurement at regular intervals.
@ kInputTrigSrcImmediate
Immediate trigger: start measurement immediately after previous one completes.
eUnits
Enumeration of possible measurement units.
ParmType< U16 > NoPoints
Number of points in block average.
Instrument's identification string - parsed version.
std::string Model
Model name (e.g. "THM1176-MF")
Measurement range parameter.
bool Auto
Auto-ranging enabled.
ParmType< tFlux > Range
Measurement range, if auto-ranging is not enabled.