Topic: Partial Frame Manipulation
Hello Konstantin,
Here is a scenario that I have been trying with my CANNY 7.2 DUO.
Is it possible to block a specific byte in a data frame while allowing other bytes of that same frame to pass through unchanged?
For example:
Source CAN 0 : 0x308 [1][2] == RPM.
Target CAN 1:
0x201 [FF FF] FF 00 22 22 00 00
ERL (8)
D1:D0 == RPM
D5:D4 == MPH
I want to block or replace D1:D0 while passing the remaining bytes through.
The issue came about due to bench test scenario where I have
the replacement engine ECM on CAN 0 broadcasting RPM 0x308 [1][2] to activate the RPM gauge on the instrument cluster on CAN 1 via 0x201 D1:D0 successfully.
However, the vehicle's overall system rely on the original engine's PCM to broadcast 0x201 byte D5:D4 for MPH.
If I allow both PCM node and CANNY node to broadcast then the RPM gauge and MPH gauge fluctuate due to contradictory data.
If I try to block 0x201 to prevent D1:D0 (00:00) using
(1)->CANGW Selector X Drop Mode.
(0xFFFF)->CANGW Selector X Value Mask, CAN IDL.
(1)->CANGGW Selector X Replace Mask, CAN D1:D0.
(0)->CANGW Selector X Replace,CAN D1:D0.
Then the whole frame 0x201 with all bytes are dropped.
Is it possible to replace 0x201 D1:D0 leaving the remaining bytes complete?
Perhaps I can put both ECM and PCM on CAN0 then only allow desired frames from to pass from CAN 0 to CAN 1 (vehicle bus)?
