[Ovmsdev] Poller support for VW TP 2.0
Michael Balzer
dexter at expeedo.de
Fri Jun 11 20:04:16 HKT 2021
No issues so far, so I've merged the vwtp20 branch into master now.
Noteworthy addition along with the VW TP 2.0 support: Duktape
integration of the OBD request function as OvmsVehicle.ObdRequest():
https://docs.openvehicles.com/en/latest/userguide/scripting.html#ovmsvehicle
Regards,
Michael
Am 30.05.21 um 23:00 schrieb Michael Balzer:
> Everyone interested in VW/VAG vehicles: I've added a first
> implementation of the VW TP 2.0 protocol in the vehicle poller.
>
> I've pushed this to a new branch for testing:
> https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3/tree/vwtp20
>
> This includes refactoring the ISO TP engine into a separate module, so
> may introduce bugs with that. Please do not introduce larger changes
> in the master poller code until we've tested and merged this change.
>
> The VW TP 2.0 engine is based on the explanation by Jared Wiltshire
> (https://jazdw.net/tp20) plus some observations & tests I've made with
> my Seat Mii.
>
> I've added a text version of Jared's page in the vehicle docs folder:
> https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3/blob/vwtp20/vehicle/OVMS.V3/components/vehicle/docs/VW-TP-2.0.txt
>
>
> VW TP 2.0 polls integrate seamlessly into an existing poller list and
> can also be sent as single OBD requests. Quoting from vehicle.h:
>
> // VWTP_20: this protocol implements the VW (VAG) specific "TP 2.0",
> which establishes
> // OSI layer 5 communication channels to devices (ECU modules) via a
> CAN gateway.
> // On VWTP_20 poll entries, simply set the TXID to the gateway base ID
> (normally 0x200)
> // and the RXID to the logical 8 bit ECU ID you want to address.
> // TP 2.0 transports standard OBD/UDS requests, so everything else
> works the same way
> // as with ISO-TP.
> //
> // VW TP 2.0 poll entry examples:
> // // TXID, RXID, TYPE, PID, TIMES, BUS, PROT
> // { 0x200, 0x1f, 0x10, 0x89, {…times…}, 0, VWTP_20 }
> // { 0x200, 0x1f, 0x22, 0x04a1, {…times…}, 0 , VWTP_20 }
> //
> // VW gateways currently do not support multiple open channels. To
> minimize connection
> // overhead for successive polls to an ECU, the VWTP_20 engine keeps
> an idle connection open
> // until the keepalive timeout occurs. So you should try to arrange
> your polls in interval
> // blocks/sequences to the same devices if possible.
> //
> // To explicitly close a VWTP_20 channel, send a poll (any type) to
> RXID 0, that just
> // closes the channel (ECU ID 0 is an invalid destination):
> // { 0x200, 0, 0, 0, {…times…}, 0 , VWTP_20 }
>
>
> To manually send a request, use the "-v" option on the OBD request
> command to select VW TP 2.0, e.g.:
>
> OVMS# obd can1 req dev -v 200 1f 22f197
> 200[1f] 22f197: Response:
> 47 57 2d 4b 2d 43 41 4e 20 54 50 32 30 | GW-K-CAN TP20
>
> To manually close a channel from the shell, issue:
>
> OVMS# obd can1 req dev -v 200 00 0000
>
>
> Feedback, code audits & tests are welcome.
>
> If you encounter errors or misbehaviour, please send me a debug log
> including the CAN range 200-3ff:
>
> OVMS# log level debug vehicle-vwtp
> OVMS# can log start monitor crtd 200-3ff
>
> Regards,
> Michael
>
>
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.openvehicles.com
> http://lists.openvehicles.com/mailman/listinfo/ovmsdev
--
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20210611/2081934f/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 203 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20210611/2081934f/attachment.sig>
More information about the OvmsDev
mailing list