в основном, если вы хотите что-то изменить в кадре CAN, вы можете сделать что-то подобное в capl.
Пример:
Framename: TEMP
Signal you want to change: S1, S2
on message TEMP /* or "on message 0x100" in your case */
{
/* if you have a dbc or arxml assigned to the canoe project you can directly
* use frame names and signal names to manipulate the data.
* if not you need to use it's ID and write over the bytes on it.
*/
this.S1 = whatever_value;
this.S2 = whatever_value;
output(this);
}
Если у вас нетФайл DBC / ARXML добавлен в проект, но я настоятельно рекомендую это сделать.Единственное, что вам нужно изменить в приведенном выше коде, - это указать, какие байты вы перезаписываете.
Вы изменяете это:
this.S1 = whatever_value;
this.S2 = whatever_value;
На это:
this.byte(0) = whatever_value;
this.byte(1) = whatever_value;
Но вам нужно знать, какие байты нужно перезаписать.