Fix a variety of DBC related issues, update version number at last (with plans to release soon!)

This commit is contained in:
Collin Kidder
2025-05-08 20:41:37 -04:00
parent 28af379d6f
commit 0ac26c1621
5 changed files with 24 additions and 8 deletions
+13 -1
View File
@@ -17,7 +17,10 @@ void DBC_SIGNAL::addMultiplexRange(int min, int max)
if (min != max)
hasExtendedMultiplexing = true;
isMultiplexed = true;
multiplexLowAndHighValues.append(QPair<int, int>(min, max));
//it is very likely that things that include extended multiplexing will have at least two definitions
//which are identical. So, detect this and don't store on subsequent calls
if (!multiplexLowAndHighValues.contains(QPair<int, int>(min, max)))
multiplexLowAndHighValues.append(QPair<int, int>(min, max));
}
bool DBC_SIGNAL::isSignalInMessage(const CANFrame &frame)
@@ -76,6 +79,15 @@ void DBC_SIGNAL::copyMultiplexValuesFromSignal(const DBC_SIGNAL &signal)
}
}
/*
* multiplexLowAndHighValues is private but the DBC saving code needs to be able to save a reasonable value for the multiplex value
* for non-extended multiplex values. So, we grab the first element of the first item which should be the non-extended value
*/
int DBC_SIGNAL::getSimpleMultiplexValue()
{
return multiplexLowAndHighValues.at(0).first;
}
/**
* @brief DBC_SIGNAL::parseDbcMultiplexUiString
* Method for parsing the Vector CANDB++ like multiplex definitions: