Re: can.getID Kategorie: CAN-Bus (von Schroeder - 12.02.2007 22:02) | ||
Als Antwort auf Re: can.getID von Rocky98 - 12.02.2007 8:33 | ||
| ||
> > > Hallo CC2 Gemeinde, > > > > > > evtl. kann mir hier jemand einen Tip geben. > > > > > > Zum Projekt: Ein Multimedia Steuergerät mit Steuerung über ein VW NAVI RN-S2. > > > > > > Zum Problem: Das auslesen des CAN Buses scheint zu funktionieren. > > > Da ich noch nicht weiss auf was ich lauschen muss möchte ich die einzelnen ID > > > sequentiell durchgehen.Um erst einmal nur zu lauschen gebe ich über can.getID() > > > den Identifier aus. Dieser scheint aber vom Wert her nicht korrekt zu sein. Scheint > > > deshalb da ich die IDs ja nicht generell mit anderen VW Fahrzeugen vergleichen kann. > > > Insgesamt passt aber keine der IDs. > > > > > > Benutzt noch jemand die getID Funktion und kann mir Tips geben? Evtl. eine kurzes > > > Code-Fragment? > > > > > > Vielen Dank schon mal. > > > > > > Gruss > > > Peter > > > > Hallo, > > > > und es geht doch, die CAN IDs nehmen so langsam ihren Schrecken. Zumindest beim VW T5 > > sind die IDs nicht so unterschiedlich zu älteren Audi Modellen auch wenn die Befehle etwas > > anders aussehen. > > > > Gruss > > Peter > > > Hallo Peter, > > kannst du mal ein Stück hier posten von deiner Leseroutine für den CAN. Ich bin auch gerade dabei mit dem > CAN rumzuspielen. Bisher klappt der Empfang von Nachrichten noch nicht. Das Versenden hingegen funktioniert > perfekt. > > Ziel ist es am Anfang erstmal zu lauschen was da auf dem Bus so los ist, also analog zu dir. > > Grü�e > Frank Hallo Frank, in den letzten Wochen hat sich einiges getan. Die CC2 funktioniert sauber am VW Komfort CAN Bus. Egal ob als Sniffer, Lenkradinterface oder als TV-Tuner am RN-S2 Navi. Mehr kann/darf ich hier zur Zeit noch nicht posten bis auf den Code der die IDs auf den Bus ausgibt: /* dieses init nur zum sniffen verwenden */ can.init(2,0x0000,0x0000); /* und dieses im Normalbetrieb */ // can.init(2,0x07FF,0x0000); can_sl.selectBaudRate(2); //can_sl.selectBaudRate(3); for i=0...63 { IDs[i]=0; } can.expect(1,0x0); i=0; // Alles IDs bis max. Anzahl 64 merken und ausgeben */ loop{ /* Die SCAN Schleife mit getHostkey abrechen */ if(ports.getHostkey()){ break; } wait(can.rxd(1)); canid=can.getID(1); // WICHTIG: get ausführen sonst bleibt der Kanal geblockt! can.get(1,canbuf); // Schauen ob ID schon geloggt ist i=0; while(IDs[i]!=0 & i < 64){ if(canid==IDs[i]){ break; } i=i+1; } // Ansonsten in Vektor eintragen if(IDs[i]==0 & i < 64){ IDs[i]=canid; str.putintf(msg,canid,-3); hwcom.send(msg,str.length(msg)); hwcom.send(cr,1); hwcom.send(lf,1); } } Wenn du dich in dieses Projekt einklinken möchtest, dann melde dich bei mir per mail. �brigens: Diese Code wurde bisher nur an einem T5 am Komfort CAN getestet. cd='n' lf='r' TIP: Viele IDs vom Audi passen auch zu den VW Typen mit der älteren CAN Ausführung. Schöne Grü�e Peter | ||
Antwort schreiben Antworten: |