Schroeder
Top-Mitglied
- Ort
- Münsterland
- Mein Auto
- T6 Caravelle
- Erstzulassung
- 04.2018
- Motor
- TDI® 110 KW EU6 / 6d-temp CXHA
- DPF
- ab Werk
- Getriebe
- DSG® 7-Gang
- Antrieb
- Front
- Ausstattungslinie
- Comfortline
- Radio / Navi
- Navigation Discover MEDIA
- Extras
- Luftstandheizung, zweite Schiebetür, AHK, Climatronic, Komfortsitze
- Umbauten / Tuning
- 2 x MRV-F545, MRV-F345, exact M18W, Hertz Mille Legend
- Weitere T5 (Firmenfuhrpark, Taxen oder Spassmobile) in der Zeilenauflistung Aufbauart, Motor, Getriebe und EZ angeben
- T5 Caravelle MJ 2005
Hallo,
nach erfolgter Aktivierung der TV-Tuner Emulation, lassen sich üner ID 0x461 die Tasten vom Navi auswerten. Dies geschieht aber nur bei aktiviertem VSWITCH oder im TV-Modus:
Dieser Code ist mein Eigentum und darf nicht ohne vorhergehende Absprache mit mir oder dem Forenbetreiber in irgendeiner Art gewerblich genutzt werden. Auch das veröffentlichen auf anderen Webseiten ist nicht ohne Zustimmung erlaubt.
Gruss
Peter
nach erfolgter Aktivierung der TV-Tuner Emulation, lassen sich üner ID 0x461 die Tasten vom Navi auswerten. Dies geschieht aber nur bei aktiviertem VSWITCH oder im TV-Modus:
Code:
/*
Tasten Empfang von Navigation RN-S2 CD/DVD
ueber TV-Tuner Emulation oder aktivierten VSWITCH
Version 1.23
Stand 12.4.2007
Copyright Peter Zumbrink
Der Drehknopf wird in die HEX-Werte 00-0F umgerechnet.
Da die Tasten 2-mal wiederholt werden, wird der evtl.
eingehende 2 Tastenstatus unterdrückt. Erst eine empfangene
0x00 reaktiviert den Tastendruck.
Threads die die Tasten auswerten, setzten handler.key auf 0
nach erfolgter Auswertung. Der Empfang aller Tasten wird
unterdrückt, solange nicht ein aktiver Thread die Taste angenommen
hat.
*/
// Tastendruck
int key;
// Drehknopf
int wheel;
// Tastendruck beimletzten auswerten
int prevkey;
// Drehknopf beim letzten auswerten
int prevwheel;
// Ausgabestring, nur für Debug
string msg;
// Buffer für CAN Variablen
byte canbuf[8];
// CAN Error variable
int canerror;
byte pos;
// Tastenempfang scharf schalten
function init(){
can.expect(6,0x461);
prevwheel=0;
prevkey=0;
pos=0;
}
// Wohnzimmer-Thread
// fals man mal im Haus testen will, ohne CAN Bus
// Einfach nach navikey umbnennen
thread navikey1 {
wait(hwcom.rxd());
key=hwcom.get();
if(key>='A'){key=key-'A'-1;}
if((handler.key != key) & key !=0 ){
handler.key=key;
}
if(key!=0){handler.dummy=handler.dummy-1;}
}
thread navikey {
wait(can.rxd(6));
canerror=can.error();
if(canerror==0){
can.get(6,canbuf);
// Byte 5 [4] ist 0x02 wann Bildformattaste gedrückt wurde
// Byte 3 enthält dann NICHT einen Tastendruck und wird
// daher nicht ausgewertet.
// Ansonsten Tasten auswerten
key=canbuf[3];
if(prevkey != key & canbuf[4]!=0x02){
prevkey=key;
if(key!=0){
handler.key=key;
}
}
// Drehknopf auswerten und auf Wertebereich 00-0F umformen
// Die 200 als Different tauch nur beim Wechsel von
// 255 nach 0 oder 0 nach 255 auf. Die 255 als Differenz war
// mir zu wage da man auch mal einen Click verpassen kann
wheel=canbuf[5];
if(wheel!=prevwheel){
if((prevwheel-wheel)>200 & handler.wheel < 0x0F){
handler.wheel=handler.wheel+1;
}
else if((wheel-prevwheel)>200 & handler.wheel >0x00 ){
handler.wheel=handler.wheel-1;
}
else if(wheel<prevwheel & handler.wheel > 0x00){
handler.wheel=handler.wheel-1;
}
else if(wheel>prevwheel& handler.wheel < 0x0F){
handler.wheel=handler.wheel+1;
}
prevwheel=wheel;
}
if(key!=0){handler.dummy=handler.dummy-1;}
}
}
Dieser Code ist mein Eigentum und darf nicht ohne vorhergehende Absprache mit mir oder dem Forenbetreiber in irgendeiner Art gewerblich genutzt werden. Auch das veröffentlichen auf anderen Webseiten ist nicht ohne Zustimmung erlaubt.
Gruss
Peter
Zuletzt bearbeitet: