I have been able to connect and initialize two different Bluetooth OBD II Devices. I am running into issues with the third device I am trying to add as an option. I add the Primary Services in the code below.
I add filters to find the devices by name. After I connect to the found device, I start the database discovery.
The following snippet shows my code for my database discovery event.
For the LE Link and VLINK devices, the event type is BLE_DB_DISCOVERY_COMPLETE and gets their service uuids that contain the tx and rx characteristics. The issue is with the FIXD device. The output says "<info> ble_obd_c: Service Not Found, UUID: 0xFFF0" yet this is the service I am looking for. The event type says "BLE_DB_DISCOVERY_SRV_NOT_FOUND" yet the uuid is equal to the BLE_UUID_FIXD_SERVICE (which is 0xFFF0). I have attached the attribute table from the nRF52 connect app which connects to the FIXD Device fine.
I also have wireshark logs of a OBD II phone app connecting to the device and what the nRF52 does when trying to connect if that helps at all as well. This was all developed using nRF52 sdk 17.0.2.
4073.VLINK to iOS Capture from connecting.pcapngVLINK to nRF52 Capture from connecting.pcapng