Einbau E38/E39-Navi inkl. Soundsystem in den Achter...

Ich habe ja MFL drin, das passt schon mal.

iDrive kann man nachbauen, es ist problemlos möglich und auch nicht mal sehr aufwendig.

Mit der Steuerung bin ich aber eigentlich sehr zufrieden, ich kann die Touch-Screens nicht ab.

'cuda
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Touchscreen ist eigentlich auch Käse, im Stand absolut top..da gibt es wohl nichts besseres. Aber während der Fahrt gibts da bessere Alternativen.
 
Mein aktuelles Navi hat ja Touch-Screen. Bedienung ist okay, im Stand geht es, bei fahren kann man das aber voll abhacken. Da muss man schon zielen.

Was mich aber viel mehr stört, man sie die Fingerabdrücke und das kann ichabsolut nicht ab, weder an der Scheibe noch auf dem Display, Laptop oder PC-Monitor. Da werde ich zum Mörder. Deswegen bleibe ich beim altbewärten Bedienkonzept.

'cuda
 
Nein, ich meine, wenn iDrive, dann in der high-Ausführung.

'cuda
 
Nein, das gab schon im ersten E65 drin. High ist das Ding mit dem Feedback, so innen noch Schrittmotoren drin sind und dieses Drehrad noch vibriert, als Bestätigung.

'cuda
 
Mir gerade noch etwas zum Thema MP3 eingefallen. Irgendwie haben alle mir bekannten MP3-Player für Auto ein gravierendes Problem: keine Playlisten-Unterstützung, das ist, bei sagen wir mal 20GB MP3, so ziemlich tödlich.

Eigentlich dürfte es kein Problem sein. Das Radio kann einen CD-Wechsler direkt ansprechen. Ihm stehen dann 6 CDs zur Verfügung. Diese 6 CDs kann man ja eigentlich auf 6 Playlisten ummappen. Dem Radio ist es ja recht egal, ob die Liste der Files aus dem Verzeichnis kommt oder aus der Liste. Nur so eine Überlegung. MP3-Verarbeitung in Hardware ist relaitv einfach. Man braucht einen MP3-Decoder, einen DAC und etwas Vogelfutter. Der Mikrocontroller kommuniziert dann mit der Festplatte, liest die Daten runter und schiebt sie in den MP3-Decoder.

:fresse:

'cuda

EDIT: Sehe gerade, sogar OGG Vorbis wäre kein Problem.
 
Zuletzt bearbeitet:
Nach einer langen Diskussion mit einem Forum-Kollegen haben wir uns dazu entschlossen einen MP3-Player zu bauen :)

Das Ding wird SD-Karten fressen, Playlisten unterstützen, ID3-Tags lesen können und npaar andere lustige Spielereien.

Mehr gibt es dazu noch nicht, wird sind noch in der Planungsphase.

Es sind aber schon npaar Kleinigkeiten bekannt:
-> 18-bit DAC
-> Unterstützte Formate: Ogg Vorbis/MP3/AAC/WMA/MIDI/MPEG 4, alles in Hardware
-> SD-Karte, mit FAT16 oder FAT32, je nach dem, was man haben will
-> lange Dateinamen
-> ID3-Tags

Es kommt derselbe Stack zum Einsatz, den ich für's Navi verwende, also was Bewährtes. :)

Ich wollte eigentlich einen 24-Bit DAC, aber der Kollege meinte, dass man den Unterschied nicht so raushören würde. Hmm, ich weiss nicht.

'cuda
 
Zuletzt bearbeitet:
Sodelle, ID3-Tags in der Version 1 auszulesen funktioniert schon mal:

Code:
#include <stdio.h>
#include <string.h>

struct {
  char cLabel[4];
  char cTitle[30];
  char cArtist[30];
  char cAlbum[30];
  char cYear[5];
  char cComment[30];
  char cGenre;
} id3_tag;

int main (void) {
        FILE *ptr;
        int offSet = -128;

        ptr = fopen("testMP3.mp3", "r");
        fseek (ptr, offSet, SEEK_END); // Springen an's Ende der Datei und dann 128 Byte nach vorne

        fgets(id3_tag.cLabel, 4, ptr);
        offSet = offSet + 3;
        fseek (ptr, offSet, SEEK_END);

        fgets(id3_tag.cTitle, 30, ptr);
        offSet = offSet + 30;
        fseek(ptr, offSet, SEEK_END);

        fgets(id3_tag.cArtist, 30, ptr);
        offSet = offSet + 30;
        fseek(ptr, offSet, SEEK_END);


        fgets(id3_tag.cAlbum, 30, ptr);
        offSet = offSet + 30;
        fseek (ptr, offSet, SEEK_END);

        fgets(id3_tag.cYear, 5, ptr);
        offSet = offSet + 4;
        fseek (ptr, offSet, SEEK_END);

        fgets(id3_tag.cComment, 30, ptr);
        offSet = offSet + 30;
        fseek (ptr, offSet, SEEK_END);

        id3_tag.cGenre = fgetc(ptr);

        fclose (ptr);


        printf("Label: %s\n", id3_tag.cLabel);
        printf("Title: %s\n", id3_tag.cTitle);
        printf("Künstler: %s\n", id3_tag.cArtist);
        printf("Album: %s\n", id3_tag.cAlbum);
        printf("Jahr: %s\n", id3_tag.cYear);
        printf("Kommentar: %s\n", id3_tag.cComment);
        printf("Genre: %c\n", id3_tag.cGenre);
}

Und hier die Ausgabe:

Code:
heinrich@Hades:~/Werkeln/MP3_Tags$ ./a.out 
Label: TAG
Title: He Said She Said
Künstler: Ashley Tisdale
Album: Headstrong
Jahr: 2007
Kommentar: Project-Id-Version: grip 3.3
Genre: 
heinrich@Hades:~/Werkeln/MP3_Tags$

:)

'cuda
 
bbbrrrrrr, C. *schüttel*

:d

*e* Sind Artist etc. im ID3 tatsächlich auf 30 Zeichen limitiert? Wie gay. :d
 
Zuletzt bearbeitet:
Ist der MP3-Spieler dann auf deinen 8er beschränkt oder könnte man ihn auch in einem anderen Auto einsetzen ?

Man könnte ihn genau so in einem E38, E39, E46, X3, X5 einsetzen.

Wenn man den Stack umschreibt, wäre auch VW, Audi und etc. machbar.

bbbrrrrrr, C. *schüttel*

:d

C ist die geilste Sprache überhaupt.


*e* Sind Artist etc. im ID3 tatsächlich auf 30 Zeichen limitiert? Wie gay. :d

Jupp, das ist die Spec davon. Das ist aber die Version 1, die Version 2 und später ist anders. Da bin ich gerade dran. :)

'cuda
 
Naja, die Wahl der Programmiersprache ist ja mittlerweile Geschmacksache wie die Automarke oder das Lieblingsgetränk. ;)

Ich hab da ehrlich gesagt keine Verbindung zu. Was ich "produktiv" machen entsteht in C# oder Java. Wenn ich Bock auf was Nerdiges hab', dann auch mal ne Runde ASM86. :fresse:
 
Also könnte man das Gerät so gestalten, dass es einen 12V-Eingang für Strom hat und einen Audio-Ausgang (Chinch) ?

Jein. Wie willst Du das Ding dann steuern? :) Der Player hängt mit am Navibus und gibt sich für den CD-Wechsler aus, deswegen braucht es keine extra Steuerung, es wird vom System gesteuert.

Für meinen Player werden 7 Leitungen benötigt:
-> +12V
-> Masse
-> Bus
-> links+
-> Masse links
-> rechts+
-> Masse rechts
Was ist der "Stack" ?

Stack ist ein Teil des Programms, welches die Kommunikation mit dem Bus übernimmt.

@Gizzle: Ja, okay, hast auch wieder Recht. C# kann ich nicht, Java nur etwas. Aber sowohl C# als auch Java ist für Mikrocontroller absoluter Overkill.

Nur, irgendwie ist da im Programm ein kleines Problemchen und zwar: der Datenblock ist 128 Byte lang und wird an eine MP3 drangeklatscht.

Das Ganze startet mit einem "TAG". Es ist 3 Bytes lang. Soweit so gut. Wenn ich in meinem Programm 3 Bytes lese, habe ich in der Variable nur "TA" drin stehen. :hmm: Wenn ich aber 4 Bytes lese, ist alles okay.

Mit dem Jahr genau das Gleiche, anstelle von "2007", steht dort "200", wenn ich 4 Bytes lese. Mit 5 steht dann "2007" drin.

'cuda
 
Zuletzt bearbeitet:
Nein, das Programm ist richtig. Es ist so beim fgets, er muss immer n+1 Byte lesen, wegen dem '\0'. Hätte auch selbst drauf kommen können. Die Strings werden doch mit '\0' abgeschlossen.

'cuda
 
Ok, das mit der Steuerung ist ein Argument :fresse:

Könnte man das ganze nicht um ein paar Taster zur steuerung erweitern ?
Ok, auch wieder doof, eine Anzeige brauch man dann auch nicht.... glaube da nimmt man lieber n Radio mit USB-Steckplatz...
 
Ja, das könnte man natürlich machen. Für die Anzeige könnte man ein LCD dran bauen, wäre kein Problem.

ABER: Für was? Es soll ja kein Stand-Alone Player werden, sondern eins, das sich vollständig in's System integriert.

'cuda
 
Cuda will seinen 8er auf das http://www.nefkom.net/marcel.willner/rpg/valiant-bridge01.jpg upgraden. ^^

Und dazu will er jetzt natürlich aktuelle Techniken mit der alten verheiraten.
Er macht nichts anderes wie diese MP3player als CDplayer ausgeber, nur eben nach seinen spezifischen wünschen. Er will aber keinen Walkman bauen, sondern eben den veralteten CDplayer(der für die Anlage gedacht ist) durch einen schnuckeligen MP3player ersetzen, was ja auch Sinn macht. So muß er nicht nen CDrack ins Auto einbaun um immer "seine" Lieder dabeizuhaben.

@cuda, kommst du denn auch mal an nen Punkt, wo "es" fertig ist? Denn das eine ist noch nich ma richtig fertig, da kommt schon das nächste.n
 
Zuletzt bearbeitet:
Und dazu will er jetzt natürlich aktuelle Techniken mit der alten verheiraten.
Er macht nichts anderes wie diese MP3player als CDplayer ausgeber, nur eben nach seinen spezifischen wünschen. Er will aber keinen Walkman bauen, sondern eben den veralteten CDplayer(der für die Anlage gedacht ist) durch einen schnuckeligen MP3player ersetzen, was ja auch Sinn macht. So muß er nicht nen CDrack ins Auto einbaun um immer "seine" Lieder dabeizuhaben.

Vereinfacht gesprochen, ja, so ist es. Und wenn ich mir schon den Stress gebe, nehme ich das Beste, was es auf dem Markt in diesem Segment gibt.

Es gibt einen MP3-Wechsler von BMW, den könnte ich anschliessen, aber, er kostet zum einen ein halbes Vermögen und zum Anderen ist das Ding relativ gross. Aber eins muss man ihm lassen, er klingt verflucht gut.

Der CD-Wechsler hat ja 6 CDs drin. Da sich mein Player für CD-Wechsler ausgibt, kann ich die Playlisten für CDs ausgeben. Damit umgehe ich die 6 Ordner Struktur, die die meisten "Nachrüstplayer" haben. (Man legt 6 Ordner auf dem Träger, die dann auf CD1 bis CD6 gemappt werden).
Ich werde es aber anders lösen, ich kann dann auch mehr als 6 Ordner haben, solange die MP3s in der Playliste eingetragen sind, werden sie abgespielt, egal wo sie liegen. So kann ich alles festlegen, wie ich lustig bin.

Dann werden auch noch ID3-Tags angezeigt, geht recht einfach, wie man gesehen hat. Es gibt nur ein Hacken an der Sache. Und zwar liegen die ID3-Tags am Ende der Datei. Sprich, ich mache sie auf, dann muss ich an's Ende springen. Ich weiss noch nicht, wie schnell die FAT-Implementierungen für den AVR sind. Hier werde ich mir wohl was überlegen müssen.

@cuda, kommst du denn auch mal an nen Punkt, wo "es" fertig ist? Denn das eine ist noch nich ma richtig fertig, da kommt schon das nächste.n

Naja, es hängt ja irgendwie zusammen und ich kann vieles widerverwenden. So viel Neues ist dabei nicht.

'cuda
 
Beim sequentiellen Lesen sollte es aber keine Probleme geben, da sollten auch SD Karten flott genug sein. Zufällig verteiltes Lesen, da schaut es dann ggf. wieder anders aus.

Cuda - Also eine einfache Lösung wäre doch vll. eine Art Queue. Du hast ja deine Playlist, also lässt du einfach für die nächsten ein, zwei Titel vom jeweils aktuellen Track die ID3 auslesen und vorhalten... dann klemmt's höchstens bei der ersten Datei. Oder wenn du viel skippst.

Aber ich kann mir kaum vorstellen, dass die Implementierung so gruselig is, dass du da merklich Performanceprobleme bekommen wirst. Zumal.
 
Zuletzt bearbeitet:
Naja, wenn ich mir die SD-Karte von meiner Kamera anschaue, sie schreibt kurz mal eben ihre 15MB weg, wenn ich ein Bild mache. Ich mache RAW + JPEG und alles auf Maximum.

Ich habe gerade nachgeschaut, FAT32, gepuffert, bei einer Chunksize von 1KiB liefert die Karte ca. 240KiB/s. Ob es ausreicht, werden wir sehen. Für MP3 reicht es auf jeden Fall völlig aus.

'cuda
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh