Fix "wonky timer"

This commit is contained in:
Raphael Coeffic
2021-06-09 14:42:17 +02:00
parent f7d36cd695
commit f50a91ac70
2 changed files with 24 additions and 2 deletions
@@ -116,12 +116,16 @@ void convertModelData_219_to_220(ModelData &model)
if (timer_219.mode >= TMRMODE_START) {
timer_219.mode += 1;
}
if (timer_219.mode < TMRMODE_COUNT) {
if (timer_219.mode < TMRMODE_COUNT
&& timer_219.mode >=0) {
timer.mode = timer_219.mode;
}
else {
timer.mode = TMRMODE_START;
timer.swtch = timer_219.mode - (TMRMODE_COUNT - 1);
if (timer_219.mode > 0)
timer.swtch = timer_219.mode - (TMRMODE_COUNT - 1);
else
timer.swtch = timer_219.mode;
}
timer.start = timer_219.start;
+18
View File
@@ -81,6 +81,24 @@ TEST(Conversions, ConversionX9DPFrom23)
EXPECT_STRNEQ("abc.wav", g_model.customFn[1].play.name);
}
TEST(Conversions, ConversionX9DPFrom23_2)
{
loadEEPROMFile(TESTS_PATH "/eeprom_23_x9d+2.bin");
eepromOpen();
eeLoadGeneralSettingsData();
convertRadioData_219_to_220(g_eeGeneral);
eeConvertModel(6, 219);
eeLoadModel(6);
EXPECT_EQ(710, g_eeGeneral.calib[0].spanNeg);
EXPECT_EQ(944, g_eeGeneral.calib[0].mid);
EXPECT_EQ(770, g_eeGeneral.calib[0].spanPos);
EXPECT_EQ(TMRMODE_START, g_model.timers[0].mode); // new!
EXPECT_EQ(-SWSRC_SA0, g_model.timers[0].swtch); // new!
}
#endif
// #if defined(PCBXLITE) && !defined(PCBXLITES)