Chrysler / Alpine Autoradio AUX-In

Der chaotische Hauptfaden

Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese

Antworten
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

In meinem neuen Gefährt (Jeep Wrangler Bj.05) steckt dieses schicke Radio im Armaturenbrett:
Radio1.jpg
An sich ist das wirklich nicht schlecht. Ich würde das sehr gerne behalten.
Zumal das kein normaler DIN-Schacht ist (auch kein Doppel DIN) Vermutlich 4 16/34 Zoll oder sowas abgedrehtes :roll:
Nun möchte ich natürlich nicht dauernd CD´s brennen müssen. immer neue Kassetten aufnehmen ist such nicht so der Knaller.
Also muss da mindestens ein externer Audio Eingang ran.

Der kleine Kasten hat Glücklicherweise schonmal einen Wechslereingang:
radio3.jpg
Das ist die obere kleine Buchse.
Die Belegung habe ich auch schon herausgefunden:
http://www.wjjeeps.com/radio_systemdiag2.jpg
Hat sich denn schonmal einer mit solch einem Radio befasst?
Ich habe leider nicht herausgefunden, was das Ding am PCI-Bus erwartet um den Eingang zu aktivieren.....
Eine Alternative wäre natürlich sich solch eine kleine Seifendose zu besorgen:
http://www.allpar.com/model/m/repairs/stereo-swap.html
Aber das ist zu einfach! :D
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Hab hier eine heisse Spur gefunden:
http://www.mictronics.de/projects/cdc-protocols/
mal schauen :)
rene_s39
Beiträge: 1626
Registriert: So 17. Jan 2016, 23:06
Wohnort: 47669 Wachtendonk

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von rene_s39 »

Ich glaub die Stecker sind identisch mit dem VW RCD 200 und dem Audi Chorus 2, für die beiden suche ich nämlich auch noch eine Lösung um Aux nachzurüsten.

In der Bucht gibts für 30€ ein Kabel mit dazwischen gelöteter Platine, leider steht nirgendwo was für eine. Ich gehe mal von einem Vorverstärker (bzw. das Gegenteil davon) oder einer Wechsler-Vortäuschplatine aus.

Gruß,
Rene
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Ja, der Stecker sieht schon verdammt ähnlich aus.
Aber Stecker ist nicht das Problem.
Da stecke ich was vom einem IDE Kabel oder die Kabel von PC-Frontblenden rein.
Ich werde das im letzten Link mal zusammenlöten und Programmieren, mal schauen ob das klappt :D
rene_s39
Beiträge: 1626
Registriert: So 17. Jan 2016, 23:06
Wohnort: 47669 Wachtendonk

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von rene_s39 »

Es gibt diese Kabel auch ohne Platine für 6€, dann hast du den richtigen Stecker und ein AUX-Kabel.

Gruß,
Rene
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Update:
Reichelt hat mir heute Den Atmel gebracht (natürlich noch ein paar andere Dinge...)
Gleich mal zusammengelötet.
Dann Programmieren.
WIndows 10 hat Probleme mit dem Treiber von meinem Programmer (AVR-ISP MK2) :roll:
Also mit dem alten Toughbook (Win XP) Programmiert-->Geht.
Nun das ganze Gerümpel mal testweise an das Radio gesteckt:
1.jpg
2.jpg
Und es funktioniert auch noch!
Man kann nun tatsächlich den "Wechsler" auswählen und der Eingang wird freigeschaltet :D

Mal schauen was ich da nun an den Eingang hänge.
Vielleicht kommt da der iRiver dauerhaft dran oder so....
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Da das Wetter heute noch super war, bin ich heute mal zum Schrottplatz gefahren zum bummeln

Da habe ich mir gleich mal einen fast passenden Stecker aus einem Ford Puma geschnitten.
Der passt fast perfekt. Und ist dazu noch kostenlos :D
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Ich habe Mittlerweile ein Baugleiches Radio.
Also Ideal zum Testen und Spielen!
Den Wechslersimulator habe ich heute nochmal aufgebaut, geht soweit auch.
Ich habe nun vor, auf Tastendrücke am Radio zu reagieren.
Wenn man am Radio z.B. "Seek+" Drückt, soll der Controller einen Portpin für 500ms auf High ziehen.

Mittlerweile läuft auch der Programmieradapter wieder (AVRUSB MKII), und AVR Studio 7 erkennt ihn auch brav.

Doch wie zum Teufel erzeuge ich diese verdammte .hex-Datei?!
Build Solution (F7)
und dann?!
im angegebenen Pfad (E:\Texte\Atmel Studio\7.0) kann ich die nicht finden......
Ich werd da noch Wahnsinnig! Wieso muss man sich neben dem Treibergelumpe und inkompatiblen Firmwareversionen auch noch mit solch einem Dreck rumplagen? :roll:
Arne
Beiträge: 221
Registriert: So 11. Aug 2013, 19:12

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von Arne »

Moin Xana,

im Projektordner gibts einen Unterordner mit dem gleichen Namen wie das Projekt. Darin befinden sich wiederrum "Debug" und "Release", dort findest du normalerweise das Hexfile. Habs gerade bei mir getestet.

Kann sein dass du die Hex-Erstellung noch aktivieren musst. Dazu gehst du in die Projekteinstellung (Project --> Properties) und aktivierst im Bereich "Toolchain" bei den Output-Files das HEX.

Pass beim Programmer vom Atmel Studio auf. Der merkt sich ohne Ausnahme, welche Datei man als letztes geflasht hat. Selbst dann, wenn man mittlerweile an einem ganz anderen Projekt arbeitet. :roll: Hat mich auf Arbeit schon ein paar Stunden Arbeit gekostet, als ich als Avrdude-Benutzer dann mal mit Studio arbeiten sollte. Die Hardware macht natürlich mit einem komplett anderen Programm total komische Dinge.

LG
Arne
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Vielen lieben Dank für den Hinweis!

Das Häckchen beim Generate .hex war schon an.
Der Fehler lag darin, dass AVR Studio die Files nicht auf meiner Privaten Patte, sondern auf der Systemplatte abgelegt hat......:roll:

Ok, zumindest das geht nun schonmal, weitere Fragen werden bestimmt noch folgen :)
Benutzeravatar
Fritzler
Beiträge: 12600
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von Fritzler »

Was spricht denn dagegen mit nem makefile direkt auf dem AVR GCC rumzutrommeln?
Dann hat man diese Probleme nicht und es ist für alle µCs/CPUs gleich.
Wenne VILLEICHT später mal auf STM32 umsteigst müssteste ja für eine neue Gubbel IDE lernen, beim makefile bleibt alles gleich.

Das ist das rundum Sorglos makefile ausm avrgcc Beispiel:
https://www.mikrocontroller.net/article ... l_Makefile
Das ist nur so groß, weil eben rundum sorglos.
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Jap, an das Makefile dachte ich auch schon.
Das Makefile habe ja sogar schon!
Ich muss nur noch rausbekommen, wie ich die Files Sinnvoll in das AVR Studio einfüttere, damit am Ende was Sinnvolles dabei rauskommt:
files.jpg
Benutzeravatar
Nicki
Beiträge: 3128
Registriert: So 11. Aug 2013, 20:16
Wohnort: wo Mosel und Rhein sich treffen

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von Nicki »

Fritzler hat geschrieben: Wenne VILLEICHT später mal auf STM32 umsteigst müssteste ja für eine neue Gubbel IDE lernen, beim makefile bleibt alles gleich.
Also zur Keil-IDE war es für mich keine sonderlich große Umstellung, die Peripherieübersicht im Debugger ist doch deutlich praktischer als Kommandozeilenfummelei.
Benutzeravatar
Weisskeinen
Beiträge: 3948
Registriert: Di 27. Aug 2013, 16:19

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von Weisskeinen »

Fritzler hat geschrieben:Was spricht denn dagegen mit nem makefile direkt auf dem AVR GCC rumzutrommeln?
Dass man mit einem makefile direkt auf dem AVR GCC rumtrommelt?
In Zeiten grafischer Benutzeroberflächen möchte ich die nicht nur zur übersichtlichen Anornung verschiedener Texteditoren verwenden. Außerdem bin ich wahrscheinlich nicht der einzige, der makefiles als wenig intuitiv und übersichtlich empfindet...
Dass sich das Programmierfenster vom Atmel Studio aber immer die letzte gebrannte Datei merkt und nicht die für das geldene Projekt passende einstellt, ist überaus lästig, da stimme ich zu.
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Hatte ich schon erwähnt, dass ich Software hasse? Ich _HASSE_ Software!

Da gibt es für das AVR Studio ein schönes externes Tool: create project from makefile.
Download for Free
Ahhh! Toll! gleich mal machen
Da braucht man natürlich erstmal einen Account, mit vollständiger Adresse (Bumshausen hat es akzeptiert), Name, e-Mail, Schuhgrösse und Stuhlprobe.
Den Nun Erstellten Atmlen Account nurnoch Verifizieren und schon kann es losgehen. Ich bin schon ganz erstaunt, dass ich kein capatcha eingeben muss :roll:
Dann der Grosse Moment: auf Installieren klicken und schon stürzt AVR Studio ohne Fehlermeldung ab :evil:
Aus Zorn habe ich erstmal eine ganze Packung Mon Cherry verputzt.
Ich mach jetzt erstmal nen Bier auf.
Das kann doch alles nicht war sein :roll:
ozonisator
Beiträge: 1653
Registriert: So 11. Aug 2013, 19:53
Wohnort: bei Frankfurt/Main

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von ozonisator »

Ja LOL, da bist du selbst dran schuld. Unter Linux brauchst du nur den avr-gcc und den Makefile, für Windows brauchst du WinAVR+Makefile:
https://de.wikipedia.org/wiki/WinAVR
Und das AVR Studio kannst du so wie es ist direkt von deiner Platte schmeißen.
Benutzeravatar
Fritzler
Beiträge: 12600
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von Fritzler »

@xanakind:
Ich bin Softwareentwickler im Bereich Embeddet Software und weiste was?
Ich hasse Software! (Wenn sie nicht von mir geschrieben wurde)

Das Studio trommelt im Endeffekt auch nur auf dem GCC rum, daher müsste alles nötige schon installiert sein.
Anscheienend ist es auch ein fertiges Projekt mit makefile.
Daher mal die Konsole öffnen, in den Projektordner navigieren und make all eintippen.

@Weisskeinen:
IDEs sind einfach nur nervig, weil diese einen einschränken und/oder schlechte Editoren mitliefern.
Von der nervtötenden Bedienung fast aller IDEs mal zu schweigen.
Da suche ich lieber meinen Editor aus der mir gefällt und in dem richte ich eine Tastenkpmbi für "make all" ein.
Makefiles muss man natürlich einmal lernen, sind dann aber für immer Anwendbar und so schwer ist das nicht.
Benutzeravatar
xoexlepox
Beiträge: 4815
Registriert: So 11. Aug 2013, 19:28
Wohnort: So etwa in der Mitte

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xoexlepox »

Fritzler hat geschrieben:Ich hasse Software! (Wenn sie nicht von mir geschrieben wurde)...
IDEs sind einfach nur nervig, weil diese einen einschränken und/oder schlechte Editoren mitliefern.
Volle Zustimmung! Es geht nix über eine Shell, auch wenn es etwas Hirnschalz und Tipparbeit erfordert ;)
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

So, Ich habe mich nun etwas abreagiert. Dabei habe ich die Werkstatt aufgeräumt und sogar den Boden Nass gewischt :lol: War aber wirklich wieder mal Nötig......
Das mit dem Klicki Bunti finde ich ja garnicht mal so schlecht. Gerade für so einen Dummie wie mich :D
Hab nun mal Win AVR Installiert. Das hat ja 23 MB?! Im Gegensatz zu AVR Studio mit knappen 3 GB(!)
Prinzipiell schon nicht schlecht. Um dann später meine 3 Zeilen Code reinzupfuschen reicht mir das dicke!
Also mal die 4 Files geöffnet und dann mal ohne eine Veränderung auf Make All klicken:

Code: Alles auswählen

j1850.c:251: fatal error: opening dependency file .dep/j1850.o.d: No such file or directory
So sieht das nun aus:
notepad.jpg
Die genannte Datei ist doch da?!
Oder muss mal die anders zusammelrödeln?
ozonisator
Beiträge: 1653
Registriert: So 11. Aug 2013, 19:53
Wohnort: bei Frankfurt/Main

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von ozonisator »

Benutzeravatar
Fritzler
Beiträge: 12600
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von Fritzler »

Klingt nach Leer- oder Sonderzeichen im Ordnerpfad.

edit:
Achso du hast ja den Fehler begangen Win10 zu installieren.
Da hilft villeicht der Link von ozonisator mit dem Patch.
Später wirste Probleme mit selbstgebauten oder Chinesen ISP Programmern bekommen wenn M$ auf Win10 nurnoch signierte Treiber zulässt.
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Windows 10 macht mir hier im Augenblick noch keinerlei Probleme, dass ist ausnahmsweise mal brav :D
Selbst auf meinem Aktuellen Toughbook mit Win10 kann man mit der Seriellen Schnittstelle noch allerlei Unfug machen.
Und sollte es wirklich mal soweit sein, habe ich für solche Fälle betriebsbereite Rechner mit einem XP am start :D
Ich hab das mit dem Leerzeichen / Sonderzeichen oder deutschen Umlauten mal geprüft: Alles sauber :(
ozonisator
Beiträge: 1653
Registriert: So 11. Aug 2013, 19:53
Wohnort: bei Frankfurt/Main

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von ozonisator »

Es gibt da einen Kefer in MSYS, siehe Link zu dem Fix. Das brauchts, weil die Programme die WinAVR benutzt, auf Unix basieren.
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Ah!
Tatsächlich!
Nur diese dämliche msys.dll überschreiben und schon geht´s!
Tatsächich!
Vielen lieben Dank! :D
Und es wird nun auch endlich die .hex erzeugt, die ich dann direkt in den Controller schieben kann :D
Dann kann das eigentliche spielen und probieren mit dem Radio nun endlich losgehen! :D
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Ich schon wieder :roll:
Ich habe mich mal an das Programm gesetzt und etwas rumgespielt.
Allerdings bekomme ich die ankommenden Befehle vom Radio kommend nicht ausgewertet.
Hier der Code:

Code: Alles auswählen

#include <stdint.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include "main.h"
#include "j1850.h"


int16_t main( void )
{
	uint8_t j1850_rxmsg_buf[12];  // J1850 message buffer
  uint8_t j1850_txmsg_buf[] = {0x8D, 0x93, 0x01, 0x00, 0x00, 0x00};
  int8_t recv_nbytes;  // byte counter		
  
  j1850_init();	// init J1850 bus

	sei();	// enable global interrupts

	for(;;)
	{
  		recv_nbytes = j1850_recv_msg(j1850_rxmsg_buf);	// get J1850 frame
		
			if( !(recv_nbytes & 0x80) ) // proceed only with no errors
			{
			  if( j1850_rxmsg_buf[0] == 0x8D ){
          
          if( j1850_rxmsg_buf[1] == 0x0F ){
                
            switch( j1850_rxmsg_buf[2] ){
            
              default:
                j1850_txmsg_buf[1] = 0x93;
                j1850_txmsg_buf[2] = 0x01;
                j1850_txmsg_buf[3] = 0x01;
                j1850_txmsg_buf[4] = 0x02;
                j1850_txmsg_buf[5] = j1850_crc( j1850_txmsg_buf,5);
                j1850_send_msg(j1850_txmsg_buf, 6);
                break;
              
              case 0x21: //[b]FM Betrieb[/b]
                j1850_txmsg_buf[1] = 0x92;
                j1850_txmsg_buf[2] = 0xC0;
                j1850_txmsg_buf[3] = 0x00;
                j1850_txmsg_buf[4] = 0x00;
                j1850_txmsg_buf[5] = j1850_crc( j1850_txmsg_buf,5);
                j1850_send_msg(j1850_txmsg_buf, 6);
                
                j1850_txmsg_buf[1] = 0x92;
                j1850_txmsg_buf[2] = 0xE1;
                j1850_txmsg_buf[3] = 0x01;
                j1850_txmsg_buf[4] = 0x03;
                j1850_txmsg_buf[5] = j1850_crc( j1850_txmsg_buf,5);
                j1850_send_msg(j1850_txmsg_buf, 6);
                
                j1850_txmsg_buf[1] = 0x93;
                j1850_txmsg_buf[2] = 0x01;
                j1850_txmsg_buf[3] = 0x01;
                j1850_txmsg_buf[4] = 0x80;
                j1850_txmsg_buf[5] = j1850_crc( j1850_txmsg_buf,5);
                j1850_send_msg(j1850_txmsg_buf, 6);
                break;
              
              //case 0x24: // [b]CD-Wechsler[/b]
                j1850_txmsg_buf[1] = 0x94;
                j1850_txmsg_buf[2] = 0x00;
                j1850_txmsg_buf[3] = 0x00;
                j1850_txmsg_buf[4] = j1850_crc( j1850_txmsg_buf,4);
                j1850_send_msg(j1850_txmsg_buf, 5);
                break;
                        
            }
          }        
        }
  		} // end if message recv
	}	// endless loop
	
	return 0;
} // end of main()
Wenn ich da nun einen weiteren Baustein einfüge, z.B.
case 0x26: //Knopf_A
Mach PB1 an!

passiert eben garnichts.
Wenn ich das case weglasse wird der Port auf High gezogen, das funktioniert also schonmal.
Ich glaube, dass hängt an den RX-Puffern.....

Irgendwie steh ich gerade auf dem Schlauch.
Benutzeravatar
Fritzler
Beiträge: 12600
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von Fritzler »

Das ist jetzt der Code ohne deine Änderungen.
Zeig doch mal was du da jetzt geändert hattest.

Zudem muss man wohl auf jeden Befehl Antworten, sonst passiert nichts.
Also in jedem von dir zugefügten Case sollte zumindest die default Antwort kommen.
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Jap, der Code ist unverändert.
Ich stelle morgen mal den Code ein, in dem ich rumgepfuscht hab.
Ich habe das auf dem Werkstattrechner.
Benutzeravatar
Fritzler
Beiträge: 12600
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von Fritzler »

Wäre auch nett, wenne beide Codes reinstellst als Anhang.
Der CodeTag ist nur für kurze Codebaschnitte und daher auch immer so niedrig mit Balken.
Zudem missformatiert er manchmal.
Will dir ja nur helfen :lol:
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Das mit dem Hochladen geht so direkt leider nicht.
Das Forum erlaubt keine .c oder .txt Dateien (warum eigentlich nicht?!) :evil:
hab´s mal in .pdf umbenannt, die Dateien müssen also wieder in .c umbenannt werden.

Hier erstmal das Originale File:
main.pdf
(3.14 KiB) 52-mal heruntergeladen
Und hier das File mit meinen Versuchen:
main.pdf
(3.14 KiB) 50-mal heruntergeladen

Code: Alles auswählen

DDRA |= (1<<3);
				 PORTA |= (1<<3);
				if( j1850_rxmsg_buf[3] == 0x26 )
				DDRA |= (1<<1);
				PORTA |= (1<<1);
An PA1 & PA3 habe ich zum testen einfach mal LED´s angelötet.
Wird der CD-Wechsler angewählt (0x24) , so leuchtet nun tatsächlich auch die LED an PA3! :D
Das war aber nur mal zum testen, ich will ja nur die Tasten auswerten.
Wenn ich eine Taste drücke (Seek+-->0x26), dann leuchtet die LED an PA1 nicht.
Benutzeravatar
xoexlepox
Beiträge: 4815
Registriert: So 11. Aug 2013, 19:28
Wohnort: So etwa in der Mitte

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xoexlepox »

xanakind hat geschrieben:Wenn ich eine Taste drücke (Seek+-->0x26), dann leuchtet die LED an PA1 nicht.
Dir ist bekannt, daß sich (ohne Verwendung von geschweiften Klammern) das "if" nur auf die erste Zeile danach auswirkt?
Benutzeravatar
Fritzler
Beiträge: 12600
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von Fritzler »

Weiter oben hastes ja richtig gemacht mit den Klammern nach dem if.
Aber leuchtet ja trotzdem nicht?

Hier noch Infos zum Bus für andere:
http://download.intel.com/design/intarc ... 850_wp.pdf

Aber sicher, dass das in Byte 3 steht?
Das verlinkte pdf redet ja nur über die Bitschicht und dem Header.

Irgendwie müsste man noch nen UART anknüppern mit man auch sieht was der Wechsler schickt.
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Das mit den Geschweiften Klammern...ja, da war was, danke für den Hinweis!

Laut dem Link auf der ersten Seite:
tasten.jpg
steht das tatsächlich in Byte3.....
Irgendwie müsste man noch nen UART anknüppern mit man auch sieht was der Wechsler schickt.
Das übersteigt dann doch etwas meine Software-Fähigkeiten :(
Benutzeravatar
Fritzler
Beiträge: 12600
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von Fritzler »

Sicher, dass das richtig ist?
In dem Code werden nämlich ganz andere Hex Werte abgefragt als dort im BIld stehen.

j1850_rxmsg_buf[0] == 0x8D anstatt 0x3D
j1850_rxmsg_buf[1] == 0x0F anstatt 0x12
usw.

Mit nem UART würde man eben direkt sehen was in j1850_rxmsg_buf steht bei nem Tastendruck.

Mir fehlt grade der Überblick wie das Signal in den AVR kommt, über den ICP Pin oder über UART?
Haste nen USB TTL Converter?
Dann Fummel ich dir mal was zurecht (nachdem ich fefes fnord show fertig geguckt hab).
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Soooo sicher bin ich mir da nicht.

Code: Alles auswählen

if( !(recv_nbytes & 0x80) ) // proceed only with no errors
			{
			  if( j1850_rxmsg_buf[0] == 0x8D ){
          if( j1850_rxmsg_buf[1] == 0x0F ){
		  
		  	if( j1850_rxmsg_buf[3] == 0x26 ){
Im Puffer 3 frage ich 0x26 ab, was einem Tastendruck von "Seek+" entsprechen würde.
Müsste doch stimmen?
Benutzeravatar
Fritzler
Beiträge: 12600
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von Fritzler »

In der Tabelle kommen vorher aber ein Header und 2 andere Datenbytes die stimmen müssen.
Das ist die Abfrage im Code vor dem switch.
Nur stehen da blöderweise andere Werte als in der Tabelle.
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Uff! ok, da muss ich mal gucken.....
Also weitere Puffer einfügen:

Code: Alles auswählen

if( !(recv_nbytes & 0x80) ) // proceed only with no errors
			{
			  if( j1850_rxmsg_buf[0] == 0x8D ){
				if( j1850_rxmsg_buf[1] == 0x0F ){
				if( j1850_rxmsg_buf[2] == 0x3D ){
				if( j1850_rxmsg_buf[3] == 0x12 ){
				if( j1850_rxmsg_buf[4] == 0x26 ){
				if( j1850_rxmsg_buf[5] == 0x27 ){
0x26 & 0x27 sind 2 Tasten.
Für die Abfrage weiterer Tasten also einfach weitere Puffer einfügen?!
Ich werde da mal etwas rumprobieren.....
Benutzeravatar
Fritzler
Beiträge: 12600
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von Fritzler »

Naja ne, so wird das sicher nicht funzen.
Pro Tastendruck wird es wohl ein Frame auf dem Bus geben. Bestehnd aus dem Header und den paar Datenbytes.

Aber das wird jetzt imemr mehr stochern im Dunkeln, da ja wohl die Tabelle doch nicht die richtige zu sein scheint und eine UART Ausgabe noch nicht erfolgt.
Habe nochmal durch dne Fred gescrollt aber noch nicht gefunden welches Projekt du denn nun nachgebaut hast? oder bin ich Blind?
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

hmm, dachte ich mir :oops:
Nach gebaut habe ich das hier:
http://www.mictronics.de/projects/cdc-protocols/
Wenn du etwa in die Mitte scrollst, findest du ab Chrysler / Jeep / Dodge die Informationen dazu.
Benutzeravatar
Fritzler
Beiträge: 12600
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von Fritzler »

Aaaahh!
Da sind doch die passenden Tabellen.

Also das bisherige Projekt Antwortet dem Radio nur, dass ein CD Wechsler da ist, damits den AnalogInput nutzt.
Das funzt ja bisher.

Habe mal Kommentare in de Code gepackt mit man sieht was ankommt und was der dann schickt, aber 0x92 ist auf der Seite leider nicht beschrieben?
Weiterhin noch die Einrückung repariert zur bessen lesbarkeit.
Bügel das mal in das Projekt rein.

Die Tabelle vom letzten mal war nicht falsch, nur alleinestehend konnt ich da nix rauslesen.
Das Radio schickt einen ganz anderen Frame wenn eine taste gedrückt wurde (The following frame will be send from radio to the changer, if a changer related button was pressed)
Daher kannste die Tastenabfrage nicht in das bisherige switchcase reinprügeln, hab da mal was in die main.c getippt.
Dateianhänge
main.zip
(1.18 KiB) 44-mal heruntergeladen
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Super! das ist sehr lieb von dir! :D
beim nächsten Treffen geb ich dir mindestens mal nen Bier aus!
Wenn meine Tastensache später dann sogar noch läuft, ist es mindestens nen Sixpack!
versprochen! :D
Ich gucke mir das nachher mal an.
Was das 0x92 ist habe ich mich allerdins auch schon gefragt......
Benutzeravatar
Finger
Administrator
Beiträge: 7465
Registriert: Di 12. Jun 2012, 20:16
Kontaktdaten:

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von Finger »

xanakind hat geschrieben:Das mit dem Hochladen geht so direkt leider nicht.
Das Forum erlaubt keine .c oder .txt Dateien (warum eigentlich nicht?!) :evil:
Gute Frage... Ich habs jetzt mal angepasst....
xanakind
Beiträge: 12604
Registriert: So 11. Aug 2013, 21:55

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von xanakind »

Fritzler hat geschrieben: UART Ausgabe noch nicht erfolgt.
Beim Arduino (Sorry!) ist das ja relativ einfach.
Also mal schlau gemacht:
https://www.mikrocontroller.net/article ... rial:_UART
Ach du scheisse! :shock:
das bekomme ich nicht hin..... :(
Daher kannste die Tastenabfrage nicht in das bisherige switchcase reinprügeln
hmmmm, das hatte ich mir so schön einfach vorgestellt.......
Ich glaube, ohne UART haben ich da kaum möglichkeiten?
Uff!
ozonisator
Beiträge: 1653
Registriert: So 11. Aug 2013, 19:53
Wohnort: bei Frankfurt/Main

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von ozonisator »

Code: Alles auswählen

#define BAUD 9600					// Baudrate
#define BAUDRATE ((F_CPU)/(BAUD*16UL)-1)		// Umrechnung für UBBR


void uart_init (void)
{
	UBRR0H  = (BAUDRATE>>8);			// Baudrate setzen
	UBRR0L  = BAUDRATE;				// Baudrate setzen
	UCSR0B |= 1<<TXEN0 | 1<<RXEN0;			// Senden/Empfangen enablen
	UCSR0C |= 1<<UCSZ00 | 1<<UCSZ01;		// 8n1 Datenformat
}


void uart_putc(unsigned char c)
{
	while (!(UCSR0A & (1<<UDRE0)));			// warten bis UART frei
	UDR0 = c;					// Zeichen senden
}


void uart_puts (char *s)
{
	while (*s)
		{
		uart_putc(*s);
		s++;
		}
}

in der main:
uart_init();
uart_puts("IGOR\r\n");

Beispielcode für einen Atmega328. So wild ist das nicht.
Benutzeravatar
Fritzler
Beiträge: 12600
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Chrysler / Alpine Autoradio AUX-In

Beitrag von Fritzler »

Fleuri Lib und ab gehts:
http://homepage.hispeed.ch/peterfleury/ ... tware.html

Ansonsten ist es eben nichts anderes als in den Controlregistern Baudrate setzen, wieviele Bits sollens sein und dann TX einschalten.
Beim Senden das Statusflag abfragen ob du senden darfst, wenn ja das Zeichen in UDR schreiben, wenn nicht dann solange Flag abfragen bis du schreiben darfst.

edit:
weis aber ned was fürn AVR du nutz, der Tiny26 aus dem Beispielprojekt hat kein UART, den muss man dann nachbauen mit dem Serialbausteindingsbums der Tinys.
edit2: ich meinte USI
Antworten