Page 1 of 1
One+ Model H Protocols
Posted: Thu Apr 04, 2024 4:23 am
by junk-propulsion-labs
If there's no ELM chip in this device, how does the protocol handshaking even work? I see that that obd.init() includes ELM-style commands such as "AT SP <#>". I trace this through CLink_UART::send, which leads to uart_write_bytes(). I assumed this ESP32 was talking directly to the ECU, but where did the hand shaking even take place? Is the assumption that there's a fixed baudrate and no further handshaking is necessary? If that's the case, what's the point of even initializing with one of the protocols (i.e. PROTO_AUTO). This would explain why some protocols like ISO-9141-2 are not supported, but I'm looking for confirmation that this is correct.
Re: One+ Model H Protocols
Posted: Thu Apr 04, 2024 7:44 pm
by stanley
There is a dedicated protocol chip doing OBD protocols and GPS data parsing. ISO9141-2 is implemented but not all cars with that protocol can be successfully connected and we are not going to improve that as the protocol is phasing out.
Re: One+ Model H Protocols
Posted: Fri Apr 05, 2024 6:01 am
by junk-propulsion-labs
Could you provide more details on this ‘dedicated chip doing OBD protocols?’ Is this chip’s protocol knowledge something we can edit or is it proprietary? This Freematics device seems to do the hard parts (telecommunication, hub, Traccar integration, etc.) excellently, so I would love to offer up my own time/effort to help support this older protocol. If KWP2000 is supported, I have to believe that we aren’t hardware limited. My personal need is for a 24 Hours of Lemons car where almost all of the cars in the series are 20+ year old non-American cars.
Re: One+ Model H Protocols
Posted: Mon Apr 08, 2024 9:27 am
by stanley
The dedicated chip is proprietary.
Have you tried on any of those old cars? What did you get?
Re: One+ Model H Protocols
Posted: Wed Apr 10, 2024 3:33 pm
by junk-propulsion-labs
Results for PROTO_ISO_9141_2:
Code: Select all
[UART BEGIN]
[UART SEND] ATI
[UART RECV] OBD2USART V1.5
... then this cycle would repeat for the obd.init()
[UART SEND] ATZ
[UART RECV] ELM327 v1.5
[UART SEND] ATEO
[UART RECV] OK
[UART SEND] ATHO
[UART RECV] OK
[UART SEND] ATSP 3
[UART RECV] OK
[UART SEND] 010D
[UART RECV] 010D
[UART SEND] 010D
[UART RECV] 010D
[UART SEND] 010D
[UART RECV] 010D
I tried ATSP 3, 4, and 5 to see if I could get something transmitting over the k-line. The obd.init() would never actually finish as the chip was just echoing back the `010D` command while attempting to `readPID` (`link->receive` was always `0`). There was nothing else on the buffer.
Re: One+ Model H Protocols
Posted: Thu Apr 11, 2024 12:13 pm
by stanley
Try skipping the check for PID_SPEED.