Как вы передаете фреймы FlexRay перед окном графики / трассировки, если у вас там есть узел CAPL?

Это больше для практики, чем для чего-либо еще. Я добавил узел CAPL перед графическим окном (Расположение узла CAPL) и Я просто пытаюсь научиться делать некоторые простые вещи, такие как добавление смещений к сигналам и тому подобное.

Я могу передавать его через сигналы CAN без изменений, если хочу использовать следующее:

on message CAN1.*
{
   message CAN1.* msg;
   if(this.dir == rx) {
       msg = this;
       output(msg);
   }
}

Проблема в том, что я не могу понять, как это сделать для FlexRay. Я пробовал несколько комбинаций, основанных на следующем, но всегда получаю ошибку;

on frFrame * {
   frFrame * myFrame;

   if(this.dir == rx) {
       myFrame= this;
       output(myFrame);
   }
}

Приветствуются любые указатели.


person Stereoblind_89    schedule 10.04.2020    source источник
comment
Какие ошибки вы получаете?   -  person M. Spiller    schedule 12.04.2020
comment
Я не получаю сообщение об ошибке - просто нет трафика на другой стороне (в данном случае в графическом окне). Я только что попробовал onPDU, и он работает. Я все еще не уверен, почему на frFrame этого не происходит.   -  person Stereoblind_89    schedule 14.04.2020


Ответы (1)


Если вы хотите передать кадры FR из узла программы в графическое окно или окно трассировки, вам просто нужно написать следующее

on frFrame *
{  
  if(this.dir == rx)
    output(this);
}

Нет необходимости добавлять условие if(this.dir == rx). Потому что есть вероятность, что кадр является tx, если вы его моделируете.

person Shyam    schedule 22.07.2020