diff --git a/radio/src/tests/CMakeLists.txt b/radio/src/tests/CMakeLists.txt index 099d96150..4417696c3 100644 --- a/radio/src/tests/CMakeLists.txt +++ b/radio/src/tests/CMakeLists.txt @@ -15,7 +15,7 @@ if(GTEST_INCDIR AND GTEST_SRCDIR AND Qt5Widgets_FOUND) if(PCB STREQUAL X12S OR PCB STREQUAL X10) - set(EXTRACT_MODEL_FILES model_23_x12s model_23_x10) + set(EXTRACT_MODEL_FILES model_23_x12s model_23_x10 model_25_tx16s) foreach(model_file ${EXTRACT_MODEL_FILES}) add_custom_command( diff --git a/radio/src/tests/conversions.cpp b/radio/src/tests/conversions.cpp index 265b289e3..9764aad43 100644 --- a/radio/src/tests/conversions.cpp +++ b/radio/src/tests/conversions.cpp @@ -393,3 +393,26 @@ TEST(Conversions, ConversionX12SFrom23) } #endif +#if defined(RADIO_TX16S) +TEST(Conversions, ConversionTX16SFrom25) +{ + simuFatfsSetPaths(TESTS_BUILD_PATH "/model_25_tx16s/", TESTS_BUILD_PATH "/model_25_tx16s/"); + + convertRadioData_219_to_220("/RADIO/radio.bin"); + convertRadioData_220_to_221("/RADIO/radio.bin"); + EXPECT_EQ(nullptr, loadRadioSettingsYaml()); + + char modelname[] = "model1.bin"; + convertBinModelData(modelname, 220); + loadModel(modelname); + + EXPECT_EQ(220, g_eeGeneral.version); // TODO: 221? + EXPECT_EQ(-23, g_eeGeneral.vBatMin); + EXPECT_EQ(0, g_eeGeneral.speakerVolume); + EXPECT_STRNEQ("en", g_eeGeneral.ttsLanguage); + EXPECT_STRNEQ("model1.yml", g_eeGeneral.currModelFilename); + + EXPECT_STRNEQ("Model", g_model.header.name); +} +#endif + diff --git a/radio/src/tests/model_25_tx16s.otx b/radio/src/tests/model_25_tx16s.otx new file mode 100644 index 000000000..88468cee7 Binary files /dev/null and b/radio/src/tests/model_25_tx16s.otx differ