I am kind of sorry to bother you with another thread like «halp! me OBD iz choppesy» - but maybe you're going to have the one, final idea.
In one line:
Choppy data from OBDLink MX BT AND WiFi with OP3 as soon as XGPS160 gets connected; default parameters and frequent recommendations to it have been tested.
Until recently, I used a OnePlus 3 (Android 7.1.1 / OxygenOS 4.1.3) in conjunction with an OBDLink MX BT in a 2012 BMW M5. It worked flawlessly, apart from internal GPS being not so accurate (1 Hz). Even with default settings* it recorded smoothly and correctly.
Hungry for more GPS accuracy, I added a SkyPro XGPS160 to the mix, which connects via BT as well. OBD data became choppy instantly, showing as step-wise update with pauses inbetween where gauges aren't being updated. HLT reports system load being below 20%, often around 10%, when recording at 1080p using the phone's internal cam.
The phone is stock without root, no GPS helper app is installed, even OBDLink app is uninstalled. The only app capable of connecting to OBD and XGPS sensors is HLT GP 21.0.5. For testing purposes and to reduce any disturbances as far as possible, I even had Airplane Mode enabled, plus BT obviously. The M5's Bluetooth is disabled in Media and Telephone settings, all pairings with it were deleted (even those for phones absent completely).
So, I read a vast amount of threads in this forum Google found for obvious search terms and I tried these often-mentioned settings:
- Exclude PIDs for MAP, MAF and Throttle: 010B01100111, even 09020160010B0105010601100111
- Default Protocol: ISO 15765-4 CAN (11 bit ID, 500 kbps) that would get selected by OBDLink app as well
- Adaptive Timing: Aggressive
- Sequential Requests: Yes
- CAN Multi Requests: 3 PID adaptive, 3 PID minimal, 2 PID minimal
- OBD Extrapolation: Aggressive
As all this did not solve the choppiness, I swapped the Bluetooth OBD sensor for a OBDLink MX WiFi, as I thought that the OP3's Bluetooth stack may be shi...overloaded. However, the problem still exists, regardless if using default settings* or some parameter combination like given above.
As soon as I disconnect the XGPS, the OBDLink MX BT will continue to work fine again.
Cannot say the same for the WiFi variant, because it's quite bitchy to get connected and wasn't so cooperative in the evening. Supposedly, it would be smooth then again, too.
Usually I consider myself a very tech-savvy person («Mr T is pretty handy with computers!»).
Next experiment will be done using a different phone (Nexus 4 Mini).
However I'd like to ask if you could spot any major mistake or path unexplored by me.
By any means, ask for details I may left out or logs I could provide.
Cheers from Wuppertal and thanks for reading,
* Default Protocol: auto; Adaptive Timing: Optimized; Ignore NO DATA/NAK Replies: Yes, CAN Multi Requests: Off; Set UART Baud Rate: No; Exclude PIDs: empty; OBD Extrapolation: Adaptive