Diese Software übernimmt das eigentliche Abspielen der Musiktitel. Sie lädt die Dateien von der Festplatte, nimmt Befehle vom Unilink-Interface und ggf. einem angeschlossenen Handy entgegen, gibt Zeit- und Titelinformationen an das Unilink-Interface aus und versorgt den MP3-Decoder-Chip mit Daten. Zusätzlich kann sie (zu Testzwecken) per Konsole, also über Telnet oder serielle Schnittstelle, gesteuert werden. Zur Ansteuerung des VS1001 nutze ich die Bibliothek von Thomas Kindler aus der Datei src2002-08-04.zip mit leichten Anpassungen.
Die Informationen, welche Titel wo auf der Platte liegen, entnimmt die Software einer kleinen Datenbank, sodass beim Programmstart keine Verzögerungen durch Einlesen des Verzeichnisbaums auftreten. Der Player ist dadurch in wenigen Sekunden abspielbereit. Die Datenbank kann durch eine kleine Access-Anwendung erzeugt werden.
Grundsätzlich werden die Titel bereits in der Datenbank in Ordnern und Unterordnern organisiert. Die Bedeutung der einzelnen Ordner ist dabei von der Playersoftware unabhängig. Dateien können auch in mehreren Ordnern einsortiert werden. Meine Access-Datenbank sortiert die Titel folgendermaßen:
Zusätzlich werden noch Ordner für jedes Jahrzehnt angelegt. Dadurch kann die Zufallswiedergabe z.B. auf Songs aus den 70er Jahren begrenzt werden.
Am Autoradio kann durch die MD-Auswahl (1-6) die Ordner-Ebene ausgewählt werden. Durch die Track-Auswahl wird dann ein bestimmter Unterordner bzw. Titel angewählt. Um ein bestimmtes Album zu wählen, ist also zunächst MD 1 auszuwählen und der entsprechende Anfangsbuchstabe zu suchen. Danach MD 2 anwählen und den Interpreten aussuchen, zum Schluss auf MD 3 wechseln und das gewünschte Album aussuchen. Wechselt man dann auf MD 4, wird das gewählte Album wiederholt abgespielt, bis ein neues Album gewählt wird. Im Zufalls-Modus ("RP") werden dabei auch nur Tracks dieses Albums gespielt. Entsprechend kann die Zufalls-Wiedergabe auch auf einen Interpreten eingeschränkt werden (Wahl von MD 3).
Der Player ist im Handy-Menü über "Zubehör/Adam 301" zu erreichen. Dort können direkt die Ordner durchgeblättert und angewählt werden. Durch Auswahl eines Tracks wird dieser sofort angespielt. In Unterordnern kann durch Anwahl von "Ordner abspielen" der Abspielvorgang auf den jeweiligen Ordner beschränkt werden (entsprechend der MD-Auswahl am Autoradio).
Die Steuerung kann gleichzeitig über Autoradio und Bluetooth erfolgen.
Das Betriebssystem des IPC@CHIP bietet zwar eine Unterstützung für externe Massenspeicher an, es kann allerdings nur mit FAT16-Partitionen umgehen. Die damit möglichen 2 GB sind aber mit mp3-Files schnell gefüllt, und lauter kleine 2-GB-Partitionen anzulegen macht die Sache auch nicht gerade übersichtlicher (zumal das Beck-BIOS immer nur eine Partition gleichzeitig benutzen kann).
Es muss also ein anderes Dateisystem her. Dafür bietet sich das FAT32-Format an, da es von vielen Betriebssystemen unterstützt wird und man damit die Festplatte leicht am Rechner vorbereiten kann. Da das Beck-BIOS hier aber (noch?) keine Unterstützung bietet, muss man die eigentliche Player-Software direkt an einen eigenen Treiber anpassen. Auch eine Server-Software, um per Netzwerk auf die Festplatte zugreifen zu können, muss selbst geschrieben werden (siehe unten).
Zum Thema FAT32 gab es schon diverse Threads im Forum von www.kreapc.de. Ich habe meine Playersoftware an den Treiber von Kai Gossner angepasst (siehe Forum, ca. Juli 2002).
Ich habe an diesem Treiber an wenigen Stellen einen RTX_Sleep()-Aufruf eingebaut, da es bei großen Verzeichnissen gelegentlich zu Watchdog-Resets kam (der Treiber arbeitete zu lange, ohne die Kontrolle zwischendurch ans BIOS zurückzugeben, wodurch der Watchdog überlaufen konnte).
Wie schon gesagt, ist der im @CHIP eingebaute FTP-Server nicht für die FAT32-Partitionen geeignet. Ich habe begonnen, einen rsync-Server auf dem @CHIP zu implementieren, kann aber noch nicht abschätzen, ob das überhaupt funktionieren wird. Ansonsten kann sicherlich auch ein einfacher FTP-Server aufgebaut werden. Allerdings ist der @CHIP doch recht langsam, sodass die Übertragungsraten kaum 100 kByte/sec erreichen dürften.