xatavian / cpp-can-parser

C++ library for parsing CAN databases (currently only with the DBC format)
GNU Lesser General Public License v3.0
85 stars 21 forks source link

Expected "BS_" but got "NS_DESC_" #11

Open danieldiaz7 opened 2 years ago

danieldiaz7 commented 2 years ago

I get this error:

Error: Syntax error: Expected "BS_" but got "NS_DESC_" at line 5

when running this snippet:

try {
        CppCAN::CANDatabase db = CppCAN::CANDatabase::fromFile("cpp-can-parser/dbc-files/RHP_CAN_SystemInfo_DoorControlDriver__CCAN.dbc");
}

catch(const CppCAN::CANDatabaseException& e) {
        std::cerr << "Error: " << e.what() << std::endl;
        return 1;
}

The .dbc file is:

VERSION ""

NS_ : 
    NS_DESC_
    CM_
    BA_DEF_
    BA_
    VAL_
    CAT_DEF_
    CAT_
    FILTER
    BA_DEF_DEF_
    EV_DATA_
    ENVVAR_DATA_
    SGTYPE_
    SGTYPE_VAL_
    BA_DEF_SGTYPE_
    BA_SGTYPE_
    SIG_TYPE_REF_
    VAL_TABLE_
    SIG_GROUP_
    SIG_VALTYPE_
    SIGTYPE_VALTYPE_
    BO_TX_BU_
    BA_DEF_REL_
    BA_REL_
    BA_DEF_DEF_REL_
    BU_SG_REL_
    BU_EV_REL_
    BU_BO_REL_
    SG_MUL_VAL_

BS_:
BU_: CCAN_27 CCAN_EC CCAN_ED 

BO_ 2566912551 CM2_VECU2_27: 8 CCAN_27 // direction:Rx
 SG_ SPN524270_CaDooActuatComma : 0|3@1+ (1.0000,0.0000) [0.0000|7.0000] "state" Vector__XXX 

BO_ 2566912748 CM2_DCD_EC: 8 CCAN_EC // direction:Tx
 SG_ SPN524271_DriDoLatPosiSta : 8|3@1+ (1.0000,0.0000) [0.0000|7.0000] "state" Vector__XXX 
 SG_ SPN524270_CaDooActuatComma : 0|3@1+ (1.0000,0.0000) [0.0000|7.0000] "state" Vector__XXX 

BO_ 2566912749 CM2_DCP_ED: 8 CCAN_ED // direction:Rx
 SG_ SPN524272_PassenDoLatPosit : 13|3@1+ (1.0000,0.0000) [0.0000|7.0000] "state" Vector__XXX 
 SG_ SPN524270_CaDooActuatComma : 0|3@1+ (1.0000,0.0000) [0.0000|7.0000] "state" Vector__XXX 

BA_DEF_ SG_  "SPN" INT 0 524287;
BA_DEF_ SG_  "GenSigEVName" STRING ;
BA_DEF_ SG_  "GenSigILSupport" ENUM  "Yes","No";
BA_DEF_ SG_  "GenSigSendType" ENUM  "Cyclic","OnWrite","reserved","OnChange","reserved","reserved","reserved","NoSigSendType";
BA_DEF_ SG_  "GenSigStartValue" INT 0 10000;
BA_DEF_ SG_  "SigType" ENUM  "Default","Range","RangeSigned","ASCII","Discrete","Control","ReferencePGN","DTC","StringDelimiter","StringLength","StringLengthControl";
BA_DEF_ BO_  "GenMsgCycleTime" INT 0 3600000;
BA_DEF_ BO_  "VFrameFormat" ENUM  "StandardCAN","ExtendedCAN","reserved","J1939PG";
BA_DEF_ BO_  "GenMsgSendType" ENUM  "cyclic","reserved","cyclicIfActive","reserved","reserved","reserved","reserved","reserved","noMsgSendType";
BA_DEF_ BO_  "GenMsgRequestable" INT 0 1;
BA_DEF_ BO_  "GenMsgDelayTime" INT 0 1000;
BA_DEF_ BO_  "GenMsgILSupport" ENUM  "Yes","No";
BA_DEF_ BO_  "GenMsgStartDelayTime" INT 0 100000;
BA_DEF_ BU_  "ECU" STRING ;
BA_DEF_ BU_  "NmJ1939IdentityNumber" INT 0 2097151;
BA_DEF_ BU_  "NmJ1939ManufacturerCode" INT 0 2047;
BA_DEF_ BU_  "NmJ1939ECUInstance" INT 0 3;
BA_DEF_ BU_  "NmJ1939FunctionInstance" INT 0 7;
BA_DEF_ BU_  "NmJ1939Function" INT 0 255;
BA_DEF_ BU_  "NmJ1939SystemInstance" INT 0 15;
BA_DEF_ BU_  "NmJ1939System" INT 0 127;
BA_DEF_ BU_  "NmJ1939IndustryGroup" INT 0 7;
BA_DEF_ BU_  "NmJ1939AAC" INT 0 1;
BA_DEF_ BU_  "NmStationAddress" INT 0 255;
BA_DEF_ BU_  "NodeLayerModules" STRING ;
BA_DEF_  "SAE_J1939_71_SpecVersion" STRING ;
BA_DEF_  "SAE_J1939_73_SpecVersion" STRING ;
BA_DEF_  "SAE_J1939_21_SpecVersion" STRING ;
BA_DEF_  "SAE_J1939_75_SpecVersion" STRING ;
BA_DEF_  "ProtocolType" STRING ;
BA_DEF_  "BusType" STRING ;
BA_DEF_  "DatabaseVersion" STRING ;
BA_DEF_ SG_  "SystemSignalLongSymbol" STRING ;
BA_DEF_DEF_  "SPN" 0;
BA_DEF_DEF_  "GenSigEVName" "Env@Nodename_@Signame";
BA_DEF_DEF_  "GenSigILSupport" "Yes";
BA_DEF_DEF_  "GenSigSendType" "NoSigSendType";
BA_DEF_DEF_  "GenSigStartValue" 0;
BA_DEF_DEF_  "SigType" "Default";
BA_DEF_DEF_  "GenMsgCycleTime" 0;
BA_DEF_DEF_  "VFrameFormat" "J1939PG";
BA_DEF_DEF_  "GenMsgSendType" "noMsgSendType";
BA_DEF_DEF_  "GenMsgRequestable" 1;
BA_DEF_DEF_  "GenMsgDelayTime" 0;
BA_DEF_DEF_  "GenMsgILSupport" "Yes";
BA_DEF_DEF_  "GenMsgStartDelayTime" 0;
BA_DEF_DEF_  "ECU" "";
BA_DEF_DEF_  "NmJ1939IdentityNumber" 0;
BA_DEF_DEF_  "NmJ1939ManufacturerCode" 0;
BA_DEF_DEF_  "NmJ1939ECUInstance" 0;
BA_DEF_DEF_  "NmJ1939FunctionInstance" 0;
BA_DEF_DEF_  "NmJ1939Function" 0;
BA_DEF_DEF_  "NmJ1939SystemInstance" 0;
BA_DEF_DEF_  "NmJ1939System" 0;
BA_DEF_DEF_  "NmJ1939IndustryGroup" 0;
BA_DEF_DEF_  "NmJ1939AAC" 0;
BA_DEF_DEF_  "NmStationAddress" 254;
BA_DEF_DEF_  "NodeLayerModules" "";
BA_DEF_DEF_  "SAE_J1939_71_SpecVersion" "";
BA_DEF_DEF_  "SAE_J1939_73_SpecVersion" "";
BA_DEF_DEF_  "SAE_J1939_21_SpecVersion" "";
BA_DEF_DEF_  "SAE_J1939_75_SpecVersion" "";
BA_DEF_DEF_  "ProtocolType" "";
BA_DEF_DEF_  "BusType" "";
BA_DEF_DEF_  "DatabaseVersion" "";
BA_DEF_DEF_  "SystemSignalLongSymbol" "";
BA_ "GenMsgCycleTime" BO_ 2566912551 1000;
BA_ "GenMsgCycleTime" BO_ 2566912748 1000;
BA_ "GenMsgCycleTime" BO_ 2566912749 1000;

Any help would be appreciated on regarding what to do! Thanks.