Für alle Interessierten, es geht vielleicht einen Schritt weiter in die richtige Richtung.
Stand bis jetzt:
Es gibt nur ein Modul für Fahrzeuge mit unserer Gateway-Architektur, welches Front- und Hecksensoren unterstützt. Das stammt aus dem europäischen Jeep Grand Cherokee. Alle Stecker in dem Modul sind identisch zu dem des RT, es gibt nur noch einen 3. Stecker für die Frontsensoren. Also fast Plug & Play. Aber so einfach ist es nicht. Das Modul ist fest auf die Vehicle line des Grand Cherokee programmiert. Diese lautet 01, während unser RT die Vehicle line 0x14 hat. Die Vehicle line wird aller 2 Sekunden vom TIPM auf den CAN-Bus gesendet. Die Vehicle Line wird zentral im TIPM in der Vehicle Config 1 definiert und gilt für alle Module im Fahrzeug. Sie kann in einem Modul nicht geändert werden. Deshalb kam auch in meinen ersten Tests sofort die Meldung "Vehicle line mismatch" und deshalb die Meldung "Parksensoren warten".
Damit war das Thema für mich erledigt und die Bosch URF7 wanderte in die vordere Stoßstange. Funktioniert soweit auch gut. Stören tut mich aber die gemeinsame optische Anzeige für die linken und rechten vorderen Sensoren. Weiterhin auch die nicht automatische Abschaltung ab 15km/h. Da piepst es schon mal im Regen, wenn man an nem LKW vorbei fährt. Alex Elan hat mich aber wieder an die Sache ran getrieben.
Die Idee:
Ein CAN-Gateway vor das PTS-Modul bauen. Was macht das? Das gleiche wie unser TIPM, welches den CAN-C (500k) mit dem CAN-IHS (125k) verbindet. Das PTS ist nicht mehr direkt mit dem CAN-IHS Bus verbunden sondern der CAN-IHS Bus wird mit dem Eingang des CAN-Gateway verbunden. Alle Signale vom CAN-IHS-Bus wandern also über das erste CAN-Interface in das Gateway rein. Alle CAN-Botschaften werden sofort am 2. CAN-Interface ausgegeben, welches mit dem PTS verbunden ist, es sei denn, es kommt die Botschaft der Vehicle Line. Diese wird erst manipuliert und dann erst zum PTS gesendet. Vom PTS kommende CAN-Botschaften werden am 2.CAN-Interface eingelesen und ohne Änderung am 1. CAN-Interface ausgegeben und somit sofort zum CAN-IHS gesendet.
Umsetzung:
Zuerst habe ich ein Arduino Uno R3 Entwicklungsboard genommen und 2 Elecfreaks CAN-Bus Shields. Mit der Software habe ich nach der CAN-ID 21D gesniffed, welches unter anderem die Vehicle Line enthält. Im Byte 1 dieser 6 Byte langen Botschaft befindet sich die Vehicle line. Kam diese, dann hab ich das Byte von 0x14 (RT) in 0x1 (WK) geändert und erst dann zum PTS geschickt. Das funktionierte ansatzweise aber keinesfalls zuverlässig. Alle CAN-Botschaften mit einer Länge von mehr als 8 Bytes verschwanden. Ursache ist, das der verwendete CAN-Controller auf den CAN-Bus Shields nur 2 Puffer hat. Der kam mit der Datenflut nicht zurecht.
Deshalb wurde ein Arduino DUE beschafft (20€). Der hat im Chip bereits 2 CAN-Ports integriert, aber keine CAN-Transceiver. Also musste das noch her. Gefunden habe ich ein Dual-Bus-CAN-Interface bei togglebit.net. Damit hab ich die Gateway-Software neu geschrieben. Und diesmal klappt es. Die Vehicle line mismatch Meldung verschwindet. Das PTS-Modul denkt, es sitzt in einem WK. Im Kombiinstrument verschwand die Meldung "PTS warten". Das PTS-Modul steuert die vordere und hintere Anzeige an.