Merge pull request #2264 from opentx/bsongis/issue_2186_different_rx_numbers_on_modules

Fixes #2186
This commit is contained in:
Andre Bernet
2015-05-08 13:28:58 +04:00
19 changed files with 114 additions and 62 deletions
+17 -8
View File
@@ -374,12 +374,19 @@ void applyDefaultTemplate()
#endif
#if defined(CPUARM)
void checkModelIdUnique(uint8_t id)
void checkModelIdUnique(uint8_t index, uint8_t module)
{
for (uint8_t i=0; i<MAX_MODELS; i++) {
if (i!=id && g_model.header.modelId!=0 && g_model.header.modelId==modelHeaders[i].modelId) {
POPUP_WARNING(STR_MODELIDUSED);
break;
uint8_t modelId = g_model.header.modelId[module];
if (modelId != 0) {
for (uint8_t i=0; i<MAX_MODELS; i++) {
if (i != index) {
for (uint8_t j=0; j<NUM_MODULES; j++) {
if (modelId == modelHeaders[i].modelId[j]) {
POPUP_WARNING(STR_MODELIDUSED);
return;
}
}
}
}
}
}
@@ -413,9 +420,11 @@ void modelDefault(uint8_t id)
g_model.externalModule = MODULE_TYPE_PPM;
#endif
#if defined(PXX) && defined(CPUARM)
modelHeaders[id].modelId = g_model.header.modelId = id+1;
checkModelIdUnique(id);
#if defined(CPUARM)
for (int i=0; i<NUM_MODULES; i++) {
modelHeaders[id].modelId[i] = g_model.header.modelId[i] = id+1;
}
checkModelIdUnique(id, 0);
#endif
#if defined(CPUARM) && defined(FLIGHT_MODES) && defined(GVARS)