• .
  • Willkommen im Forum!
  • Alles beim Alten...
  • Du hast kaum etwas verpasst ;-)
  • Jetzt noch sicherer mit HTTPS
Hallo, Gast! Anmelden Registrieren


LinkIt Smart 7688
#41
So langsam kommt Leben in das Modul...

Bislang implementiert:
- Uart senden zum Display
- Uart empfangen vom Display
- LinkIt Smart 7688 über Display bedienen
- V1.0 des GUI
- Favoritendatei für Internetradiostreams
- Abspielen aus Favoritendatei
- Beenden des Internetradiostreams bei 2. Touchevent

Geplant:
- Hinzufügen von Internetradioadresse über Display
- Kurznamen für Internetradioadressen
- Lautstärkeregelung
- Abspielen von MP3 Dateien von einem USB Massenspeicher
- Hinzufügen von diversen Einstellen für Modul/Display
- Airplay
- GUI überarbeiten und intuitiver gestalten
- Can-Bus Schnittstelle
- Infrarot Fernbedienung
 Und vieles mehr....
 
Reply
#42
(30.03.2017, 07:18 PM)MP1993 schrieb: So langsam kommt Leben in das Modul...
...
- Can-Bus Schnittstelle
...

misstrau
Wie und warum ?
Das Teil hat nicht mal nen Transceiver CAN Controller, willste da nen SJA1000 ran pflanzen und wenn, wofür ?
"Ich hab Millionen von Ideen und alle enden mit Sicherheit tödlich."
 
Reply
#43
(30.03.2017, 07:18 PM)MP1993 schrieb: So langsam kommt Leben in das Modul...

Bislang implementiert:
- Uart senden zum Display
- Uart empfangen vom Display
- LinkIt Smart 7688 über Display bedienen
- V1.0 des GUI
- Favoritendatei für Internetradiostreams
- Abspielen aus Favoritendatei
- Beenden des Internetradiostreams bei 2. Touchevent

Wie macht ihr das mit dem Abspeichern der Settings und Favoriten? Habt ihr ein xml/json-File, in dem alle Daten abgelegt werden?

Was ich bisher nicht verstanden habe. Was unterscheidet denn das LinkIt nun von einem Bastelboard a lá Raspberry Pi?
Einen günstigen Abklatsch gibt es schon ab 8 Euro (12 Euro mit HDMI). Und für den hat jemand bereits AirPlay implementiert...
Bitte nicht falsch verstehen, nicht das ich das Projekt nicht cool finde.

@Basstler: Ich vermute fast, um die Lenkradsteuerung fürs Radio im Auto abzufangen  Cool
 
Reply
#44
(31.03.2017, 09:04 AM)scooot schrieb:
(30.03.2017, 07:18 PM)MP1993 schrieb: So langsam kommt Leben in das Modul...

Bislang implementiert:
- Uart senden zum Display
- Uart empfangen vom Display
- LinkIt Smart 7688 über Display bedienen
- V1.0 des GUI
- Favoritendatei für Internetradiostreams
- Abspielen aus Favoritendatei
- Beenden des Internetradiostreams bei 2. Touchevent

Wie macht ihr das mit dem Abspeichern der Settings und Favoriten? Habt ihr ein xml/json-File, in dem alle Daten abgelegt werden?

Was ich bisher nicht verstanden habe. Was unterscheidet denn das LinkIt nun von einem Bastelboard a lá Raspberry Pi?
Einen günstigen Abklatsch gibt es schon ab 8 Euro (12 Euro mit HDMI). Und für den hat jemand bereits AirPlay implementiert...
Bitte nicht falsch verstehen, nicht das ich das Projekt nicht cool finde.

@Basstler: Ich vermute fast, um die Lenkradsteuerung fürs Radio im Auto abzufangen  Cool
Das LinkIt Modul ist wesentlich 'kleiner' als nen Pi - klein im Sinne von Energiebedarf und logischerweise der CPU.
Letztlich ist ein 1-Chip-Router mit WLAN & Ethernet Phy, also der gesamte Design Schwerpunkt liegt auf Netzwerk Technik, daher auch openWRT als Linux Variante.
Netzwerkfähigkeit hat der Pi nur ran gebastelt bekommen, über USB...

Bzgl. CAN ... das habe ich schon befürchtet  Tongue 
Da braucht er aber eh erstmal ne Bridge zu einem PC um die ganze Kacke zu analysieren und zum probieren.
Würde eher probieren nen RS232 - CAN Adapter aufzutreiben und dahinter abgreifen ...
"Ich hab Millionen von Ideen und alle enden mit Sicherheit tödlich."
 
Reply
#45
(31.03.2017, 09:04 AM)scooot schrieb: @Basstler: Ich vermute fast, um die Lenkradsteuerung fürs Radio im Auto abzufangen  Cool
Can:
100% Trefferquote. Obwohl abfangen so negativ klingt, ich binde das Modul als Teilnehmer im Can-Komfort ein. 
An Software+Hardware zum Auslesen der Can Nachrichten sollte  es nicht dran scheitern. Da ich in den letzten Jahren Erfahrungen mit dem Can Bus sammeln durfte und auch Erfolgreich ein Can Netzwerk aufgestellt habe, kommt nun die nächste Herausforderung, ein Teilnehmer in ein bestehendes Netzwerk hinzufügen.
Einbindung über: SPI -> Can Controller -> Can Transceiver 

Da dort viele verschiedene Protokolle gibt, muss ich erstmal schauen, ob die veranschlagten ICs das können, zum Glück ist der Can-Komfort nicht so aufwendig, wie der Can-Antrieb. Smile

Da ich aber keine unfertige Elektronik im Auto haben möchte, muss die Software erstmal 100% laufen und bekommt dann natürlich ein größeres Display.
Ursprünglich, war es für die Küche als Radio/Netzwerkplayer... gedacht, wo es auch definitiv eingesetzt wird. Aber Zusatzmodule wie Dieses  sollen später das Board ergänzen und in der Einstellung aktiviert werden können.(An der Hauptplatine angesteckt werden)
Es war geplant, dass die Hauptplatine keine speziellen Funktionen beinhaltet und man je nach Bedarf, die Funktionen erweitern kann.
Bislang sind viele, mit denen ich darüber gesprochen habe, sehr angetan von der Ausführung.

Zum Modul:
Aber mal zurück zum jetzigen Stand, erst mal muss alles funktionieren, denn dort sehe ich noch viel Arbeit. Big Grin
Ich erwarte von dem Modul dass, es einen geringen Stromverbrauch hat, weniger Komplex zum Programmieren ist(gefühlt erfüllt), sehr schöne Dokumentation zum Modul vorhanden sind....
Meine persönliche Meinung ist, dass das Modul deutlich besser zu den Anforderungen passt, wie der PI. Ich bin mit dem Pi im Wohnzimmer sehr unzufrieden, da er sehr langsam ist und oft abstürzt/einfriert und die Internetradioverbindung dauernd abbricht. All diese Probleme habe ich mit dem LIS nicht, es läuft sehr stabil und macht genau das, was ich möchte ohne zu mucken. Wenn ich diese beiden vergleichen sollte würde das LIS Modul für den Anwendungsbereich deutlich vorne liegen.



Datei zum Speichern:
Die Daten Einstellungen/Listen werden in einer txt Datei abgespeichert, die pro Zeile ausgelesen wird. Nichts kompliziertes, aber effizient. Wink
Das Display hat keine Speicherfunktion in der Basic Version, was auch hier nicht benötigt wird, da ich die Daten lieber auf dem Modul habe.
 
Reply
#46
Das Internetradio funktioniert super. Es gibt jedoch ein Problem. Beim Abspielen wird der vorherige Wert des Alsamixer ignoriert und auf -6dB gestellt, sodass nach Start der Wiedergabe, die Lautstärke neu eingestellt werden muss. 
Softwaretechnisch konnte ich es ein wenig weniger nervig machen, jedoch kann ich den Ausgang nicht zwischenzeitlich muten, sodass für einige Millisekunden die Wiedergabe laut ist. Nun habe ich mir überlegt am Ausgang das Audiosignal durch ein Miniaturrelais zu schicken, welches erst bei einer Wiedergabe + automatische Lautstärkeanpassung angeschaltet wird. So umgeht man den momentanen Softwarebug.

Zudem habe ich ein wenig am Design gebastelt:
   
Es ist ein grauer Balken dazugekommen, wo angezeigt wird:
- Wo man sich befindet
- Welche Geräte angeschlossen sind Bsp. USB
Und vielleicht noch mehr? Wink

Bin natürlich für Anregungen/Verbesserungsvorschläge offen und würde mich sehr darüber freuen. Egal ob Display, Softwaretechnisch oder sonstiges...

Bei Bedarf, kann ich den Zwischenstand auch hochladen, doch da momentan nur die Internetradio Funktion zur Verfügung steht, gehe ich davon aus, dass ich damit keinen einen gefallen machen werde.
Wenn das Grundgerüst steht, werde ich die Version hochladen(mit HowTo und sonstigem).

Änderungen:
- URL Eingabe über Display
- Lautstärkeregelung über Display
- Anzeige von Streamadressen im Display
- Statusleiste im Display hinzugefügt

Wie geht es voran mit dem PCM5102A einbinden? Big Grin
 
Reply
#47
Kannste mal deine Templates hochladen für die GFX?
 
Reply
#48
Mit dem Wort GFX kann ich bislang nicht soviel anfangen. Rolleyes
Google sagt Grafische Effekte, die in dem Fall nicht enthalten sind.

Ich habe mir passende Bilder ausgesucht, die ich frei verwenden darf und diese in Gimp bearbeitet/verarbeitet.
Es funktioniert alles mit Bildern, die ich dann im Nextion Editor passend durch einen Timer anzeigen lasse. Bsp. Nachricht bei Lautstärkeanpassung.
Das Menü wird dann als Hintergrundbild eingefügt und mit Touch-Events verknüpft.

Im Anhang:
Vorlagen für Button, Hintergrund... sind in der zip Datei enthalten.

Habe da noch einen Einfall gehabt. Vielleicht ist es möglich den WM8960 über I2C anzusprechen und die Lautstärkeregelung im DAC auf Mute zu setzen.


Angehängte Dateien
.zip   AnzeigeGimpDateien_07042017.zip (Größe: 680,66 KB / Downloads: 263)
 
Reply
#49
"(computing, informal) Abbreviation of graphics."
 
Reply
#50
Mit Grafikdesign oder sonstiges bislang wenig am Hut gehabt. Tongue

Mal den I2C Bus bei einer Lautstärkeveränderung aufgenommen:
   

Am Code habe ich nichts geändert, das heißt ich steure immer noch über Alsamixer. Somit sendet der Alsamixer den Befehl über I2C an den WM8960.
Das Problem kann also nicht über den Mutebefehl so einfach gelöst werden, da er beim Abspielen Überschrieben wird.
Einen Lautstärkeregler danach oder davor gibt es auch nicht. Somit sehe ich keine andere Lösung, als das Relais zu nutzen, denn um den Treiber des WM8960 in Linux zu ändern (der Wahrscheinlich auch nicht ganz so einfach zu verstehen ist) reicht es momentan noch nicht.

   

Edit: Vielleicht wäre der Output Mixer noch interessant. Smile
   
 
Reply
#51
(06.04.2017, 07:29 PM)MP1993 schrieb: ...
Wie geht es voran mit dem PCM5102A einbinden? Big Grin

Demnächst wieder...
Hab es jetzt zu hause, spiele im Büro mit den nanoPis.
Mal schauen wann ich Muse auf ein Text Adventure habe ...
"Ich hab Millionen von Ideen und alle enden mit Sicherheit tödlich."
 
Reply
#52
Nun läuft der PCM5102A parallel zum dev. Board und es ist ein verdammt großer Unterschied. Big Grin
   

Kurze und knappe Beschreibung:  WM8960 -> sehr flach          PCM5102A -> Bislang keinen besseren gehört.

PCM5102A läuft im "3 Wire I2S with BCK PPL" Modus und es gehen 3 MHz Takt über ~30cm Kabel. Rolleyes

Ideal wäre dann der PCM5122. Interne Lautstärkereglung, EQ mit festen Funktionen ...
So ist der Bug mit der Alsamixer Lautstärkeregelung auch hinfällig, da dann direkt über SPI/I2C die Daten im Programm zum DAC geschickt werden.
 
Reply
#53
Nice. Smile
 
Reply
#54
Heute mal den PCM5102A allein am LinkIt Smart 7688 gehangen und wie erwartet war Ruhe auf allen 3 Leitungen.
Nach Recherche bin ich zu der Vermutung gekommen, dass der LinkIt Smart als Slave konfiguriert ist und somit Word Select und Clock benötigt.
Gut, dass der PCM 5122 als Master konfiguriert werden kann(PCM5102A nicht).

Mehr als eine Vermutung gibt es, wenn der Logik Analyser  da ist und ich schauen kann, wie der WM8960 konfiguriert wird.
 
Reply
#55
(18.04.2017, 07:42 PM)MP1993 schrieb: Heute mal den PCM5102A allein am LinkIt Smart 7688 gehangen und wie erwartet war Ruhe auf allen 3 Leitungen.
Nach Recherche bin ich zu der Vermutung gekommen, dass der LinkIt Smart als Slave konfiguriert ist und somit Word Select und Clock benötigt.
Gut, dass der PCM 5122 als Master konfiguriert werden kann(PCM5102A nicht).

Mehr als eine Vermutung gibt es, wenn der Logik Analyser  da ist und ich schauen kann, wie der WM8960 konfiguriert wird.

Die Änderung der Sichtweise ist nur bei AD tauglichen Codecs relevant, sprich zum sampeln oder wenn kein anderer Baustein die Masterclock generieren kann oder soll (wegen Jitter oä).
In der Betriebsart wird der LinkIt zum Slave, da er nur noch die Daten phasenkorrekt einsaugen soll.

Als reiner DA Wandler muss die Masterclock vom LinkIt kommen, das wird vom Treiber so eingerichtet.
Im Wurst-Käse Fall ist die PLL vom LinkIt für die Tonne, dann geht es echt nur über eine Masterclock...
 
In 10 Tagen hab ich mal paar Tage Urlaub, falls das Wetter so bescheiden bleibt, hab ich genug Zeit um mich in die makefiles zu stürzen.
Als Stylevorlage kann ich die Umgebung vom nanoPi nehmen, der unterstützt den PCM5102 aus dem Stand (ist nen leicht abgespecktes Ubuntu 16.04 LTS).
"Ich hab Millionen von Ideen und alle enden mit Sicherheit tödlich."
 
Reply
#56
Ich nutze den 5102 auch ohne MCLK.
 
Reply
#57
Soweit meine Theorie:
Der LinkIt Smart 7688 sendet auf I2S_SDO die Daten raus, 
wenn I2S_WS und I2S_CLK an den Pins vom LinkIt Smart 7688 anliegen. 
Der WM8960 sendet zum I2S_SDI am LinkIt Smart die Daten vom ADC.(Wenn benutzt)


Somit sollte diese Konfiguration eingestellt sein:
   


Der PCM5102A kann kein WS und CLK erzeugen, aber der PCM5122. Wink
(Datenblatt Seite 80 / Master Mode LRCK/BCK)
Somit muss nur ein Signal vom Oszillator auf SCK anliegen und das Ding sollte laufen.

Korrigiert mich, falls ich falsch liege. klappe
 
Reply
#58
(20.04.2017, 07:37 AM)MP1993 schrieb: Soweit meine Theorie:
Der LinkIt Smart 7688 sendet auf I2S_SDO die Daten raus, 
wenn I2S_WS und I2S_CLK an den Pins vom LinkIt Smart 7688 anliegen. 
Der WM8960 sendet zum I2S_SDI am LinkIt Smart die Daten vom ADC.(Wenn benutzt)


Somit sollte diese Konfiguration eingestellt sein:



Der PCM5102A kann kein WS und CLK erzeugen, aber der PCM5122. Wink
(Datenblatt Seite 80 / Master Mode LRCK/BCK)
Somit muss nur ein Signal vom Oszillator auf SCK anliegen und das Ding sollte laufen.

Korrigiert mich, falls ich falsch liege. klappe

Der WM8960 muss über I2C erstmal konfiguriert werden, damit er überhaupt etwas tut. Nach dem Init kommt der Audio Stream über I2S.
Der PCM5102 ist, wie viele Codecs, da einfacher gestrickt, der wartet nur auf nen I2S Stream, mit Clks & Daten.
Dazu muss nur der Treiber unter Linux überredet werde, denn auch auszuspucken. 

Nochmal : gedanklich Master und Slave tauschen, PCM5102 kann nur Slave, Mastermind Linux muss den Takt vorgeben...  Smile

Ed:
Ab nächsten Donnerstag hab ich Urlaub und das Wetter ist hier noch in einem Zustand, der weniger zum Sonnenbaden einlädt, selbst längere Radtouren werde ich mir wohl sparen, zu kalt und unbeständig.
Somit hab ich Zeit den Treiber zurecht zu würgen oder alternativ mal meine Fenster zu putzen ... beides nicht so meine Lieblings Tätigkeiten, aber watt mutt, datt mutt...
"Ich hab Millionen von Ideen und alle enden mit Sicherheit tödlich."
 
Reply
#59
Irgendwie habe ich das Gefühl wir reden aneinander vorbei. Wink

PCM5102A ist ein guter DAC, jedoch hat er keine Lautstärkeregelung -> Das Board regelt über I2C die Lautstärke mit dem WM8960 -> keine Lautstärkeregelung mit PCM5102A

Von daher PCM5122 -> I2C; SPI fähig/ interner EQ/ Lautstärkeregelung über I2C; SPI/ kann als Master eingestellt werden(siehe Bild im obigen Post+ Text unter dem Bild)


- Somit verschwindet der Alsa Bug mit der Lautstärkeregelung.
- Man hat eine Lautstärkeregelung
- Man muss nicht unbedingt die Treiber ändern(Vermutung, die ich noch bestätigen muss), natürlich wäre es schön, wenn das Modul als I2S Master agiert, somit hat man die Möglichkeit mehr DACs zu benutzen. Fraglich ist dann, ob man Nachteile hat mit der Takterzeugung(Jitter?).
 
Reply
#60
Da diese Woche Versandkostenfrei im Ti Store bestellt werden kann und Conrad deutlich mehr nimmt für den PCM5122, habe ich kurzerhand ein paar bestellt, denn die braucht man so oder so öfters.

Platine von TSSOP auf 2,54mm Raster ist auch auf dem weg. Dann mal schauen ob es so funktioniert, wie ich es mir vorstelle. 
Nun muss ich nur noch schauen, wo ich entweder günstig ein 3,3V Oszillator mit 2,54mm Rastermaß herbekomme oder wie ich ein SMD Oszillator auf 2,54mm Lochraster unterbringe. Überkopf und Drähte dran? misstrau

Noch etwas schönes gefunden: Android Open Accessory Protocol
Das hört sich sehr schön an. Android Handy über USB am LinkIt Smart 7688 und dann kann man darüber auch noch die Navigation, Musikwiedergabe ... vom Handy steuern. Heart
Wird unten an der ToDo Liste angehangen. Big Grin
 
Reply