I'm trying to implement a low cost In-Vehicle Data Recorder (IVDR) using an Arduino Due and MCP2515 CAN-BUS Shield. I know that Simulink Hardware Support Package for Arduino Hardware has CAN-transmit and CAN-receive blocks available, but the problem is that my vehicle's OBD2 PID's are vehicle-specific and are not provided by the manufacturer (Nissan), so I must first implement a "CAN-sniffer" in order to monitor the CAN messages being transmitted to reverse engineer the PID's. Vehicle Network Toolbox provides a Vehicle CAN Bus Monitor App that does just this, as well as several other capabilities through MATLAB and Simulink that allow OBD2 and CAN communication, but the toolbox only supports hardware from specific vendors such as National Instruments, Vector and Kvaser. Is there a way to access this capabilities using Arduino Hardware? or are there other ways to implement said CAN monitoring app using Arduino support packages for MATLAB and Simulink?