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.