From 1cbe73afa9f434a60346ba506aaa7811475c3bbd Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 3 Sep 2019 11:41:41 +0200 Subject: [PATCH] More EEPROM tests on X9D+ 2019 (ACCESS) --- companion/src/tests/conversions.cpp | 55 +++++++++++++++++++++++++++- radio/src/tests/conversions.cpp | 46 ++++++++++++++++++++++- radio/src/tests/eeprom_23_x9d+.bin | Bin 0 -> 32768 bytes 3 files changed, 97 insertions(+), 4 deletions(-) create mode 100644 radio/src/tests/eeprom_23_x9d+.bin diff --git a/companion/src/tests/conversions.cpp b/companion/src/tests/conversions.cpp index c199c7851..e734448f5 100644 --- a/companion/src/tests/conversions.cpp +++ b/companion/src/tests/conversions.cpp @@ -10,8 +10,6 @@ TEST(Conversions, ConversionX9DPFrom22) RadioData radioData; Storage store = Storage(RADIO_TESTS_PATH "/eeprom_22_x9d+.bin"); - ASSERT_EQ(true, store.load(radioData)); - ASSERT_EQ(true, store.load(radioData)); const GeneralSettings& settings = radioData.generalSettings; @@ -42,6 +40,59 @@ TEST(Conversions, ConversionX9DPFrom22) EXPECT_EQ(RawSource(SOURCE_TYPE_TELEMETRY,0).toValue(), model.logicalSw[0].val1); } +TEST(Conversions, ConversionX9DPFrom23) +{ + RadioData radioData; + Storage store = Storage(RADIO_TESTS_PATH "/eeprom_23_x9d+.bin"); + + ASSERT_EQ(true, store.load(radioData)); + + const GeneralSettings& settings = radioData.generalSettings; + EXPECT_EQ(RawSwitch(SWITCH_TYPE_TELEMETRY, 1), settings.customFn[0].swtch); + EXPECT_EQ(FuncLogs, settings.customFn[0].func); + EXPECT_EQ(20, settings.customFn[0].param); + + EXPECT_STREQ("Tes", settings.switchName[0]); + EXPECT_EQ(Board::SWITCH_3POS, settings.switchConfig[0]); + + const ModelData & model1 = radioData.models[0]; + EXPECT_STREQ("Test", model1.name); + EXPECT_EQ(RawSwitch(SWITCH_TYPE_SWITCH, SWITCH_SA0), model1.timers[0].mode); + EXPECT_EQ(80, model1.mixData[0].weight); + EXPECT_EQ(900, model1.limitData[0].max); // -100 + EXPECT_EQ(80, model1.expoData[0].weight); +// EXPECT_EQ(HELI_SWASH_TYPE_120X, model1.swashRingData.type); + EXPECT_EQ(10, model1.flightModeData[0].gvars[0]); + EXPECT_STREQ("Tes", model1.gvarData[0].name); + EXPECT_EQ(PULSES_ACCST_ISRM_D16, model1.moduleData[0].protocol); + EXPECT_EQ(PULSES_PXX_R9M, model1.moduleData[1].protocol); + EXPECT_EQ(MODULE_SUBTYPE_R9M_FCC, model1.moduleData[1].subType); + EXPECT_STREQ("Rud", model1.inputNames[0]); + EXPECT_STREQ("Tes", model1.sensorData[0].label); + EXPECT_EQ(10, model1.sensorData[0].id); + EXPECT_EQ(10, model1.sensorData[0].instance); + EXPECT_EQ(RawSource(SOURCE_TYPE_TELEMETRY,0).toValue(), model1.logicalSw[0].val1); + + const ModelData & model2 = radioData.models[1]; + EXPECT_STREQ("Test", model2.name); + EXPECT_EQ(RawSwitch(SWITCH_TYPE_SWITCH, SWITCH_SA0), model2.timers[0].mode); + EXPECT_EQ(80, model2.mixData[0].weight); + EXPECT_EQ(900, model2.limitData[0].max); // -100 + EXPECT_EQ(80, model2.expoData[0].weight); +// EXPECT_EQ(HELI_SWASH_TYPE_120X, model2.swashRingData.type); + EXPECT_EQ(10, model2.flightModeData[0].gvars[0]); + EXPECT_STREQ("Tes", model2.gvarData[0].name); + EXPECT_EQ(PULSES_ACCESS_ISRM, model2.moduleData[0].protocol); + EXPECT_EQ(0, model2.moduleData[0].subType); + EXPECT_EQ(PULSES_PXX_R9M, model2.moduleData[1].protocol); + EXPECT_EQ(MODULE_SUBTYPE_R9M_FCC, model2.moduleData[1].subType); + EXPECT_STREQ("Rud", model2.inputNames[0]); + EXPECT_STREQ("Tes", model2.sensorData[0].label); + EXPECT_EQ(10, model2.sensorData[0].id); + EXPECT_EQ(10, model2.sensorData[0].instance); + EXPECT_EQ(RawSource(SOURCE_TYPE_TELEMETRY,0).toValue(), model2.logicalSw[0].val1); +} + TEST(Conversions, ConversionX7From22) { RadioData radioData; diff --git a/radio/src/tests/conversions.cpp b/radio/src/tests/conversions.cpp index 85c4343d6..7777732f1 100644 --- a/radio/src/tests/conversions.cpp +++ b/radio/src/tests/conversions.cpp @@ -45,14 +45,14 @@ TEST(Conversions, ConversionX9DPFrom22) EXPECT_EQ(8, g_eeGeneral.speakerVolume); EXPECT_EQ('e', g_eeGeneral.ttsLanguage[0]); EXPECT_EQ('n', g_eeGeneral.ttsLanguage[1]); - + EXPECT_EQ(SWSRC_TELEMETRY_STREAMING, g_eeGeneral.customFn[0].swtch); EXPECT_EQ(FUNC_LOGS, g_eeGeneral.customFn[0].func); EXPECT_EQ(20, g_eeGeneral.customFn[0].all.val); EXPECT_ZSTREQ("Tes", g_eeGeneral.switchNames[0]); EXPECT_EQ(SWITCH_3POS, SWITCH_CONFIG(0)); - + EXPECT_ZSTREQ("Test", g_model.header.name); EXPECT_EQ(TMRMODE_COUNT - 1 + SWSRC_SA0, g_model.timers[0].mode); EXPECT_EQ(80, g_model.mixData[0].weight); @@ -69,6 +69,48 @@ TEST(Conversions, ConversionX9DPFrom22) EXPECT_EQ(9, g_model.telemetrySensors[0].frskyInstance.physID); EXPECT_EQ(MIXSRC_FIRST_TELEM, g_model.logicalSw[0].v1); } + +TEST(Conversions, ConversionX9DPFrom23) +{ + loadEEPROMFile(TESTS_PATH "/eeprom_23_x9d+.bin"); + + eepromOpen(); + eeLoadGeneralSettingsData(); + eeLoadModel(0); + + EXPECT_EQ(-30, g_eeGeneral.vBatMin); + EXPECT_EQ(8, g_eeGeneral.speakerVolume); + EXPECT_EQ('e', g_eeGeneral.ttsLanguage[0]); + EXPECT_EQ('n', g_eeGeneral.ttsLanguage[1]); + + EXPECT_EQ(SWSRC_TELEMETRY_STREAMING, g_eeGeneral.customFn[0].swtch); + EXPECT_EQ(FUNC_LOGS, g_eeGeneral.customFn[0].func); + EXPECT_EQ(20, g_eeGeneral.customFn[0].all.val); + + EXPECT_ZSTREQ("Tes", g_eeGeneral.switchNames[0]); + EXPECT_EQ(SWITCH_3POS, SWITCH_CONFIG(0)); + + EXPECT_ZSTREQ("Test", g_model.header.name); + EXPECT_EQ(TMRMODE_COUNT - 1 + SWSRC_SA0, g_model.timers[0].mode); + EXPECT_EQ(80, g_model.mixData[0].weight); + EXPECT_EQ(-100, g_model.limitData[0].max); // 90.0 + EXPECT_EQ(80, g_model.expoData[0].weight); + EXPECT_EQ(10, g_model.flightModeData[0].gvars[0]); + EXPECT_ZSTREQ("Tes", g_model.gvars[0].name); + EXPECT_ZSTREQ("Test", g_model.flightModeData[0].name); + + EXPECT_EQ(MODULE_TYPE_ISRM_PXX2, g_model.moduleData[INTERNAL_MODULE].type); + EXPECT_EQ(MODULE_SUBTYPE_ISRM_PXX2_ACCST_D16, g_model.moduleData[INTERNAL_MODULE].subType); + + EXPECT_EQ(MODULE_TYPE_R9M_PXX1, g_model.moduleData[EXTERNAL_MODULE].type); + EXPECT_EQ(MODULE_SUBTYPE_R9M_FCC, g_model.moduleData[EXTERNAL_MODULE].subType); + + EXPECT_ZSTREQ("Rud", g_model.inputNames[0]); + EXPECT_ZSTREQ("Tes", g_model.telemetrySensors[0].label); + EXPECT_EQ(10, g_model.telemetrySensors[0].id); + EXPECT_EQ(10, g_model.telemetrySensors[0].frskyInstance.physID); + EXPECT_EQ(MIXSRC_FIRST_TELEM, g_model.logicalSw[0].v1); +} #endif #if defined(PCBXLITE) diff --git a/radio/src/tests/eeprom_23_x9d+.bin b/radio/src/tests/eeprom_23_x9d+.bin new file mode 100644 index 0000000000000000000000000000000000000000..6070a1d3249abad1d071674cbbe4b4ab9cd7d3c1 GIT binary patch literal 32768 zcmd_yWl&TL0EXdnc0mve5xcv)yA`p!8@sy&yJN*}?C$RF?haJ!Zt?0}M8&w?@9O*W zuFkTv@An+pb9NnP9Cb9zNJc)xuo_ieO`~7@(8ief#{c9N(WvHXF&x|jA3pG~n5L)c z*v>3tGs{}NoGtb{SF8OlnuGVxw~Cf)xq_dq?`W7-Tk-A5o|-nRt%S|=%kb$@Nt@;K zqf$0&(4(IZ68wyVVP5R)`0=9|J-^NB;q2qp%d59nAFt&ueincKbE8t5ry8`3=en|2 zGWTMp#q;~0K}Rr*;N$qGb3FO6o9SzRF+H7KodRCn4hRSc`kutEAIk14Tda42kMjL} zy-%mc({yR%W;*=%qf+p5PR4iT^Rxf`Ip=TvZ)*qBHN-!+zjkjA(>lu8wW{f4a}Ihj z#jS4l-}^eg2=sM-^T^kH{ldGm=`z|SXc>HSf!99_y#8U~`41QJ`h%{}Z=b>N-}>Ly z4rYW9|K8agql+ZPtjGj{{=L<`5S{vP!Ap??7VL+Bqt{}}ow&_9L# z8T8Mge*yhV=wCtq8u~ZTzlHuC^nuX7hyE|n7pwAC|0q6@tUkLib&=-NeDD)oC z7lYmt`r^=+fW9R3rJyejeHrM>LSGL0^3Yd+z9RIMpsx&l73ix%Uk&=|(AR*zCiJzS zuMK@2=<7mX5BmDhdqLj-`i9Uqg1#~IO`vZIeKY8rL*D}Wme99?zBTl1pl=I(JLua( z-vRoL(078qGxS}c?+Sf4=(|JT1NxrOdqeL7eJ|*HL*EDbzR>rBzCZK>pdSeRAm|4} zKLq-r&<}%tIP@c+9|^q;`ccsPLO&Y%G0=~NejN1Up`QT#MCd0$KN75Z(^Z-;&d^gE&71^sU5_dvfF`hC#vhyDQc2cbU% z{bA^jKz|haW6&Rm{siDe-`?4(4U9?0`wQ5zXbhd=&wM375Zz?Ux(fw z`Ww*Sg#H%v0np!u{tonap}z