相关文章推荐
听话的小刀  ·  迁移CentOS/RHEL ...·  1 年前    · 
Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

Programming for CANalyzer in the Vector CAPL Browser, I can start typing "on message CAN4..." and it will auto complete things for me. I can see the messages. But after selecting a message, it always yells at me with "Expecting message name or identifier. Database missing?" as if it has no idea what I just put in even though it helped me put it there. What is the proper format for this? Is it different since I'm using ARXML instead of DBC? Is it just not compatible?

on message CAN4::Something_PDU // Auto-completes this but gives the error
on message CAN4.Something_PDU // Never auto-completes this and also doesn't work
on message CAN4::Something_PDU::Something_Auth // Auto-completes but not sure that's what I want and also doesn't compile with same error.

What is the right way and/or why doesn't it recognize the database despite its obvious ability to auto-complete? So confused!

I just faced a comparable issue when trying to get called by incoming ethernet signals. They are also defined in an *.arxml, in my case. However, the behaviour of the Vector CAPL-Browser was exactly the same as you described.

I figured out that replacing on message with on signal does the trick and the script can get compiled:

on signal Something_Signal  // autocompletion works and compiles
on signal Eth1::Something_Signal // autocompletion doesn't work but compiles

there is another way to do this:
goto Windows symbols on the right panel in CAPL Editor > try to find Something_PDU > drag and drop PDU_Name on your Code after on message
the CAPL event on message should be use with name

try use

on message Something_PDU

instead of

on message CAN4.Something_PDU
        

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.