are there any plans to implement a CAN FD analyzer for Logic 2?
I started writing one. I haven’t finished it unfortunately. CAN-FD is much more annoying to decode because you can’t just copy down all the bits then interpret them as the standard CAN decoder does. You have to know whether the frame is truly CAN-FD and whether it specifies a baud rate shift. Then you need to potentially also key on the data length as there are THREE different CRC lengths depending on circumstances. So, I got bogged down in feature creep and doing it stupidly and just never finished it.
But, I would like this to be possible as well. Luckily they publish the source code to their analyzers so that’s how I was able to take what they had for CAN and try to convert it to work with both CAN and CAN-FD messages.
If you feel up to it, I’d be OK with publishing the current mess on GitHub and you can see if you can make it work. Otherwise, you are probably stuck waiting for me to get back around to it as I’d wager Saleae has more pressing matters ahead of building a CAN-FD decoder.
@OutlawGentleman A community user actually shared a CAN-FD analyzer that they likely created using our CAN analyzer as a base. I can’t comment on how well it works for CAN-FD as we don’t run extensive tests on community shared analyzers. You can find the repo for it in the list below.
Also, feel free to send me (Tim) a message using the link below in case you need help getting it built! In your message, just make sure to let me know what OS you are running.
@Collin I’m glad to hear you’re in the process of creating one as well! I’m not sure if you had a chance to take a look at the existing one above.
Otherwise, you are probably stuck waiting for me to get back around to it as I’d wager Saleae has more pressing matters ahead of building a CAN-FD decoder.
For better or for worse, you’re right. We really want to get to the point where we can churn out new analyzers left and right. Official support for CAN-FD has been highly requested.
Woah, had no idea that someone had already done it. I just compiled it and tried it on Linux. It seems to work but either I’ve got a protocol error in the capture or the analyzer is wrong. Either way, I like that they didn’t botch up the implementation like I did. I erased my attempt and went with the existing project. If need be I can edit it to make little improvements but it seems like a GREAT start.