I'm using the OBDLink MX+ Bluetooth reader in an iOS environment and would like to use a third-party OBDII monitoring gauge with RaceChrono.
Therefore, OBDII is connected to a third-party monitor equipment other than RaceChrono to function as Tx for diagnostic request messages(e.g. 0x7E0, 0x7E1, etc.), and RaceChrono and OBDLink MX+ only function as Rx for diagnostic response messages(e.g. 0x7E8, 0x7E9, etc.) floating on the D-CAN bus through a CAN-bus connection for RaceChrono APP Logging.
RaceChrono & OBDLink MX+ cannot connect to OBD-II because it causes a conflict of UDS Request messages as 'Sender'.
Therefore, RaceChrono & OBDLink MX+ only wants to connect to CAN-bus as just 'Reader'.
I would like to designate the only sender of the vehicle system's OBDII D-CAN as a third-party gauge.
However, the problem is that UDS on CAN diagnostic response messages have a multi-frame format because they follow the CAN TP ISO 15765-2 protocol.
If I set the CAN-bus PID to 0x7E8,
RaceChrono & OBDLink MX+ CAN-bus connections recognize only 8 bytes Data Field of each single-frame line in multi-frame in turn.
For example, if the CAN-bus is being received as follows
0.010sec 7E8 10 2D 62 E0 01 9F F7 FE ---> First Frame for Multi Frame. 45 Bytes(2D) datas contained in '62 E0 01' response
0.020sec 7E8 21 00 00 AA 00 00 00 00 ---> Consecutive Frame for First datas in '62 E0 01' response
0.030sec 7E8 22 00 00 00 00 00 00 00 ---> Consecutive Frame for Second datas in '62 E0 01' response
0.040sec 7E8 23 00 00 00 00 00 00 00 ---> Consecutive Frame for Third datas in '62 E0 01' response
0.050sec 7E8 24 ~~~~~~ ---> Consecutive Frame for Fourth datas in '62 E0 01' response
0.080sec 7E8 10 1A 62 E0 04 FF FF 07 ---> First Frame for Multi Frame. 26 Bytes(1A) datas contained in '62 E0 04' response
0.090sec 7E8 21 00 00 00 00 00 00 00 ---> Consecutive Frame for First datas in '62 E0 04' response
0.210sec 7E8 10 2D 62 E0 01 9F F7 FE
0.220sec 7E8 21 00 00 AE 00 00 00 00
What I want is the third byte HEX data of the first data line '21' of the multi-frame among the '62 E0 01' response data of the 0x7E8 PID message received at 5Hz intervals.
AA → AE → ...
However, response over the RaceChrono CAN bus connection is received in order by each single frame of the 0x7E8 PID at a 100 Hz cycle, which is not what I want.
E0 → AA → 00 → 00 → ...
Is there a way to parse data only in the desired response of a multi-frame protocol as I wish?
I've tried this through several PID changes but no data collection has been made.
I need help!