Themabewertung:
  • 1 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
FAQ zum iRadio
(10.12.2021, 18:55)saarfranzose schrieb: Bernhard, danke für die Blumen!

Gerne Jupp, wo wäre das iRadio ohne deine Arbeitsleistungen und wie oft habe ich Dich mit Test, Test und nochmal Test genervt.... Otto genauso!


(10.12.2021, 18:55)saarfranzose schrieb: Der 3W-amp ist mir in der Adafruit-Variante wohlbekannt. Ich weise darauf hin dass der MAX98357 einen I2S-DAC beinhaltet.... Es sei denn du, Bernhard, willst wirklich iRadio an das Pirate-Modul anpassen. Eine I2S-Unterstützung würde iRadio nochmal entschieden aufwerten.

Eine I2S-Unterstützung haben wir ja out-of-box schon lange, nämlich direkt über das OS und die mitgebrachten Treiber der Aufsteckmodule. Bereits beim Pimoroni-Pirate Radio, also dem Radiobausatz, der der Auslöser für das iRadio war, wurde I2S genutzt! Auf dem PhatBeat (https://buyzero.de/products/phat-beat) - Ihr erinnert Euch? - war auch schon ein MAX98357A drauf und das läuft so, da braucht das iRadio selbst gar keine Unterstützung mitbringen, da reichen die Alsa-Einstellungen und Treiber die mitgeliefert werden. https://learn.pimoroni.com/article/getti...-phat-beat

Audio ist also erledigt!

Was ich jetzt machen würde, wäre eine ST7789 Unterstützung mit einem Demo-displayd, so dass auch das Display auf dem Board von kaloschke direkt in C/C++ angesprochen werden kann, damit auf dem kleinen Zero kein Python laufen muss. Die Buttons A,B,X,Y des Boards brauchen nach https://de.pinout.xyz/pinout/pirate_audio_speaker# keinerlei Arbeit, sie hängen einfach an GPIO 5,6, 16 und 20. Dafür kann man den Default-gpiod (https://github.com/BM45/iRadio/blob/master/gpiod.c) nutzen, man muss halt nur die Portnummern anpassen. Aber da für den Derby Commander ein Gestensensor genutzt werden soll, ist das ja sowieso nicht von Bedeutung.

I2S Audio geht also, Bedienung (über Gestensensor) ist fertig, brauchen wir nur das neue Display und einen displayd. Etwas Zeit (ein paar Tage) werde ich dafür aber brauchen, ich muss im iRadio erstmal alles bezüglich der neuen Betriebssysteme testen. Gibt ja seit dem 2. Dezember das Legacy-Image (https://www.raspberrypi.com/software/operating-systems/).

Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Hallo,
während ich voller Vorfreude auf den Displaytreiber von Bernhard warte, möchte ich schon mal die Gestensteuerung testen.
Dazu habe ich zwei Fragen:

1. Ist es richtig, wenn ich als Sensor dieses
https://www.amazon.de/HALJIA-Gestenerken...745&sr=8-6
oder dieses
https://www.amazon.de/DollaTek-PAJ7620U2...745&sr=8-4
Modell nehme? Und ist es egal welches?

2. Verstehe ich es richtig, dass es egal ist, welchen SDA und SCL Anschluss ich auf dem Zero benutze, solange er nicht anderweitig belegt ist?

Gruß Kaloschke
Zitieren
von Pimoroni waren wir ja schnell wieder weg als die ersten iRadio Versionen erschienen. Damals hatte ich noch keine richtige Vorstellung von I2S.
Das 3W Audioboard mit LCD finde ich aber schon handlich, ein oder zwei zero hab ich auch noch hier. Ich hab dann mal bestellt, auch wenn ich etwas Geld dafür in die Hand nehmen muss. Möglich dass auch DHL wieder etwas draufschlägt. Wie werden sehen. Ein bisschen Spielzeug hab ich auch noch mitbestellt.


.jpg   rechnung.JPG (Größe: 29,67 KB / Downloads: 301)
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
Hallo Kaloschke,

(13.12.2021, 18:19)kaloschke schrieb: Hallo,
während ich voller Vorfreude auf den Displaytreiber von Bernhard warte,...

bevor ich meinen Code ins Github stelle, werde ich ihn noch testen müssen! Ein passendes Display habe ich voraussichtlich morgen in der Post und dann werde ich weiter sehen.
Und da lasse ich mich auch nicht mehr (durch Bemerkungen nach dem Motto "wann ist es endlich soweit") hetzen! Die Zeit die ich brauche, nehme ich mir. Genauso die Entscheidung wann ich eine Lösung für stabil genug halte um sie im Github einzustellen! Das hat sich bewährt, schließlich muss der Code auf zig unterschiedliche Raspberries und zig unterschiedliche Versionen von Betriebssystemen laufen! Wer da zu ungeduldig ist und es nicht abwarten kann, der kann ja selbst zur Tastatur greifen und selbst programmieren.

ABER: Du musst erstmal auch nicht auf meinen Code und meinen Demo-displayd warten! Es gibt eine passende Anbindung des Displays bereits in Linux die hier beschrieben ist:

https://krystof.io/mirroring-raspberry-p...d-display/

Das müsste eigentlich funktionieren! Als Displayd könntest Du dann sogar eine eingeschränkt fotorealistische Skalensimulation (sofern 240x240px es halt zulassen) und auch "normale" Displaydaemonen auf SDL2 oder FLTK-Basis (https://github.com/BM45/iRadio/blob/master/gui.cxx) laufen lassen können.



(13.12.2021, 18:19)kaloschke schrieb: möchte ich schon mal die Gestensteuerung testen.
Dazu habe ich zwei Fragen:




1. Ist es richtig, wenn ich als Sensor dieses
https://www.amazon.de/HALJIA-Gestenerken...745&sr=8-6
oder dieses
https://www.amazon.de/DollaTek-PAJ7620U2...745&sr=8-4
Modell nehme? Und ist es egal welches?

Solange der unterstützte PAJ7620U2-Sensor verbaut ist, ist es eigentlich egal welches Modul von welchem Hersteller bezogen wird.

(13.12.2021, 18:19)kaloschke schrieb: 2. Verstehe ich es richtig, dass es egal ist, welchen SDA und SCL Anschluss ich auf dem Zero benutze, solange er nicht anderweitig belegt ist?

Du musst den SDA/SCL-Anschluß des I2C Busses des Zero benutzen! Siehe Beschreibung im iRadio:

Der PAJ7620U2 wird wie alle I2C-Komponenten des Radios an den I2C-Bus (SDA, SCL) des Raspberry gehangen. Vcc = 3.3 V und GND, die Internruptleitung kann freibleiben, Sie wird im Democode nicht benötigt.

An einen solchen Bus hängen mehrere Teilnehmer, die durch eine I2C-Adresse angesprochen werden. Diese Adresse legst Du hier im Feld PAJ7620U2_I2C_ADDRESS fest https://github.com/BM45/iRadio/blob/mast...AJ7620U2.h falls es eine abweichende Adresse vom Defaultwert ist.

Was dann bei welcher Geste im iRadio gemacht werden soll, steht dann hier: https://github.com/BM45/iRadio/blob/mast...AJ7620U2.c

Und zwar in dem Code-Teil (leider ist durch die Forensoftware die Formatierung etwas verutscht)

Code:
while(1) {
        Gesture_Data = I2C_readU16(PAJ_INT_FLAG1);

        if (Gesture_Data)
        {
            switch (Gesture_Data)
            {
                case PAJ_UP:        printf("Up\r\n");
                                    system("echo \"volup 2\" | nc 127.0.0.1 9294 -N");
                break;

                case PAJ_DOWN:        printf("Down\r\n");
                                    system("echo \"voldown 2\" | nc 127.0.0.1 9294 -N");
                break;

                case PAJ_LEFT:        printf("Left\r\n");
                                    system("echo \"prev\" | nc 127.0.0.1 9294 -N");
                break;

                case PAJ_RIGHT:        printf("Right\r\n");
                                    system("echo \"next\" | nc 127.0.0.1 9294 -N");

                break;

                case PAJ_FORWARD:    printf("Forward\r\n");
                                    if (iRadioOn) {
                                       system("echo \"stop\" | nc 127.0.0.1 9294 -N");
                                       iRadioOn = FALSE;
                                    }
                                    else {
                                       system("echo \"play\" | nc 127.0.0.1 9294 -N");
                                       iRadioOn = TRUE;
                                    }
                break;

                case PAJ_BACKWARD:            printf("Backward\r\n");         break;
                case PAJ_CLOCKWISE:            printf("Clockwise\r\n");         break;
                case PAJ_COUNT_CLOCKWISE:    printf("AntiClockwise\r\n");     break;
                case PAJ_WAVE:                printf("Wave\r\n");             break;
                default: break;

            }
            Gesture_Data=0;

        }

        delay(50);
    }

Daraus wird dann der Daemon gestured gebaut,über das Makefile, welches von install_gestenerkennung.sh aufgerufen wird.
Der gestured liegt nach dem Compilieren in /usr/bin/ . Soll er "scharf" gestellt werden, muss dieser Daemon in /etc/rc.local eingetragen werden. Der Eintrag

#/usr/bin/gestured & # Gestenerkennung starten

ist dabei auszukommentieren.

Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Hallo Bernhard,

vielen Dank für diese ausführlichen Infos. Ich werde es ausprobieren, sowie der bestellte Sensor angekommen ist.
Ich hatte mir die PAJ7620U2.h schon vorher angesehen. Auf Raspberrys gibt es ja einige GPIOs, die mit SDA und SCL beschriftet sind. PAJ7620U2_I2C_ADDRESS beschreibt kein GPIO, deshalb meine Frage. Ich nehme also an, ich muss dann gar nichts machen.

Viele Grü0e
Kaloschke
Zitieren
Ach ja. Bin nicht soo der Linux-Held :-(
Ich habe ja Buster Lite installiert. Da muss ich für eine Ausgabe auf ein Display doch bestimmt noch Software nachinstallieren oder?
Zitieren
(13.12.2021, 20:42)kaloschke schrieb: Auf Raspberrys gibt es ja einige GPIOs, die mit SDA und SCL beschriftet sind.


.jpg   rpi_zero_io_pinouts.jpg (Größe: 44,88 KB / Downloads: 273)

Pin3/5 würde sich ja anbieten. Auf die RICHTIGE Betriebsspannung des Moduls und der Schnittstelle achten! Auch ob zusätzliche Pullup-Widerstände nötig werden.

(13.12.2021, 20:42)kaloschke schrieb: PAJ7620U2_I2C_ADDRESS beschreibt kein GPIO, deshalb meine Frage.

Die Endung _I2C_ADDRESS würde dann nicht passen wenn dort ein GPIO bezeichnet werden soll. Eine I2C_Adresse ist die Teilnehmeradresse auf dem Bus! Siehe auch https://www.analog.com/en/technical-arti...art-1.html

(13.12.2021, 20:42)kaloschke schrieb: Ich nehme also an, ich muss dann gar nichts machen.

Musst Du schauen, ob die Adresse deines Moduls mit dem eingetragenen Wert übereinstimmt. Weiter vorher (#262) haben wir gezeigt, wie man alle Teilnehmeradressen am Bus angezeigt bekommt. Stimmen beide Werte überein, dann muss nichts unternommen werden.


(13.12.2021, 20:42)kaloschke schrieb: Da muss ich für eine Ausgabe auf ein Display doch bestimmt noch Software nachinstallieren oder?

Wirst Du merken wenn dort ein Paket/Befehl fehlt, dann dieses Paket mittels sudo apt-get install Paketname nachinstallieren. Je nach dem welche Grafiklib Du dann in deinem displayd verwenden willst, musst Du diese natürlich auch installieren.
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Dank Dir. Die nächsten Fragen kommen bestimmt  Blush
Zitieren
Hallo,

heute habe ich so ein ST7789-Display bekommen und gleich einmal den oben gezeigten Weg, hier nochmal der Link: https://krystof.io/mirroring-raspberry-p...d-display/ , ausprobiert.

Für neue Betriebssystemimages (Kernel >=5.4) funktioniert die unter "Option 2 – fbcp-ili9341" beschriebene Methode fabelhaft! Nach dem Aufruf der compilierten fbcp-ili9341 erfolgt sofort ein Mirroring auf dem ST7789-Display! Somit steht praktisch die komplette High-Level Unterstützung über FB/X11 zur Verfügung und es können alle dafür geeigneten displayd genutzt werden!

Von unserer Seite gibt es da also auch nichts mehr zu machen oder ins iRadio zu integrieren, das läuft schon. An der Low-Level Unterstützung bin ich dran.

Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
oh, ein alter Bekannter. Den fbcp-ili9341 hatte ich schon öfter für iTV und Kassettensimulation eingesetzt.

z.B.:

Das Simpsons Fernsehen als iTV

Telefunken Partner Compact 101 mit iRadio
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
Das klingt ja gut.
Ich habe auch versucht es umzusetzen, aber leider bisher ohne Erfolg. Mein Display nutzt nach dieser Darstellung
https://de.pinout.xyz/pinout/pirate_audio_speaker
den GPIO 9 als -DGPIO_TFT_DATA_CONTROL wenn ich das richtig verstehe. Ich habe die entsprechende Option bei cmake daher auf 9 gesetzt. Welcher GPIO -DGPIO_TFT_RESET_PIN entspricht, weiß ich leider nicht.
Wie oben schon gesagt, weiß ich auch nicht, was ich vorher evtl. noch installieren muss um eine Anzeige zu erhalten. Mir würde die Ausgabe des VLC erst mal reichen.
Zitieren
diese Angaben hast du bestimmt schon selbst gefunden:

1.3" SPI Colour Square LCD (240x240) Breakout

Code:
Connecting to a Raspberry Pi

If you're not using our Breakout Garden HAT with SPI, then this is how to connect your LCD Breakout up to your Raspberry Pi.

Our Python library is set up to use SPI 0 by default on the Pi (BCM 7 for CS, BCM 11 for SCK, and BCM 10 for MOSI), BCM 9 for DC, and BCM 19 for the backlight.

Here's which pins to connect between your 0.96" LCD Breakout and your Pi's GPIO (note that it's BCM pin numbering):

    3-5V to any 5V or 3V pin
    CS to BCM 7
    SCK to BCM 11
    MOSI to BCM 10
    DC to BCM 9
    BL to BCM 19
    GND to any ground pin

You can of course use other pins with your LCD Breakout, but you'll have to change them accordingly when you instantiate the display in your code.

RESET wird entweder nicht benutzt oder du legst es auf gpio25 laut der Tabelle bei meinem Simpsons-FS mit dem Parameter -DGPIO_TFT_RESET_PIN=25. Und installieren musst du vorher auch nichts. Wenn alles klappt bekommst du die normale Konsolenausgabe auf den TFT. Je nachdem Text oder x11.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
Hallo,

die Pinbelegung dieser Displays kann man beim configure ja festlegen/überschreiben, nützt aber eigentlich nichts, denn das Display-HAT von kaloschke wird ja direkt unterstützt!
Bitte schaut doch mal direkt ins Quellverzeichnis: ls



Zitat:pi@raspberrypi:~/fbcp-ili9341 $ ls
build                        mailbox.cpp
CMakeLists.txt              mailbox.h
config.h                    mem_alloc.cpp
diff.cpp                    mem_alloc.h
diff.h                      mpi3501.cpp
display.cpp                  mpi3501.h
display.h                    mz61581.cpp
dma.cpp                      mz61581.h
dma.h                        pirate_audio_st7789_hat.h
example.jpg                  pitft_28r_ili9341.h
fbcp-ili9341.cpp            pitft_35r_hx8357d.h
framerate_smoothness.jpg    README.md
freeplaytech_waveshare32b.h  spi.cpp
gpu.cpp                      spi.h
gpu.h                        ssd1351.cpp
hx8357d.cpp                  ssd1351.h
hx8357d.h                    st7735r.cpp
ili9341.cpp                  st7735r.h
ili9341.h                    statistics.cpp
ili9486.cpp                  statistics.h
ili9486.h                    text.cpp
ili9486l.h                  text.h
ili9488.cpp                  tick.h
ili9488.h                    tontec_35_mz61581.h
kernel                      util.h
keyboard.cpp                waveshare35b.h
keyboard.h                  waveshare_st7735s_hat.h
LICENSE.txt                  waveshare_st7789vw_hat.h
low_battery.cpp              wrong_colors.jpg
low_battery.h


Wie Ihr sehen könnt, sind dort bereits verschiedene st7789-Displaymodule definiert, von waveshare, aber auch das pirate_audio_st7789_hat. 
Für den Rest bitte in die README.txt mit den Build-Options schauen. Dort steht dann auch drin, wie der "Treiber" als Daemon laufen muss.

Deine Frage "Wie oben schon gesagt, weiß ich auch nicht, was ich vorher evtl. noch installieren muss um eine Anzeige zu erhalten. Mir würde die Ausgabe des VLC erst mal reichen. " verstehe ich nicht wirklich. Was Du für den Treiber zu installieren hast, steht ja im verlinkten Text. Danach musst Du Dich für entscheiden was für einen displayd Du bauen willst, denn der displayd ist ja das Bindeglied zwischen VLC, also dem Internetradio, und deinem Display.

Nochmal: Displayd holt die Infos vom bereits installierten vlc (sonst läuft ja kein Internetradioempfang) und leitet Sendername, Titel, ... (was immer Du darin festlegst) an den Displaytreiber weiter.  Wenn Du jetzt ein displayd auf FLTK Basis installieren willst, musst Du FLTK installieren. Habe ich hier gezeigt: https://radio-bastler.de/forum/showthrea...#pid135451 . Willst Du ein displayd auf SDL2-Basis, musst Du SDL2 installieren. Mit sudo apt-get install libsdl2-* hast Du da alles drin. Für die grafischen displayd brauchst Du aber noch ein x11. Wenn das das OS-Image nicht mitbringt, weil es ein Lite ist, dann findest Du die Lösung dazu (auszugsweise) unter

https://raspberrytips.com/upgrade-raspbi...o-desktop/
https://www.paulligocki.com/add-gui-to-r...i-os-lite/
...
und zig anderen Artikeln zu diesem Thema. WICHTIG: Du brauchst für grafische displayd nur ein X11-System, die grafischen Benutzeroberflächen wie lxde usw. werden nicht gebraucht, da ein displayd nicht mit einer solchen Benutzeroberfläche, sondern direkt mit X11 zu starten ist.

Für SDL2 und FLTK displayds findest Du Beispielcode im iRadio!

Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
(15.12.2021, 09:12)Bernhard45 schrieb: Wenn Du jetzt ein displayd auf FLTK Basis installieren willst, musst Du FLTK installieren. Habe ich hier gezeigt: https://radio-bastler.de/forum/showthrea...#pid135451

Ich vergaß zu erwähnen, dass Du FLTK natürlich nicht aus den Quellen bauen musst. Die FLTK-Bibliothek lässt sich auch ganz einfach über sudo apt-get install libfltk1.3* installieren und dann nutzen.

Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Danke abermals für die vielen Infos.
Zitat:Deine Frage "Wie oben schon gesagt, weiß ich auch nicht, was ich vorher evtl. noch installieren muss um eine Anzeige zu erhalten. Mir würde die Ausgabe des VLC erst mal reichen. " verstehe ich nicht wirklich. Was Du für den Treiber zu installieren hast, steht ja im verlinkten Text. Danach musst Du Dich für entscheiden was für einen displayd Du bauen willst, denn der displayd ist ja das Bindeglied zwischen VLC, also dem Internetradio, und deinem Display.
 
 Die Treiber hatte ich installiert, dazu gibt es auf der von Dir verlinkten Seite eine präzise Anleitung. Der README.MD (Danke für den Hinweis) habe ich entnommen, dass anstatt -DGPIO_TFT_DATA_CONTROL=9 auch die Option -DPIRATE_AUDIO_ST7789_HAT=ON genutzt werden kann. Dies bringt zunächst aber keine Änderung.
 
Die Hinweise in README.MD im Abschnitt "# Boot configuration" irritieren etwas. Es werden zu entfernende Einträge für "dtoverlay" erwähnt ("something like this"), von denen ich nicht weiß, ob damit auch der von Pimoroni vorgegebene Wert "hifiberry-dac" gemeint ist. Falls ja, bleibt der Lautsprecher stumm. "dtparam=spi=on" habe ich entfernt.
 
Welchen displayd ich bauen will? Ich habe nicht die geringste Ahnung, wie ich das anstellen soll und was ich benötige. DASS ich so etwas benötige ist mir schon klar. Habe ja auch geschrieben, dass ich gerne die Ausgabe vom VLC sehen möchte. Woher weiß ich denn, ob ich dazu FLTK oder SDL2 benötige?
Ich habe jedenfalls nach Deiner Anleitung oben FLTK installiert und danach mit 
Code:
sudo apt install xserver-xorg

hoffentlich auch X11. Aber das kann es ja nicht gewesen sein. 
 
Langer Rede kurzer Sinn: Ich kann NUR konkrete Anweisungen befolgen. Für anderes fehlt mir das Wissen. Ich bin gerne bereit mir das eine oder andere anzulesen, aber es muss auch aus Zeitgründen überschaubar bleiben. 
Wenn ich damit zu viel Aufwand erfordere, verstehe ich das vollkommen. Letztlich bin ich ja auch nur auf das Display gekommen, weil es eine nette Zugabe zum Verstärker war. IRadio läuft schließlich :-)
Und ich habe noch nicht mal die Pimoroni-Software ausprobiert, weil ich ja nach Deinen Hinweisen Skrupel an der Performance hatte und das System nicht "verunreinigen" wollte.
Zitieren
Hallo,



(15.12.2021, 20:44)kaloschke schrieb: Die Treiber hatte ich installiert, dazu gibt es auf der von Dir verlinkten Seite eine präzise Anleitung. Der README.MD (Danke für den Hinweis) habe ich entnommen, dass anstatt -DGPIO_TFT_DATA_CONTROL=9 auch die Option -DPIRATE_AUDIO_ST7789_HAT=ON genutzt werden kann. Dies bringt zunächst aber keine Änderung.


Schaue bitte nach, ob hier ein Ressourcenkonflikt vorliegt, also eine andere Komponente bereits einen GPIO benutzt, der für dein HAT wichtig ist! Nach einer Standardinstallation wäre ein solcher im Bereich gpiod zu suchen. Diesen Daemon kannst Du erstmal aus der rc.local rausnehmen, oder temporär (bis zu einem Neustart) mit sudo killall gpiod rauswerfen. Danach den Displaytreiber erneut starten.



Wenn Du im iRadio schon ein paar andere Daemonen gebaut hast, wir wissen es nicht, dann diese auch auf GPIO- Konflikte mit dem HAT kontrollieren!



(15.12.2021, 20:44)kaloschke schrieb: Welchen displayd ich bauen will?

Ja das scheint Dein Problem zu sein. Wenn Du keine Ahnung hast, wohin die Reise bezüglich der zukünftigen Visualisierung von Sender- und Titeldaten gehen soll, woher sollen wir es dann wissen?  Da musst Du selbst eine Entscheidung treffen, zumal Du deinen displayd ja ganz persönlich für deine Lösung anpassen/codieren musst. Auf der Githubseite und auch hier im Forum und auch auf den Seiten von Jupp/Saarfranzose haben wir alle Möglichkeiten behandelt, die sich in den Jahren so hervorgetan haben. Dort steht auch immer dabei auf welchen Bibliotheken der jeweilige displayd aufbaut, wie er compiliert und im iRadio aktiviert wird.




(15.12.2021, 20:44)kaloschke schrieb:
Ich habe nicht die geringste Ahnung, wie ich das anstellen soll und was ich benötige. DASS ich so etwas benötige ist mir schon klar. Habe ja auch geschrieben, dass ich gerne die Ausgabe vom VLC sehen möchte. Woher weiß ich denn, ob ich dazu FLTK oder SDL2 benötige?


Siehe eben geschriebenes. Runter auf Code-Ebene sieht man das an den benötigten Headerdateien oder an den Kommandos in den Buildscripten.



Sowas hier: "g++ sdlskale.cxx -o sdlskale -lSDL2 -lSDL2_image -lSDL2_ttf" zeigt das hier SDL2 benutzt wird, solche Includes



#include <FL/Fl.H>

#include <FL/Fl_Window.H>



das hier FLTK genutzt wird.

Du bist aber nicht auf FLTK oder SDL2 festgelegt, Du kannst auch eine Grafikbibliothek nutzen mit der Du selbst schon Erfahrungen hast.

Wie man an die Daten von vlc kommt, wie man diese über Port 9294 des localhost abfragt, steht als Democode in jedem displayd und technisch wurde das auch schon im iRadio-Thread in diesem Forum gleich ganz am Anfang ausführlich besprochen! LESEN!







(15.12.2021, 20:44)kaloschke schrieb: Ich habe jedenfalls nach Deiner Anleitung oben FLTK installiert und danach mit
Code:
sudo apt install xserver-xorg
hoffentlich auch X11. Aber das kann es ja nicht gewesen sein.


Nun musst Du Dir darauf (wenn es denn FLTK sein soll) einen eigenen displayd bauen. Democode (gui.cxx im Wurzelverzeichnis) ist im iRadio vorhanden, eine Beschreibung dazu findest Du hier im Forum. 

 

(15.12.2021, 20:44)kaloschke schrieb: Langer Rede kurzer Sinn: Ich kann NUR konkrete Anweisungen befolgen.

Die sind auf den oben genannten Seiten vorhanden.


(15.12.2021, 20:44)kaloschke schrieb:
Für anderes fehlt mir das Wissen. Ich bin gerne bereit mir das eine oder andere anzulesen, aber es muss auch aus Zeitgründen überschaubar bleiben.


Dann lies Dir das Wissen an. Das iRadio ist ein Baukastensystem für eigene Radios und gibt nur einen ungefähren Rahmen vor. Es zeigt wie es gemacht werden könnte und gibt dafür Democode vor, der aber keine finale Lösung sein soll! Steht ja gefühlt 100mal da, dass auf der Grundlage jeder Nutzer sein eigenes System zusammenbauen soll. Wer also sein eigenes Radio damit bauen will, muss sich mit der Sache befassen, lesen und auch Zeit investieren. Das haben bisher hunderte Nutzer weltweit gemacht, sogar hier im Forum Leute die vorher nie ein Linux oder einen Compiler in der Hand hatten. Zu schaffen ist es also!



Mir scheint bisher steht bei deinem Konzept einfach noch nicht viel fest, Du ruderst rum weil Du keinen generellen Überblick über die Möglichkeiten hast? Was erwartest Du aber von uns? Sollen wir die zig hundert Posts im Forum nochmal alle hier anhängen? Soll Jupp seine fantastischen Seiten zum iRadio nochmal auf einer anderen Domain hosten? Sollen wir Dir ein Derby Commander fertig umbauen und nur noch zuschicken? Ein Stück weit musst Du selbst DEIN Konzept erarbeiten, Sachen anlesen und ausprobieren.



Was haben wir jetzt?



- Grundinstallation arbeitet offensichtlich, da Ton wiedergeben wird.

- Gestensensor?

- Display + Audio HAT

So, letzteres scheint also schon Audio zu haben, sonst hörst Du keinen Ton. Jetzt musst Du das Display (erstmal ohne displayd) zum Laufen bekommen, also so das der Treiber funktioniert. Dazu haben wir schon einiges geschrieben und auch wo es Probleme geben könnte. Da wir nicht an deinem System sitzen, musst Du also selbst diesen Sachen nachgehen. Funktionieren tun diese Displays mit diesem Controller, habe ich hier vor mir liegen. Prüfen ob es Ressourcenkonflikte gibt, Hardwaredefekte, fehlkonfigurierte Treiber oder SPI-Ports. Schaue auch nochmal nach ob SPI überhaupt aktiv geschaltet ist (am einfachsten über raspi-config). Bedenke auch das bei deinen Gestensensor I2C aktiv geschaltet sein muss.

So mehr Tipps können wir im Prinzip aus der Ferne zunächst nicht geben, alles andere steht ja schon hier im Forum, auf der Githubseite und bei Jupp auf der Homepage zum iRadio.
Jetzt bist Du erst einmal dran, das alles aufzuarbeiten. Danach kann es weitergehen.


Gruß

Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
wenn man, so wie ich auch, kein ausgefuchster Profi ist und Neuland betritt tastet man sich gern erst mal Schritt für Schritt durch, ohne zu wissen wie weit man kommt und wie das Endziel genau aussieht. Es geht doch jetzt erst mal darum per fbcp-ili9341 das display auf dem HAT zum Laufen zu bekommen. Dann kann man weiter darauf aufbauen.
Das hat ja erst mal mit iRadio nichts zu tun, die daemonen kann man also erst mal deaktivieren.

fbcp-ili9341 steht und fällt mit dem cmake-string. Hier wird nicht nur der richtige Treiber festgelegt, sondern auch wie performant das System nachher wird. Das legt hauptsächlich der Bus-divisor fest. DMA musste ich bis jetzt immer abschalten. Der Schalter für das pimoroni-board gehört natürlich auch da rein.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
Richtig Jupp,

erstmal muss der Treiber fürs Display funktionieren, darauf greift dann X11 zu und erst dann kommt der displayd (in FLTK, SDL2, QT, ... geschrieben) zur Anwendung. Deshalb gern nochmal:


Zitat:So, letzteres scheint also schon Audio zu haben, sonst hörst Du keinen Ton. Jetzt musst Du das Display (erstmal ohne displayd) zum Laufen bekommen, also so das der Treiber funktioniert. Dazu haben wir schon einiges geschrieben und auch wo es Probleme geben könnte. Da wir nicht an deinem System sitzen, musst Du also selbst diesen Sachen nachgehen. Funktionieren tun diese Displays mit diesem Controller, habe ich hier vor mir liegen. Prüfen ob es Ressourcenkonflikte gibt, Hardwaredefekte, fehlkonfigurierte Treiber oder SPI-Ports. Schaue auch nochmal nach ob SPI überhaupt aktiv geschaltet ist (am einfachsten über raspi-config). Bedenke auch das bei deinen Gestensensor I2C aktiv geschaltet sein muss.



Wir wissen nicht was Du schon an deiner iRadio-Installation ausprobiert hast und welche Installer du schon aufgerufen hast, aber ich hole gern nochmal das Bild der Pinbelegung der Raspberrys vor:

[Bild: attachment.php?aid=84447]

Die Daemonen wurden zur Demonstation mal mit der BCM-Lib, mal mit wPi geschrieben! Achtung diese Bibliotheken haben unterschiedliche Nummern für die Pins! Jetzt kommt die Pinbelegung deines Pimoroni Audio HAT

https://de.pinout.xyz/pinout/pirate_audio_speaker#

Nach einer frischen Installation des iRadios, ist zunächst ein gpiod für die Tastensteuerung aktiv, der Code ist hier https://github.com/BM45/iRadio/blob/master/gpiod.c , die Pinnutzung sieht also so aus

Code:
/ Tasteranschluesse
#define PIN_PRG_HOCH RPI_GPIO_P1_11
#define PIN_PRG_RUNTER RPI_GPIO_1_12
#define PIN_PRG_HALT RPI_GPIO_P1_08
#define PIN_PRG_WEITER RPI_GPIO_P1_10

Diese Pins werden dann als Eingang mit internen Pullup geschaltet!

Alle solche Sachen müssen bei der Einrichtung bedacht werden, wie ich schon geschrieben habe!

Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
Hallo,
bevor ich hier meinen ersten Post abgesetzt hatte, habe ich diese FAQ, den Thread zum iRadio und natürlich die Github-Seite vollständig und teilweise mehrfach gelesen. Ich bin kein Programmierer oder Linuxexperte. Dass es Hunderte gibt, die alles können, was ich nicht kann, ist selbstverständlich, hilft mir aber nicht. Es sind im übrigen viel viel mehr!
Ich finde diese Projekt großartig und ich dachte, ich frag einfach mal. Aber wenn ich wissen muss, was ein displayd im Detail macht und wie man in "baut", dann bin ich einfach im falschen Forum. Tut mir leid, dass ich Euere Zeit verschwendet habe.
Ich erwarte hier gar nichts!
Ich habe vielmehr ein Menge bekommen. VLC läuft, ein paar Tasten bekomme ich sicherlich auch noch angeschlossen. Alles gut soweit. Meine Zeit ist derzeit etwas begrenzt, aber im nächsten Jahr werden ich sicherlich dazu kommen die Tipps noch einmal zu checken.
Bin dann erstmal raus hier.
Vielen Dank und schöne Feiertage.
Zitieren
Hallo kaloschke,

ja etwas Zeit muss man für den Einstieg in dieses Baukastensystem schon investieren, um das Zusammenspiel aller Module (Daemonen) zu verstehen. Wir haben uns damals extra dafür entschieden alles modular aufzubauen, um schnell neue Funktionen und/oder neue Hardware integrieren zu können.  Ich denke auch, dass wir das hier, auf der Githubseite und auch in Jupps Tutorials immer ausreichend kommuniziert haben. Ebenso wie das alles über Methoden der Interprozesskommunikation zusammenhängt und welche Möglichkeiten sich daraus ergeben.

Wir haben zu jeder Funktion, zu jedem Daemon absichtlich schlanken Beispielcode dazugelegt, aber absichtlich keinen Code für komplett fertig durchgestylte Radios. Warum? Weil jeder doch irgendwo sein eigenes Radio bauen will. Der eine möchte Tasten hierfür, Drehencoder dafür, der andere will für Sendernamen Schriftgröße ... in blau, der andere braucht dort eine Signalstärkenanzeige oder ein Icon-System in der Menüführung, der Nächste will fotorealistische Skalensimulationen. ...

Für alles haben wir übersichtlichen Democode im iRadio, mit dem, wie mir mehrfach mitgeteilt wurde, auch Programmierneulinge den Einstieg schaffen. Leute die vorher noch nicht einmal ein "Hello World"-Programm geschrieben haben, aber durch etwas Zeitaufwand und "Lust am Lernen" ganz wunderbare Radios oder Internetfernseher bauen konnten. Das das iRadio damit tatsächlich auch zu einem Programmierkurs für Einsteiger wird, habe ich zu Beginn nie vermutet. Es zeigt aber, dass wir mit unserer Vorgehensweise dann doch nicht alles falsch gemacht haben.


(16.12.2021, 21:54)kaloschke schrieb: Ich finde diese Projekt großartig ...

Vielen Dank nochmals.

(16.12.2021, 21:54)kaloschke schrieb: Aber wenn ich wissen muss, was ein displayd im Detail macht und wie man in "baut", dann bin ich einfach im falschen Forum. Tut mir leid, dass ich Euere Zeit verschwendet habe.

Ja leider ist das für eine eigene angepasste Lösung und ein eigenes Radio nicht ganz ohne Bedeutung. Ohne dieses hintergründige Verständnis für das "Ganze" schaut man sprichwörtlich wie ein Schwein ins Uhrwerk.

Soll ich Dir was sagen? Als es das iRadio noch nicht gab und ich mit diesem Projekt gestartet bin (https://radio-bastler.de/forum/showthrea...#pid131779) , welches zum iRadio führen sollte, ging mir das mit der Software von Pimoroni nicht anders als wie Dir gerade jetzt! Durch Ausdauer und absoluten Willen habe ich diese Software dann auf Codeebene angeschaut und mich durchgebissen. Allerdings hatte ich den Vorteil über 30 Jahre auf Unix  unterwegs zu sein und auch C/C++ lesen zu können. Hat dennoch einige Zeit gedauert rauszufinden was Pimoroni macht und wie die Interfaces von VLC funktionieren.  Es lohnt sich also durchaus dran zu bleiben.

Ob das hier das falsche Forum ist um Hilfe für das iRadio zu bekommen? Nein, mit Sicherheit nicht. Hier sind die Leute unterwegs die das ganze System zusammengebaut haben und darüber am Besten berichten können. Aber, wenn man absolut unerfahren startet, dazu wenig Zeit für ein Resultat hat und quasi von 0 auf 100 in 3.8 Sekunden sein muss, dann ist das iRadio möglicherweise nicht die passende Basis. Da gibt es sicher einfachere Lösungen, wo man nur eine fertig compilierte Firmware flashen muss und ein Ergebnis von der "Stange" hat.

Unsere Zeit hast Du jedenfalls nicht verschwendet, vielleicht haben wir das mit deiner Zeit gemacht, weil unser Baukasten nicht ganz zu deinem Vorhaben passt und zunächst zu viel abverlangt.

(16.12.2021, 21:54)kaloschke schrieb: VLC läuft, ein paar Tasten bekomme ich sicherlich auch noch angeschlossen. Alles gut soweit. Meine Zeit ist derzeit etwas begrenzt, aber im nächsten Jahr werden ich sicherlich dazu kommen die Tipps noch einmal zu checken.
Bin dann erstmal raus hier.
Vielen Dank und schöne Feiertage.

You're welcome! Ebenfalls schöne Feiertage.
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  iRadioPico - iRadio Portierung für Raspberry Pico/Pico W und RP2040 Boards OttoBerger 33 1.020 30.04.2024, 11:19
Letzter Beitrag: saarfranzose
  iRadioAndroid - iRadio Portierung für Android Geräte OttoBerger 154 10.481 23.03.2024, 13:45
Letzter Beitrag: Uli
  Saba TV-Journey mit iRadio saarfranzose 6 2.167 20.07.2023, 20:22
Letzter Beitrag: saarfranzose
  Raspberry iRadio, heavy duty Emmpunkt 5 1.130 27.03.2023, 17:58
Letzter Beitrag: saarfranzose
  russisches 6N-1 mit iRadio und RGB-Panel saarfranzose 10 1.874 11.03.2023, 15:00
Letzter Beitrag: saarfranzose

Gehe zu: