0

I am Trying at the moment to read some service signals from the bus with Canoe and then assign the values to system variables so they can be assigned to a visual panel in Canoe.

At the moment I am using "on service" and "on service_update" callback functions from capl to get the values from each service and assign it to a system variable.

    on serviceSignal_update "service::signal::example::name"
    {
    @sysvar::SysHiL::var1 = this;
    }

The problem is that the service is transmitted multiple time at the same timestamp with different values each time but when I read with the on Service it reads just from the last instance sent.

for example how I see it on the BUS trace:

service::signal::example::name.... time 100.282s

  • element1 = 0
  • element2 = 2

service::signal::example::name.... time 100.282s (same message transmitted on the same timestamp but with different values)

  • element1 =10
  • element2 = 4

the callbackfunction will return just the values element1=10 and element2=4 and this is wrong for me. I would need that every message to be processed. Does anyone know what can I try or If maybe I can modify something in the cfg of Canoe to not get multiple messages on the same timestamp?

Thank you!

I tried with on PDU but I get the same behaviour.

Mihai
  • 19
  • 1
  • 5
  • How are these two changes at the same timestamp received? Is that within the same message/PDU? Could you maybe attach a screenshot of the trace window showing the messages? Normally CANoe should react on each update. I am just a bit confused about two updates caused by the same event. – MSpiller Jul 14 '23 at 16:10
  • I can add on Monday a screen shot but I have the same someip message received at the same timestamp multiple times. – Mihai Jul 15 '23 at 17:14

0 Answers0