First pass implementing support for extended multiplexing.
This causes significant changes to the DBC interface. Things are probably a bit broken right now. Committing to get it on record before further large changes are done.
This commit is contained in:
+21
-8
@@ -26,18 +26,19 @@ enum DBC_SIG_VAL_TYPE
|
||||
|
||||
enum DBC_ATTRIBUTE_VAL_TYPE
|
||||
{
|
||||
QINT,
|
||||
QFLOAT,
|
||||
QSTRING,
|
||||
ENUM
|
||||
ATTR_INT,
|
||||
ATTR_FLOAT,
|
||||
ATTR_STRING,
|
||||
ATTR_ENUM,
|
||||
};
|
||||
|
||||
enum DBC_ATTRIBUTE_TYPE
|
||||
{
|
||||
GENERAL,
|
||||
NODE,
|
||||
MESSAGE,
|
||||
SIG
|
||||
ATTR_TYPE_GENERAL,
|
||||
ATTR_TYPE_NODE,
|
||||
ATTR_TYPE_MESSAGE,
|
||||
ATTR_TYPE_SIG,
|
||||
ATTR_TYPE_ANY
|
||||
};
|
||||
|
||||
class DBC_ATTRIBUTE
|
||||
@@ -82,6 +83,16 @@ public:
|
||||
};
|
||||
|
||||
class DBC_MESSAGE; //forward reference so that DBC_SIGNAL can compile before we get to real definition of DBC_MESSAGE
|
||||
class DBC_SIGNAL;
|
||||
|
||||
class DBC_MULTIPLEX
|
||||
{
|
||||
public:
|
||||
int lowerBound, upperBound;
|
||||
DBC_SIGNAL *sig;
|
||||
|
||||
DBC_MULTIPLEX();
|
||||
};
|
||||
|
||||
class DBC_SIGNAL
|
||||
{
|
||||
@@ -105,6 +116,8 @@ public: //TODO: this is sloppy. It shouldn't all be public!
|
||||
QVariant cachedValue;
|
||||
QList<DBC_ATTRIBUTE_VALUE> attributes;
|
||||
QList<DBC_VAL_ENUM_ENTRY> valList;
|
||||
QList<DBC_MULTIPLEX> multiplexedChildren;
|
||||
DBC_SIGNAL *multiplexParent;
|
||||
|
||||
DBC_SIGNAL();
|
||||
bool processAsText(const CANFrame &frame, QString &outString, bool outputName = true);
|
||||
|
||||
Reference in New Issue
Block a user