I was trying to set up to trigger on a CAN ISO11783 Address Claim, this is a data frame with the ID 0x18EE00XX, but never got a trigger. Changing to 0x18EEXXXX will trigger when I force an Address Claim frame, but the scope decodes this to be 0x18EEFFxx instead of the expected 0x18EE00xx.
Capturing the can frames directly off the bus with a CAN adapter verifies that the expected 0x18EE00xx is present on the bus, but for some reason the scope seems to see FF instead of 00.
Setting to trigger on other known frames seems to work and decode fine.
Scope is an MSOX3054T with the DSOXT3AUTO software. Probe is N2818A Differential probe, connected CAN-DIFF H-L.
This turned out to be a misunderstanding of the specification. A lot of documents describe the address claim frame to be 0xEE00, but in fact, the second byte is a destination address and so, should be described as 0xEEXX. In general, address claims are sent to the "broadcast" destination of 0xFF. So you really see 0xEEFF on the bus.
The software drivers we have "know" this is the case and, just to be helpful, mask off the second byte so you see the "proper" 0xEE00 ID for the frame even thogh what's on the bus is, in fact, 0xEEFF.
So, the bottom line is that the scope is telling the truth and decoding correctly.