Re #2607: gtest for hi precision VFAS added

This commit is contained in:
Damjan Adamic
2015-08-08 18:17:09 +02:00
parent a6e53bd419
commit 5d8c86923b
2 changed files with 22 additions and 2 deletions
+1 -1
View File
@@ -1820,6 +1820,6 @@ gtest-all.o : $(GTEST_SRCS_)
#use all .cpp files from tests/ dir
GTEST_TESTS_SRCS = $(shell find tests/ -type f -name '*.cpp')
gtests: allsimusrc.cpp $(GTEST_TESTS_SRCS) targets/simu/simpgmspace.cpp *.h gtest-all.o
gtests: allsimusrc.cpp $(GTEST_TESTS_SRCS) targets/simu/simpgmspace.cpp *.h tests/gtests.h gtest-all.o
g++ -std=gnu++0x $(CPPFLAGS) $(SIMUCPPFLAGS) allsimusrc.cpp $(LUASRC) $(GTEST_TESTS_SRCS) targets/simu/simpgmspace.cpp -I$(GTEST_DIR) ${INCFLAGS} -I$(GTEST_DIR)/include -I/usr/include/qt4 -o gtests -lpthread -MD -DSIMU -lQtCore -lQtGui gtest-all.o -fexceptions
+21 -1
View File
@@ -122,7 +122,26 @@ TEST(FrSky, FrskyValueWithMinAveraging)
EXPECT_EQ(testVal.value, expected[testPos++]);
}
}
#endif
TEST(FrSky, Vfas_0x39_HiPrecision)
{
MODEL_RESET();
TELEMETRY_RESET();
EXPECT_EQ(telemetryItems[0].value, 0);
// normal precision, resolution 0.1V
processHubPacket(VFAS_ID, 1234); // set value of 123.4V
EXPECT_EQ(telemetryItems[0].value, 12340); // stored value has resolution of 0.01V
// now high precision, resolution 0.01V
processHubPacket(VFAS_ID, VFAS_D_HIPREC_OFFSET); // set value of 0V
EXPECT_EQ(telemetryItems[0].value, 0);
processHubPacket(VFAS_ID, VFAS_D_HIPREC_OFFSET + 12345); // set value of 123.45V
EXPECT_EQ(telemetryItems[0].value, 12345);
processHubPacket(VFAS_ID, VFAS_D_HIPREC_OFFSET + 30012); // set value of 300.12V
EXPECT_EQ(telemetryItems[0].value, 30012);
}
#endif // #if defined(FRSKY) && defined(CPUARM)
#if defined(FRSKY_SPORT)
TEST(FrSkySPORT, checkCrc)
@@ -163,6 +182,7 @@ void generateSportCellPacket(uint8_t * packet, uint8_t cells, uint8_t battnumber
TEST(FrSkySPORT, FrSkyDCells)
{
MODEL_RESET();
TELEMETRY_RESET();
uint8_t pkt1[] = { 0x7E, 0x98, 0x10, 0x06, 0x00, 0x07, 0xD0, 0x00, 0x00, 0x12 };
EXPECT_EQ(checkSportPacket(pkt1+1), true);