Forum: Mikrocontroller und Digitale Elektronik Ambilight mit STM32F4discovery und TVP5150AM1


von Pit S. (pitschu)


Lesenswert?

Armin schrieb:
> Hat der STM noch genügend Reserven einen Mittelwert übers ganze Bild zu
> rechen? Was haltet ihr von der Idee?

Für die Mittelwerbestimmung sollten genügend Reserven vorhanden sein, am 
einfachsten lässt sich das in der vorhandenen Berechnung der 4 Kanten 
unterbringen. Da wird sowieso schon Mittelwert, Min und Max berechnet.

von Michael (Gast)


Lesenswert?

Leider verstehe ich das Ganze noch nicht komplett. Kann mir bitte jemand 
meine Denkfehler nennen und auf die Sprünge helfen?

Zuerst mal die Grundlagen:
Ein kompletter Frame hat 720 x 576 Pixel und wird als zwei Halbbilder 
übertragen (also nacheinander zwei mal 720 x 288 Pixel)
Zwei nebeneinander liegende Pixel werden im Format <Cb><y1><Cr><y2> 
übertragen => 4 Bytes für 2 Pixel
(720 Pixel / 2 ) * 4Bytes = 1440Bytes Nutzdaten pro Zeile
Dazu kommt der Overhead (Front porch = 20 bytes, sync width = 128 bytes, 
back porch = 140 bytes) = 1728 Bytes Gesamt pro Zeile
soweit einigermaßen klar
Zu den Zeilen steht im Code „625 Zeilen pro Frame“ und „front porch = 
2.5 lines, sync width = 6 lines, back porch = 15 lines“ – da komme ich 
nicht drauf. Und was soll denn das mit den halben Zeilen??


Zur Analyse der Daten:

In der TVP5150startCapture() wird der Crop Bereich auf die linke 
Bildhälfte gesetzt.

DCMI_Crop.DCMI_CaptureCount = captureWidth - 1; //668-1 bedeutet 667 
Bytes oder Pixel????
DCMI_Crop.DCMI_HorizontalOffsetCount = cropLeft; //168 Overhead am 
Anfang der Zeile?
DCMI_Crop.DCMI_VerticalLineCount = cropHeight - 1; //274-1 Anzahl der 
Zeilen???
DCMI_Crop.DCMI_VerticalStartLine = cropTop; //20 Zeilen Overhead am 
Anfang des Frames?

Vermutlich wird da jetzt der Bereich auf die linke Hälfte (334 Pixel) 
des ersten Halbbildes (nur 273 Zeilen) beschnitten oder wie?

Nach jeder (halben) Zeile wird DMA2_Stream1_IRQHandler() aufgeführt.
Hier werden die Daten von YCbCr_buf [] zu den bereits vorhandenen in 
YCbCrSlots[] addiert


Der DCMI_IRQHandler() wird immer ausgelöst wenn ein Halbbild komplett 
übertragen wurde.
Zuerst wird der CROP-Bereich auf die rechte Seite gestellt, bzw. eben 
auf die Seite die zuvor nicht aktiv war.


Soviel fürs erste und vorab schon mal Danke fürs helfen.

von Pit S. (pitschu)


Lesenswert?

Michael schrieb:
> Zu den Zeilen steht im Code „625 Zeilen pro Frame“ und „front porch =
> 2.5 lines, sync width = 6 lines, back porch = 15 lines“ – da komme ich
> nicht drauf. Und was soll denn das mit den halben Zeilen??

Die 625 Zeilen werden als 2 Halbbilder zu 312.5 lines gesendet. Damit 
die Zeilen versetzt am Bildschirm erscheinen, wird mit 1/2 Zeile Versatz 
gearbeitet. Nach den 288 Bildzeilen eines Frames kommen demnach 24.5 
Zeilen V-Sync.

> DCMI_Crop.DCMI_CaptureCount = captureWidth - 1; //668-1 bedeutet 667
> Bytes oder Pixel????
> DCMI_Crop.DCMI_HorizontalOffsetCount = cropLeft; //168 Overhead am
> Anfang der Zeile?
> DCMI_Crop.DCMI_VerticalLineCount = cropHeight - 1; //274-1 Anzahl der
> Zeilen???
> DCMI_Crop.DCMI_VerticalStartLine = cropTop; //20 Zeilen Overhead am
> Anfang des Frames?

Das DCMI interface benötigt 0-basierte Werte, d.h. ein CaptureCount von 
667 heißt, dass 668 byte übertragen werden. Die angegebenen Werte des 
Crop-Windows sind spezielle Werte für meinen Philips Fernseher. Da ein 
konkreter Fernseher nicht das gesamte 720x288 Bild zeigt, sondern an 
allen Seiten ein Stück innerhalb des Bildes beginnt (um schwarze Kanten 
zu vermeiden), beginnt das Crop-Window z.B. bei 168 und ist 668 byte (= 
334 pixel) lang.
Alle Crop-Werte sind ja individuell einstellbar und dmit auf jeden 
Fernseher zu justieren. Das Ambiligt soll ja z.B. die Farbe des linken 
sichtbaren Bereichs darstellen und nicht den theorethischen Anfang des 
PAL-Bildes, der ja weiter links vom sichtbaren Bereich liegen kann.

>
> Vermutlich wird da jetzt der Bereich auf die linke Hälfte (334 Pixel)
> des ersten Halbbildes (nur 273 Zeilen) beschnitten oder wie?

Genau, es wird in - und Y-Richtung aus o.g. Gründen beschnitten.

>
> Nach jeder (halben) Zeile wird DMA2_Stream1_IRQHandler() aufgeführt.
> Hier werden die Daten von YCbCr_buf [] zu den bereits vorhandenen in
> YCbCrSlots[] addiert
>
Genau so

>
> Der DCMI_IRQHandler() wird immer ausgelöst wenn ein Halbbild komplett
> übertragen wurde.
> Zuerst wird der CROP-Bereich auf die rechte Seite gestellt, bzw. eben
> auf die Seite die zuvor nicht aktiv war.
>
Korrekt

von Bernhard D. (bdrescher)


Lesenswert?

Hallo, haben nun endlich alles aufgebaut und getestet. Die Kombination 
über Splitter und Konverter funktioniert fehlerfrei und ohne 
erkenntliche Bildverzögerung. Das Ambilight sieht spitze aus! Erstmal 
vielen Dank für die ganze Arbeit, die in dieses Projekt gesteckt wurde.

Mir ist nur etwas aufgefallen und wollte mal nachfragen, ob ihr eine 
Lösung wisst.
1. Der I2C-Kanal spinnt manchmal.
Nach fertiger Bestückung habe ich die Platine testweise ohne LEDs 
angesteckt mit dem Erfolg, dass der I2C Kanal gesponnen hat. Kein 
Clock-Signal sondern nur kurze Spikes im us-Bereich, in dem logisch 0 
angezeigt wird + irreguläres SDA Signal. Jetzt funktioniert es jedoch 
einwandfrei bei jedem Test. Was könnte da los gewesen sein? (Kontroller 
lieferte immer nur 0x00 im Protokoll)

2. Kurzweilige Konfigurationsänderungen. Manchmal wechselt der Status am 
Eingangssignal kurzfristig auf 0x00. Hier vermute ich wieder einen 
Spinner im I2C-Kanal. Daraus resultieren dann "Grüne" Bereiche im 
Ambilight, die jedoch sofort wieder verschwinden.

3. Wie genau sind jetzt die 4 LEDs am Discovery in Funktion? Meine grüne 
blinkt munter dauerhaft vor sich hin, die Orangene und Rote leuchten 
manchmal, aber nicht immer.

Hat jemand ähnliches beobachten können?

Gruß Bernhard

PS: Noch eine kurze Frage. Die 2 ersten WS2812B Leds auf der Oberseite 
meines Fernsehers sind ständig aus, jedoch nicht defekt, da das Signal 
ja weitergereicht wird. Wie geht das?

: Bearbeitet durch User
von Waldemar (Gast)


Lesenswert?

Wenn du das Layout der Platine nicht verändert hast, dann fehlt am I2C 
ein Pull-Up... guck auf den Schaltplan aus dem aller ersten Post.

Meine LEDs blinken/leuchten auch irgendwie alle. Da das AL funktioniert, 
habe ich da nicht weiter geforscht.

Danke nochmal für die Platinen!

Hat sich nach dem Splitter an der Bild Qualität irgendwas geändert (HD)? 
Kannst du bitte mal posten welchen du verwendest?
Habe vor den kompakten von Amazon für 25€ zu holen...

Gruß

von Bernhard D. (bdrescher)


Lesenswert?

Hallo,
Selbst mit pullup sponn das signal, deswegen war ich ja so verwirrt.
Ich würde auch gern rausfinden wie denn nun die marke heißt. Ich habe 
ihn günstig auf ebay ersteigert ein 1 zu 8 (nein er ist nicht grade 
klein) splitter ohne marke ohne modellnummer.
Es steht nur folgendes auf dem Gehäuse:
High density series hdmi splitter
Und ein großes W mit der unterschrift Watermark
Habe leider keine infos zu dem teil gefunden. Habe keine nennenswerte 
unterschiede gesehen in der Bildqualität.
Gruß Bernhard

von hagbard (Gast)


Lesenswert?

Bernhard Drescher schrieb:
> PS: Noch eine kurze Frage. Die 2 ersten WS2812B Leds auf der Oberseite
> meines Fernsehers sind ständig aus, jedoch nicht defekt, da das Signal
> ja weitergereicht wird. Wie geht das?

Das kommt mir irgendwie bekannt vor. Das habe ich schon häufiger im 
Zusammenhang mit den Stripes gelesen. Ich weiß nur nicht mehr, was der 
Grund und die Lösung war...

von hagbard (Gast)


Lesenswert?

Beitrag "Re: Lightweight WS2811/WS2812 Library"

Da kann man viel dazu lesen...

von Pit S. (pitschu)


Lesenswert?

Bernhard Drescher schrieb:
> 3. Wie genau sind jetzt die 4 LEDs am Discovery in Funktion? Meine grüne
> blinkt munter dauerhaft vor sich hin, die Orangene und Rote leuchten
> manchmal, aber nicht immer.

Ich sollte wirklich mal meine Doku fertig machen.
Bei der Entwicklung der Sortware dienten die LEDs als debug ports für 
Oszi-Messungen. Das ist immer noch drin und daher blinken die munter 
drauf los.
Die 4 LEDs werden wie folgt angesteuert:
   ROT     toggelt mit Hsync
   ORANGE  toggelt mit Vsync
   BLAU    toggelt mehrfach in der main() bei Aufruf diverser Funktionen
   GRÜN    toggelt mit Flanken vom IR-Decoder

Je mmehr Frün blinkt (ohne dass eine IR-Bedienung betätigt wird), desto 
mehr Störlicht scheint in der Umgebung zu sein. Rot, Orange und Blau 
sind eigentlich immer aktiv, auch wenn gar kein Signal anliegt. Das 
kommt daher, dass der TVP5150 so parametriet ist, dass er einen blauen 
Bildschirm zeigt, falls nichts ankommt. In dem Fall werden die Ambilight 
LEDs aber abgeschaltet (wird über den TVP-Status detektiert).

Bernhard Drescher schrieb:
> PS: Noch eine kurze Frage. Die 2 ersten WS2812B Leds auf der Oberseite
> meines Fernsehers sind ständig aus, jedoch nicht defekt, da das Signal
> ja weitergereicht wird. Wie geht das?

Was meinst du mit "die ersten 2 LEDs ..."? Sind die links oder rechts 
oder wo?

von Bernhard D. (bdrescher)


Lesenswert?

Habe mich da falsch ausgedrückt, die ersten beiden LEDs am oberen Strip, 
also LED nummer 30-31 ca. Deswegen finde ich es ja so komisch. Ein Crop 
fehler kann es nicht sein, da ja die LEDs der (von vorne) rechten Seite 
ein astreines Signal bekommen und auch mit dem Bildschirm über 
einstimmen. und auch die LEDs danach so funktionieren wie sie sollen.

von pitschu (Gast)


Lesenswert?

Bernhard Drescher schrieb:
> Habe mich da falsch ausgedrückt, die ersten beiden LEDs am oberen
> Strip,
> also LED nummer 30-31 ca. Deswegen finde ich es ja so komisch. Ein Crop
> fehler kann es nicht sein, da ja die LEDs der (von vorne) rechten Seite
> ein astreines Signal bekommen und auch mit dem Bildschirm über
> einstimmen. und auch die LEDs danach so funktionieren wie sie sollen.

Also oben rechts - sind die beiden komplett AUS (schwarz) oder glimmen 
sie?

von Bernhard D. (bdrescher)


Lesenswert?

Komplett dunkel, nicht mal ein Leuchten. In dem von hagbard geposteten 
Link erwähnte einer abgelöste Bonds / thermische Probleme. Wenn ich am 
Wochenende wieder beim Fernseher bin, überprüf ich mal ob es vlt eins 
dieser Probleme ist. Software sollte ja nicht das Problem sein ;)

Ich erwarte übrigens noch 2 Rückmeldungen von Bachleitner und Kunze 
wegen den Platinen. Falls die Emails nicht ihr Ziel erreicht haben, 
erreiche ich euch vielleicht hier :)

von hagbard (Gast)


Lesenswert?

Ich habe da mal einige Fragen:
Kann das Ambilight ohne die Fernbedienung betrieben werden, oder lässt 
es sich dann nicht einschalten?
Hat jemand eine Idee, wie ich das ohne originale FB zum Anlernen mit 
einer Harmony One hinbekomme?
Welche Art der Einspeisung für die LEDs empfehlt ihr für einen 42" TV?
Also wo an den Stripes, wie oft und was für ein Netzteil?
Danke!

von Waldemar (Gast)


Lesenswert?

Es wäre nicht schlecht, wenn man den Thread in Ruhe durchliest, damit 
erspart man sich einige Fragen (oder Strg+F) (dauert nicht lange)

hagbard schrieb:
> Ich habe da mal einige Fragen:
> Kann das Ambilight ohne die Fernbedienung betrieben werden, oder lässt
> es sich dann nicht einschalten?
Beitrag "Re: Ambilight mit STM32F4discovery und TVP5150AM1"
über blauen Knopf


> Hat jemand eine Idee, wie ich das ohne originale FB zum Anlernen mit
> einer Harmony One hinbekomme?
Musst die verwendete FB auf deine Harmony anlernen, oder ...
nutze die serielle Verbindung über Micro-USB-Schnittstelle
Beitrag "Re: Ambilight mit STM32F4discovery und TVP5150AM1"


> Welche Art der Einspeisung für die LEDs empfehlt ihr für einen 42" TV?
Beitrag "Re: Ambilight mit STM32F4discovery und TVP5150AM1" ist bei mir so 
installiert (46")


> Also wo an den Stripes, wie oft und was für ein Netzteil?
Eine RGB-LED (von mir gemessen: alle Farben voll ausgesteuert, bei 5m, 
150 LEDs, doppelte Einspeisung) zieht etwa 28mA-30mA -> rechne es dir 
aus
hier ein Anhaltspunkt -> http://www.keiang.de/Content-pid-56.html


> Danke!

von Waldemar (Gast)


Lesenswert?

Waldemar schrieb:
>> Welche Art der Einspeisung für die LEDs empfehlt ihr für einen 42" TV?
> Beitrag "Re: Ambilight mit STM32F4discovery und TVP5150AM1" ist bei mir
> so
> installiert (46")

OHNE "GESTRICHELTE" LEITUNGEN

von hagbard (Gast)


Lesenswert?

Danke :-)

von Dieter S. (Gast)


Lesenswert?

Guten Tag,

ist es viel Aufwand, den Dateneinspeisepunkt auf die andere Seite zu 
verlegen oder sogar einstelltbar zu machen?
Momentan ist er bei normaler Draufsicht aufs TV unten rechts.
Das Programm muss ja wissen, wo der 1. Pixel sitzt, also kann man es 
nicht einfach anders aufbauen.
Ich habe nicht in den Code geguckt, da ich mir das momentan nicht 
zutraue, daher frage ich einfach mal.
Gruß und Dank
Dieter

von Waldemar (Gast)


Lesenswert?

Beitrag "Re: Ambilight mit STM32F4discovery und TVP5150AM1"

Dieses Bild zeigt die Rückseite des Fernsehers, somit hast du es richtig

von Dieter S. (Gast)


Lesenswert?

Hm. Das war aber nicht die Frage. Ich hab verstanden wie rum es momentan 
sein soll. Ich hätte es aber gerne andersherum... Ist halt einfach eine 
Frage, auf welcher Seite des Fernsehers mehr Platz ist.

von Dieter S. (Gast)


Lesenswert?

Ansonsten werden halt einfach die Kabel länger...

von Waldemar (Gast)


Lesenswert?

Beitrag "Re: Ambilight mit STM32F4discovery und TVP5150AM1"

Hatte die selbe Frage gestellt gehabt....

von Dieter S. (Gast)


Lesenswert?

Oh ja, sorry!

von hagbard (Gast)


Lesenswert?

Hallo,

ich habe mein Ambilight nun auch endlich aufgebaut und angeschlossen.
Die Erweiterungsplatine habe ich von Bernhard.
LED Anschlussschema nach Keiang wie hier schon genannt. Auf der langen 
Seite 54 und auf der kurzen Seite 30 LEDs. Hab es über das USB Terminal 
auch eingestellt.
Im Moodlight gehen alle LEDs.
Im Ambilight gehen folgende LEDs nicht:
Obere Reihe in Datenrichtung LEDs 1-3 und 31-34.
Untere Reihe in Datenrichtung LED 7 und 34-37.

Hat jemand eine Idee dazu?
An PB8 habe ich auf der Erweiterungsplatine noch einen 4k7 Pullup fürs 
I2C angelötet. Das sollte es also nicht sein.

Und wie stelle ich z.B. Brightness über die FB ein?
White und dann Brighness Up/Down funktioniert bei mir nicht.
Ich nutze aber auch wie Dieter S. eine Harmony und habe vom Logitech 
Support einen LED Controller freigeschaltet bekommen, der ansonsten alle 
Tasten der 44 Tasten FB bereitstellt. Evlt. liegt es daran... Ich kann 
anscheinend auch den PWR Knopf nicht lange drücken, um in den Standby zu 
kommen.

Ansonsten hatte ich kurzzeitig als IR Empfänger eine TSOP31236 dran, der 
geht auch, hat allerdings ein anderes Pinout, was man beachten muss.
Den hatte ich genommen, weil es den bei Reichelt gab.
Jetzt ist ein TSOP38136 wie aus der Teileliste dran.

Für die beiden Ferittbeads FB1 und FB3 habe ich einfach Lötbrücken 
gesetzt.

HDMI Splitter und Konverter zu FBAS habe ich von Amazon für zusammen 
~50€.
http://www.amazon.de/dp/B0081FDFMQ/ref=pe_386171_37038021_TE_M3T1_dp_1
http://www.amazon.de/Generic-Mini-HDMI-AV-Konverter-Videorecorder/dp/B00AASZUUM/ref=sr_1_1?ie=UTF8&qid=1405014547&sr=8-1&keywords=mini+hdmi2av
Bluerays mit Kopierschutz schienen zu funktionieren!

Ein 5V 10A Netzteil habe ich über Ebay direkt aus China für ca 14€ 
bestellt, es ist aber noch nicht da. Momentan nutze ich ein 
Labornetzteil.
http://www.ebay.de/itm/AC-DC-5V-10W-15W35W-50W-100W-150W-Universal-Regulated-Switching-Power-Supply-PSU-/201111943301?ssPageName=ADME:X:DERP:DE:1123

von hagbard (Gast)


Lesenswert?

hagbard schrieb:
> Und wie stelle ich z.B. Brightness über die FB ein?
> White und dann Brighness Up/Down funktioniert bei mir nicht.

Funktioniert doch. Im USB Terminal sehe ich die Wertänderung, nur die 
Helligkeitsänderung war so gering, dass es nicht auffiel.

Nur in den Standbymode komme ich nicht.

Und die besagten LEDs funktionieren im Ambilightbetrieb nicht.
Muss ich noch was anderes einstellen? Blocksize? Oder kann das Bild 
verschoben sein? Aber ich erkenne kein direktes Muster bei den LEDs die 
ausbleiben.

von Jan B. (berge)


Lesenswert?

Hab mich auch mal an die Platine gesetzt (von Bernhard die). Ich habe 
für die FBs jetzt jeweils 1uH verwendet. Passt das?

@Tommy: Kannst du das Coocox Projekt mal hochladen? Dann brauche ich 
nicht selbst eins erstellen :) Danke!

von hagbard (Gast)


Lesenswert?

Diese zwei grünen LEDs als Bestätigung sind Absicht, oder?

von hagbard (Gast)


Lesenswert?

Irgendwie hatte sich wohl meine Width LED Anzahl wieder verstellt.
Jetzt habe ich oben links 2 LEDS und in der Mitte auch zwei LEDs die 
nicht gehen (Backview). Unten sind in der Mitte 3 LEDs und links auch 3 
LEDs die nicht leuchten. Das bekomme ich auch mit kleineren oder 
größeren "L" Werten nicht weg.

von Tommy R. (tommy_r)


Angehängte Dateien:

Lesenswert?

@hagbard:
Ich hatte das gleiche Problem wie du. Einige meiner LEDS blieben 
Schwarz. Es waren einige Stellen im Code, die mir nicht ganz sauber 
erschienen. Leider weiß ich nicht mehr genau was exakt dazu geführt hat, 
dass dieses Problem behoben wird.

Bspw. wurde ein Interrupt nicht abgefangen, der nach ca. einem Tag das 
Ambilight zum Absturz bringt, weil der Buffer schlichtweg überlief. 
Vielleicht hat Pitschu solche Bugs bereits in der aktuellen Version 
gefixed.


Im Anhang das CooCox-Projekt, das ich verwende.

*ACHTUNG*: Diese Version ist mit der ursprünglichen Pin-Belegung NICHT 
kompatibel!
Falls ihr die Software also nutzen wollt, müsst ihr die entsprechenden 
Stellen im Code ändern. (Als guter Anhaltspunkt: schaut euch die 
Pins.txt an!)

In dieser Version ist die Pin-Belegung geändert! Ich habe Ende letzten 
Jahres mal meine ursprüngliche Platine überarbeitet und das ging mit ein 
paar Pin Veränderungen einfach besser. :)

Dinge, die ich angepasst hatte:
- Viele Parameter zur Farbanpassung
- Weißpunkt über Look-Up-Table eingestellt (ich hatte damals die WS2812B 
mit dem Kolorimeter gemessen)
- Gamma-Anpassung
- kompatibel mit dieser Fernbedienung: 
http://www.ledlager.de/images/artikel/zoom/led_remote_control_stripe.jpg
- Hash wird generiert um zu erkennen, welcher Knopf auf FB gedrückt 
wurde. Kann also simpel auf jede andere Fernbedienung umgestellt werden.
- 50 Hz Ausgabe
- Settings können über FB geändert werden
- Settings können im Flash gespeichert werden
- Settings werden bei Start aus dem Flash geladen

Vielleicht hilft das dem ein oder anderen weiter...

Gruß
Tommy

von Bernd F. (Gast)


Lesenswert?

Danke Tommy.
Bei anderen scheint es ja zu laufen.
Ich versuche mich mal bei Gelegenheit an deiner Version.
Funktioniert sie denn noch mit der alten FB?
Gibt es noch Ideen zur "originalen" Firmware?

von Bernd F. (Gast)


Lesenswert?

Übrigens, falls es jemanden interessiert:
Um die 44 Tastenfernbedienung mit einer Harmony zu ersetzten könnt ihr 
den Support mit der Bitte anschreiben, zu eurem Benutzerkonto ein Gerät 
mit der Modellnummer "LED-618" und dem Hersteller "LED" hinzu zufügen.
Dann braucht man die FB nicht zum Anlernen :-)

von Tommy R. (tommy_r)


Lesenswert?

Ich glaube mir dämmert es gerade ganz dunkel wegen dieser schwarzen 
LEDs. Das muss mit der Initialisierung oder der ordentlichen 
Deklarierung vom Array, das die RGB Daten beinhaltet, zusammenhängen.

Ich habe mal meine main.c/tvp_dcmi.c mit Pitschus verglichen.
1
rgbIcontroller_t  rgbImage [2*LEDS_X + 2*LEDS_Y];
2
volatile rgbIcontroller_t rgbImage [LEDS_PHYS] = {{0}};

und
1
volatile rgbValue_t   rgbSlots [SLOTS_Y][SLOTS_X];
2
volatile rgbValue_t   rgbSlots [LEDS_Y][LEDS_X] = {{{0}}};

So etwas in der Richtung muss es gewesen sein. Kannst ja mal probieren 
und diese Zeilen ersetzen.

: Bearbeitet durch User
von hagbard (Gast)


Lesenswert?

Bei Pitchu in der main.c steht in Zeile 36/37:
1
// rgbImage is a scaled imgae of the raw video image blocks. It can be sized from 1x1 to 48x30
2
rgbIcontroller_t  rgbImage [2*SLOTS_X + 2*SLOTS_Y];
Ich habe 54x30...
Vielleicht ist das schon das Problem?

Im Excelsheet Bedienung V1.1.xlsx steht:
Set image high [288]
Set image width [334]
Wobei der Wert in Klammer wohl ein Defaultwert sein soll?

von hagbard (Gast)


Lesenswert?

In ws2812.h steht im Kommentar:

04.05.2014  pitschu    dynamic LED strip size (max is 80 x 60)

wobei im Code folgendes steht:
1
#define    LEDS_XMAX    96
2
#define    LEDS_YMAX    60
3
#define    LEDS_MAXTOTAL  (2*LEDS_XMAX+2*LEDS_YMAX)      // MAX physical leds on stripe
...sollte also mit 54x30 gehen.

von Pit S. (pitschu)


Lesenswert?

hagbard schrieb:
> Bei Pitchu in der main.c steht in Zeile 36/37:// rgbImage is a scaled
> imgae of the raw video image blocks. It can be sized from 1x1 to 48x30
> rgbIcontroller_t  rgbImage [2*SLOTS_X + 2*SLOTS_Y];
> Ich habe 54x30...
> Vielleicht ist das schon das Problem?

hagbard schrieb:
> 04.05.2014  pitschu    dynamic LED strip size (max is 80 x 60)
>
> wobei im Code folgendes steht:#define    LEDS_XMAX    96
> #define    LEDS_YMAX    60
> #define    LEDS_MAXTOTAL  (2*LEDS_XMAX+2*LEDS_YMAX)      // MAX physical
> leds on stripe
> ...sollte also mit 54x30 gehen.

Vorsicht Leute, ihr habt verschiedene Versionen. Die von hagbard 
zitierten Zeilen sind aus der V1.0 und waren ein bekannter Bug. Das 
zweite Zitat ist aus der V1.1. Auch die CooCox Fassung von Tommy_R ist 
die V1.0.

In der V1.1 wurde nicht nur dieser Bug behoben, sondern auch andere. 
Grundsätzlich  gilt für die verschiedenen Array:
rgbSlots und rgbImage haben nichts mit der physischen Anzahl LEDs zu tun 
und dienen nur der Bildskalierung und Aggregation. Sie sind beide 64*40 
Pixel groß, wobei rgbImage aus rgbSlots runterskaliert wird (bis runter 
zu 1*1). Erst aus rgbImage wird dann das 1-dimensionale Array 
tvprocRGBDelayFifo gefüllt und aus diesem dann ws2812ledRGB. Nur die 
beiden letzten sind von der Anzahl der LEDs abhängig und können bis zu 
2*96 + 2*60 LEDs ansteuern. Deine 54*30 sind also gar kein Problem.

von hagbard (Gast)


Lesenswert?

Peter Schulten schrieb:
> Vorsicht Leute, ihr habt verschiedene Versionen. Die von hagbard
> zitierten Zeilen sind aus der V1.0 und waren ein bekannter Bug.

Ich habe vermutlich wirklich aus der falschen Version zitiert.
Aufgespielt ist aber V1.1 vom 05.05.2014.
Im Terminal meldet sich auch die V1.1
1
Hi there. This is pitschu's AmbiLight V1.1
Sonst noch Ideen?

von Pit S. (pitschu)


Lesenswert?

hagbard schrieb:
> Irgendwie hatte sich wohl meine Width LED Anzahl wieder verstellt.
> Jetzt habe ich oben links 2 LEDS und in der Mitte auch zwei LEDs die
> nicht gehen (Backview). Unten sind in der Mitte 3 LEDs und links auch 3
> LEDs die nicht leuchten. Das bekomme ich auch mit kleineren oder
> größeren "L" Werten nicht weg.

Ich nehme mal an, dies ist immer noch das Problem. Du sagst Backview und 
damit würden also rechts einige Lampen fehlen. Ich würde vermuten dass 
in dem Fall der rchte Rand falsch ist, also verdreh mal W (= width).

von hagbard (Gast)


Lesenswert?

Hallo Peter,

danke für die Antwort.
Muss ich heute Abend noch mal ausprobieren.
Also von vorne auf den Fernseher gesehen fehlen oben rechts 2 und unten 
rechts 3 LEDs. Aber in der Mitte oben und unten fehlen auch 2 bzw. 3 
LEDs.
Am Rand hat sich beim Verschieben mit L oder W schon mal was geändert, 
aber wie passen die dunklen LEDs in der Mitte dazu?
Ich muss noch mal die eingestellte Anzahl der LEDs prüfen.
Bei den letzten Tests hat es aber gestimmt meine ich.

Gruß
Hagbard

von Pit S. (pitschu)


Lesenswert?

hagbard schrieb:
> Am Rand hat sich beim Verschieben mit L oder W schon mal was geändert,
> aber wie passen die dunklen LEDs in der Mitte dazu?
> Ich muss noch mal die eingestellte Anzahl der LEDs prüfen.
> Bei den letzten Tests hat es aber gestimmt meine ich.

Die dunklen LEDs in der Mitte entstehen durch die Verarbeitung des 
Bildes in 2 Hälften (links und rechts). Zunächst wird das Bild in ein 
grobpixeliges 64*40 Bild gerastert. Das passiert in 2 Durchgängen (32*40 
links, dann 32*40 rechts). Dabei wird die Befüllung der 32 Pixel von 
links nach rechts durchgeführt. Bei unglücklichen Teierverhältnissen 
kann es vorkommen, dass das letzte Pixel leer bleibt und daher in der 
Mitte bzw. rechts ein dunkler Fleck entsteht. Durch Änderung des linken 
Randes (L) und der Breite (W) kann letztendlich das Teilerverhältnis 
beeinflusst werden. Ideal sind natürlich Werte bei denen die Width durch 
32 teilbar ist.
Wenn das nicht gelingt, kannst du auch die Breite und Höhe des rgbImage 
über die Parameter X und Y ändern. Wenn du z.B. 54 x 30 LEDs hast, macht 
es Sinn, X und Y auf diese Werte zu stellen. rgbImage ist die letzte 
Stufe bevor in die physische LED Welt umgeschaltet wird und daher ist 
ein größeres X * Y garnicht sinnvoll. Kleinere Werte für X und Y bis 
runter zu 1 * 1 sind sinnvoll. So leuchten z.B. bei 1 * 1 alle LEDs in 
der Durchschnittsfarbe des Gesamtbildes. So war das bei früheren Philips 
TVs mal. Bei z.B. 2 * 2 kann man sehr schön sehen, wie die linke und 
rechte Hälfte der LEDs homogen in 2 Farben leuchten (zum Testen ganz 
hilfreich).

von hagbard (Gast)


Lesenswert?

Hallo Peter,

danke für die Hilfe, aber es klappt leider noch nicht.

Ich habe "X" und "Y" jetzt auch auf die physikalische LED Anzahl 54x30 
gestellt (genauso wie "P" und "R"). Aber die dunklen LEDs sind immer 
noch da.
"L" und "T" sind doch die Verschiebungen des Bildes bezogen auf den Rand 
und "W" und "H" die Größe des Bildes?
"L" und "T" so einstellen, das die Randfarben links und oben zum Bild 
passen, richtig? Aber worauf ist die Größe bezogen?
Und was macht "E"?
Irgendwie durchschaue ich das nicht.

von hagbard (Gast)


Lesenswert?

Also vergößern von "W" bringt Licht ins Dunkel, allerdings nicht 
gleichmäßig.
Oben fehlten ja nur 2 LEDs in der Mitte und am Rand unten dagegen 
jeweils 3 LEDs.
Nun habe ich bei W=808 z.B. oben keine dunklen LEDs mehr, aber unten 
noch jeweils eine. Kann es sein, dass da noch irgendwo falsch gezählt 
wird?
Eigentlich müsste das ja symmetrisch sein.
Gibt es einen rechnerischen Wert für W oder ist das durch reines 
ausprobieren zu ermitteln?

von Pit S. (pitschu)


Angehängte Dateien:

Lesenswert?

Als Update die Version 1.2 im Anhang.

Ich habe mnir das Problem mit fehlenden LEDs nochmal angesehen und 
einige Verbesserungen vorgenommen. Wie vermutet kann es bei ungünstigen 
Teilerverhältnissen von Anzahl LEDs zur internen Darstellung von 64x40 
zu Lücken aufgrund von fehlenden Divisionsresten kommen. Das ist nun 
ganz anders gelöst und kann nicht mehr vorkommen.
Hier die Änderungen der V1.2:
- Verbesserte Skalierungsberechnungen (s.o.)
- Parametrierbare Frameanzahl zur Ermittelung der schwarzen Ränder (G)
- Unterdrückung von "Schwarz-Flackern" der LEDs in schwarzen Rändern
- Bessere Defaultwerte

Noch ein paar Tips zum Einstellen:
- Erst die Anzahl der LEDs mit P und R einstellen.
- Die Parameter X und Y sollten die gleichen Werte wie P und R haben. 
Größere Werte sind Blödsinn; kleinere Werte machen die LED-Darstellung 
gröber (mehrere LEDs mit gleicher Farbe).
- Zum Einstellen der Links/Rechts bzw. Oben/Unten Grenzen (L/W/T/H) 
sollte die dynamische Balkenerkennung abgeschaltet sein (Parameter G auf 
0 runterdrehen)
- Der Parameter E sollte 1 sein. Damit zeigen die LEDs nur den jeweils 
äußersten Streifen des Bildes an.
- Am besten mit einem Standbild (ideal sind Comics) die Grenzen so 
einstellen, dass die LEDs die Farben des äußeren sichtbaren Bildrandes 
anzeigen. Das Bild muss Vollbild, also keine Balken haben.
- Am besten tastet man sich 'von außen' an das Bild an.
- Nach Einstellung der Grenzen sollten die Parameter G und E wieder 
zurückgestellt werden. D=100 bedeutet, dass die Randerkennung permanent 
über 100 Frames (ca. 4 Sekunden) integriert und dann die Ränder 
bestimmt. Bei kleineren Werten geht das schneller, führt aber dazu, dass 
in dunklen Szenen evtl. temporär die Ränder verschoben werden, und im 
Bild liegende helle Stellen auf die LEDs wirken.
- Mit E wird eingestellt, wie breit der mit den LEDs dargestellte äußere 
Bildrand sein soll. E=1 heißt, dass nur die ca. 12 äußeren Pixel 
abgebildet werden. Bei E=5 sind es entsprechend ca. 60 Pixel.

Viel Erfolg und Spaß weiterhin
pitschu

von hagbard (Gast)


Lesenswert?

Hallo Peter,

schönen Dank für das Update.
Ich habe es aufgespielt und noch mal alles sauber eingestellt.
Auf jeden Fall ist die Anleitung sehr verständlich so.
Ich erkenne jetzt aber keinen Unterschied, da bei mir durch vergrößern 
der Width vorher dann auch alles gepasst hatte.

Hier mal mein Vorgehen:
Ein Standbild mit mehreren einfarbigen Flächen je Seite ist ideal, da 
man dort die Farben sehr gut kontrollieren kann. Ich nutzte ein 
Standbild von Nickelodeon.
Zuerst G=0 und E=1.
Dann habe ich L sehr klein gemacht und dann von vorne gesehen den linken 
Bildrand eingestellt, indem ich L vergrößert habe. Dabei muss man auch 
auf die linken LEDs am oberen und unteren Streifen achten. Wenn LEDs 
fehlen oder schwach flackern, dann ist der Wert noch zu klein. Danach 
habe ich W sehr groß gemacht und den rechten Rand eingestellt, indem ich 
W verkleinert habe. Auch hier muss man auf die rechten LEDs oben und 
unten achten. Fehlen LEDs oder flackern nur schwach, dann ist W noch zu 
groß.

Dann habe ich analog dazu T sehr klein gemacht und dann den oberen Rand 
eingestellt, indem ich T vergrößert habe. Dabei achtet man auch auf die 
oberen LEDs rechts und links. Anschließend habe ich H sehr groß gemacht 
und den unteren Rand eingestellt, indem ich H langsam wieder verkleinert 
habe. Dabei achtet man auch auf die unteren LEDs links und rechts.

Zuletzt habe ich G wieder auf 100 gesetzt (mit gd) und E wieder auf 4.
Dann flackerten bei mir plötzlich die LEDs oben und unten am Rand. Das 
habe ich durch nachjustieren von L und H wegbekommen.


Vielleicht als Hinweis, dass oben im Text von Pitschu mit D=100 der 
default Wert für G gemeint ist.

Gruß
Hagbard

von Benedikt P. (bepa)


Lesenswert?

hagbard schrieb:
> HDMI Splitter und Konverter zu FBAS habe ich von Amazon für zusammen
> ~50€.
> http://www.amazon.de/dp/B0081FDFMQ/ref=pe_386171_37038021_TE_M3T1_dp_1
> 
http://www.amazon.de/Generic-Mini-HDMI-AV-Konverter-Videorecorder/dp/B00AASZUUM/ref=sr_1_1?ie=UTF8&qid=1405014547&sr=8-1&keywords=mini+hdmi2av
> Bluerays mit Kopierschutz schienen zu funktionieren!

Falls es Jemanden interessiert:
Diese Kombination aus Splitter und Konverter läuft bei mir einwandfrei!

Merkwürdig is nur, dass der Konverter anscheinend die 5V vom HDMI direkt 
mit der USB Buchse zur Stromversorgung verbindet. Da ich das gleiche 
Netzteil für LEDs und Konverter benutzt habe, leuchteten die LEDs dann 
immer schwach, obwohl das Netzteil nicht eingesteckt war.
Das USB Kabel habe ich dann einfach entfernt. Der Konverter wird jetzt 
über HDMI mit Strom versorgt.

Vielen Dank an pitschu für das tolle Projekt!

Gruß
Benedikt

von Bernd (Gast)


Lesenswert?

Peter Schulten schrieb:
> Als Update die Version 1.2 im Anhang.

Wenn ich die Dateien aus dem Zipfile in Eclipse (4.3.1) importiere, 
müssten dann nicht auch die Einstellungen fürs Kompilieren enthalten 
sein?
Wenn ich unter Project auf Build All gehe, kommt:
1
14:49:43 **** Clean-only build of configuration Debug for project Ambilight-STM32F4-GNUARM-V1.2 ****
2
make clean 
3
make: *** No rule to make target `clean'.  Stop.

Oder muss ich die Kompilerflags noch selber irgendwo ergänzen?
Ich dachte, dass sei u.a. der Sinn eines Projektfiles, auch die 
Einstellungen zu speichern.
Ein externes Makefile ist aber auch nicht vorhanden.

Kann mir jemand sagen, was ich falsch mache?

von pitschu (Gast)


Lesenswert?

Wenn du den Ordner mit der Funktion "Inport existing project" 
importierst, sollte es gehen. Nach dem Import einmal Index rebuild, und 
dann Build Project. Das Makefile wird vom CDT Plugin automatisch 
generiert und liegt dann im Debug Ordner.

PS

von Bernd (Gast)


Lesenswert?

OK, ich importiere den Ordner als existing Project und mache auf den 
importierten Ordner im Package Explorer einen Rechtsklick und dann Index 
->Rebuild. Dann steht unten rechts ein Fortschritt der bis 100% 
durchläuft.
Ein Makefile erhalte ich danach nicht und es werden immer noch ganz 
viele unresolved inclusions angezeigt.
Hm, fehlt mir da vielleicht noch ein PlugIn für Eclipse?

von pitschu (Gast)


Lesenswert?

Du brauchst auf jeden Fall das CDT und sowas wie "GNU ARM C/C++ Cross 
Compiler Support".
Check mal in den Project properties unter C/C++ Build -> Environment ob 
die PATH variable gesetzt ist. Evtl. findet eclipse deine ARM toolchain 
nicht, weil noch mein PATH eingestellt ist. Da ich eine Eclipse 
Installation für alle Zielsysteme einsetze, verwende ich den Project + 
Workspace properties ein entsprechendes Environment für jedes Ziel.

von Bernd (Gast)


Lesenswert?

Ich bin nach folgender Anleitung vorgegangen:
http://gnuarmeclipse.livius.net/blog/install/

Luna 4.4 Eclipse IDE for C/C++ Developers (Win7 64-bit)
GNU ARM Plugin nachinstalliert
Toolchain: GNU Tools for ARM Embedded Processors gcc-arm-none-eabi-
4_8-2014q2-20140609-win32.exe
make und rm:
http://sourceforge.net/projects/gnuarmeclipse/files/Miscellaneous/

Unter Properties -> C/C++ Build -> Builder Settings ist der Haken bei 
Generate makefile automatically gesetzt

Unter Properties -> C/C++ Build -> Environment habe ich bei PATH den 
Pfad zu make und rm und zur Toolchain angegeben.

Ich sehe nirgends mehr Pfade die nicht zu meinem Setup passen.
Ich sehe aber auch nirgends irgendwelche Compilerflags, die aus dem 
Projekt übernommen worden sind.

Wenn ich übersetzen möchte, findet er keine Regel für das clean...
Ich könnte ein eigenes Makefile schreiben, aber ich dachte eigentlich, 
dass alles im Projekt steht.
Ich bin ratlos...

von pitschu (Gast)


Lesenswert?

Die relevanten settings sind in den Dateien .cproject, .project und dem 
Ordner .settings
Alle drei sind auch im ZIP vorhanden -> irgendwas läuft da falsch. Leg 
einfach ein neues Projekt an, kopiere alle Sourcen aus dem ZIP rüber und 
setz die Compiler flags manuell (aus dem .cproject). Ich weiß, ist 
elendig, aber geht :-)

pitschu

von Bernd (Gast)


Lesenswert?

Also ich vermute, dass das an Unterschieden in der CDT Plugin Version 
liegt.
Evtl. hast du auch noch Einstellungen lokal im Workspace gemacht, die 
nicht im Projekt enthalten sind.

Ich habe unter Properties -> c/c++ build folgende Meldung:
Orphaned configuration. No base extension cfg exists for 
org.eclipse.cdt.cross.arm.gnu.summon.windows.elf.debug.1092562495

von Bernd (Gast)


Lesenswert?

Mit einem frischen Projekt (noch ohne Inhalt) sehe ich deutliche 
Unterschiede im Projektfile .cproject
Bei dir steht id="org.eclipse.cdt.cross.arm.gnu.summon.windows
und bei mir id="cdt.managedbuild.config.gnu.cross
Das zieht sich durchs ganze Dokument.
Soweit ich das verstehe, bedeutet das wohl, dass wir unterschiedliche 
Plugins verwenden.
Ich werde mal versuchen ein neues Projekt mit alles Einstellungen zu 
erstellen.

von Bernd (Gast)


Lesenswert?

Also mit dem von mir weiter oben beschriebenen Setup mit Eclipse 4.4 und 
einem neuen Projekt komme ich soweit, dass alles kompiliert, wenn ich in 
der moodlight.c alles mit sinf() auskommentiere.
Da meckert sonst der Linker und sagt undefined reference.
Das habe ich aber noch nicht hinbekommen...

von pitschu (Gast)


Lesenswert?

Bernd schrieb:
> Da meckert sonst der Linker und sagt undefined reference.
> Das habe ich aber noch nicht hinbekommen...

Dann fehlt nur die Mathe-Lib. Ein -lm in den linker params sollte 
genügen.

von Bernd (Gast)


Angehängte Dateien:

Lesenswert?

Danke für die Hilfe und auch für das tolle Projekt.
Ich habe es Freitag noch hinbekommen und wollte erst eine Kurzanleitung 
schreiben, bevor ich hier noch tausend Posts mache.
Wurde ja etwas Offtopic hier mit den Fragen, aber es ist vielleicht für 
den einen oder anderen Interessant.
Es stehen zwar alle Einstellungen im .cproject File, aber das muss man 
ja auch erst mal verstehen.

Im Anhang eine Anleitung wie man das aktuelle Eclipse Luna 4.4 mit dem 
aktuellen GNU ARM GCC einrichtet (Win7) und ein neues Projekt mit allen 
Einstellungen erstellt.
Ich habe den Workspace dann auch erfolgreich auf einen zweiten Rechner 
mit gleicher Installation transferieren können.
Auf dem Discovery habe ich das neu erstellte HEX aber noch nicht 
getestet.

Mal sehen was ich jetzt damit mache.
Vielleicht ein paar Lichtmuster beim Moodlight ändern oder meine 
Settings als default einstellen... :-)

Bernd

von Armin (Gast)


Lesenswert?

Peter Schulten schrieb:
> Für die Mittelwerbestimmung sollten genügend Reserven vorhanden sein, am
> einfachsten lässt sich das in der vorhandenen Berechnung der 4 Kanten
> unterbringen. Da wird sowieso schon Mittelwert, Min und Max berechnet.

In der Funktion ambiLightSlots2Dyn() ?

Wenn ich die Funktion richtig verstanden hab werden hier alle 
rgbSlots[][] abgelaufen und jeweils die R, G und B Werte addiert um die 
Helligkeit bzw. eben die schwarzen Bereiche zu erkennen. Dies geschieht 
zuerst zeilenweise, danach spaltenweise  und wird in dynRows[].intAvg 
bzw. dynColumns[] gespeichert. Daraus werden dann dynLeft, dynRight, 
dynTop and dynBottom berechnet.

Die Mittelwertbildung müsste ja erst danach stadtfinden oder?

von pitschu (Gast)


Lesenswert?

Armin schrieb:
> In der Funktion ambiLightSlots2Dyn() ?

Genau in dieser Funktion kann man es am besten unterbringen. Z.B. so:
1
....
2
long imageRsum, imageGsum, imageBsum;  // auf 0 setzen nicht vergessen
3
uint8_t imageR, imageG, imageB;  // die globalen Farbwerte
4
....
5
6
for (y = 0; y < SLOTS_Y; y++)
7
{
8
  long minRGB, maxRGB, sumRGB;
9
10
  minRGB = 0xffff;
11
  maxRGB = 0;
12
  sumRGB = 0;
13
14
  for (x = 0; x < SLOTS_X; x++)
15
  {
16
    int s = rgbSlots[y][x].R + rgbSlots[y][x].G + rgbSlots[y][x].B;
17
    if ( s < minRGB)
18
      minRGB = s;
19
    if (s > maxRGB)
20
      maxRGB = s;
21
    sumRGB += s;
22
23
    imageRsum += rgbSlots[y][x].R;
24
    imageGsum += rgbSlots[y][x].G;
25
    imageBsum += rgbSlots[y][x].B;
26
  }
27
28
  imageR = imageRsum / (SLOTS_X * SLOTS_Y);
29
  imageG = imageGsum / (SLOTS_X * SLOTS_Y);
30
  imageB = imageBsum / (SLOTS_X * SLOTS_Y);
31
 
32
.....

von Armin (Gast)


Lesenswert?

Danke für die schnelle Antwort.

An der Stelle würden doch die schwarzen Balken mit in die Berechnung 
eingehen oder nicht?

von pitschu (Gast)


Lesenswert?

Armin schrieb:
> Danke für die schnelle Antwort.
>
> An der Stelle würden doch die schwarzen Balken mit in die Berechnung
> eingehen oder nicht?

Ja, das stimmt, es werden Durchschnittswerte über den gesamten Schirm 
gebildet. Wenn du nur den 'nicht schwarzrn' Teil willst, machst du das 
gleiche, nur eben später in der Funktion wenn die Werte dynLeft, 
DynRight, ... berechnet sind. Dies sind dann die Grenzen für die o.g. 
FOR-Schleifen.

PS

von Sepp (Gast)


Lesenswert?

Wieso nicht einfach Zambilight???:

https://www.indiegogo.com/projects/meet-zambilight-the-update-for-your-television

Ist billig und macht n anständigen Eindruck, oder?

von Patrick B. (leitner)


Lesenswert?

Jo, sieht ganz gut aus..
Es wird ja einfach anstelle des Discovery F4 Boards ein Raspberry Pi und 
anstelle unseres TVP5150 Erweiterungsboards ein USB Video-Grabber 
verwendet.
Ehrlich gesagt ist mir da unsere Kompakte Lösung hier lieber, Raspberry 
muss ja auch booten uns so, aber jedem das seine...
Der Preis ist natürlich super, $59 für alles!

Ich bin mit ein paar Kollegen derzeit am überlegen eine All-In-On 
Hardware zu entwickeln. Mit HDMI-Ein- und Ausgang, CVBS Converter, 
TVP5150, STM32 Controller (evtl. auch das F4 Board) und 5V DC/DC 
(Eingangsspannung 10-30V, Versorgung z.B. mit Notebooknetzteile).
Das ganze wird aber noch ein Weilchen dauern.

von Bernd (Gast)


Lesenswert?

Wie ist denn der aktuelle Stand?
Gehts noch weiter?

von pitschu (Gast)


Lesenswert?

Was fehlt dir denn noch? Hast du neue Ideen für Erweiterungen?

pitschu

von Waldemar (Gast)


Lesenswert?

Hallo Peter,
ich habe leider ein Problem mit der Konfiguration über USB, evtl. ein 
Bug?

Da ich mir nun einen HDMI-Splitter gekauft habe und die Hardware wieder 
ausgegraben hab, flashte ich heute die SW V1.2 aus Juli die du gepostet 
hast. Funktioniert alles fein. Nun muss ich ja die Einstellungen, 
zumindest die Anzahl der LEDs, an meine Konfiguration anpassen und da 
tritt das Problem auf:

Ich drücke auf P für LED_X und stelle die Anzahl mit +/- auf 31 ein, nun 
wenn ich zB auf R für LED_Y drücke, dann wird die Anzahl der LED_X in 
die selbe Richtung um eins verringert/vergrößert, also je nach dem ob 
ich davor + oder - gedrückt habe. Ich hoffe ich konnte mich verständlich 
ausdrücken. Die Einstellung des vorherigen Parameters wird nochmals 
ungewollt um eine Stufe manipuliert.

Vielleicht hat sich da ein Bug eingeschlichen und es ist dir noch nicht 
aufgefallen, da die Einstellungen für deinen Fernseher ja Default-Werte 
sind... Bei der letzten Version gab es dieses Problem auf jeden Fall 
nicht.

Ich kann natürlich diesen "Bug" umgehen in dem ich eine Stufe in der 
Einstellung drunter schalte und beim Umschalten auf einen anderen 
Parameter, wird sich der letzte auf den richtigen Wert einstellen.

Es kann natürlich auch sein, dass mein "Terminal" spinnt...

Grüße

von Alex M (Gast)


Lesenswert?

Hallo,
tolles Projekt und vielen Dank schon mal, dass du alle nötigen Infos zum 
Nachbau frei zugänglich gemacht hast.

Ich habe nicht den ganzen Thread durchforstet, aber so wie ich es 
verstanden habe braucht die Hardware ein CVBS Signal (analog).
Ich habe bei mir ein Sat-Receiver mit HDMI. Laut der Beschreibung oben 
funktioniert da ein Splitter+Converter, den ich dazwischen schalten 
muss.

Jetzt zu meiner Frage:
Alternativ zum TV Programm ist mein PC am TV als Monitor angeschlossen, 
so dass ich Gamingstreams aus dem Netz schauen kann.
In diesem Fall würde die Hintergrundbeleuchtung nicht mehr 
funktionieren, weil weiterhin das Sat-HDMI Signal verarbeitet wird.

Hat von euch jemand eine Idee, wie man das Problem lösen könnte bzw. ob 
es überhaupt machbar ist ohne Kabel umzustecken?
Meine Idee wäre (gibt es schon), dass ein Programm auf dem PC läuft, 
welches die Farben auswertet und per USB an das STM32 Board schickt und 
dort die passende Anzeige erzeugt wird.

Grüße und ein schönes Wochenende

von pitschu (Gast)


Lesenswert?

Waldemar schrieb:
> Ich drücke auf P für LED_X und stelle die Anzahl mit +/- auf 31 ein, nun
> wenn ich zB auf R für LED_Y drücke, dann wird die Anzahl der LED_X in
> die selbe Richtung um eins verringert/vergrößert, also je nach dem ob
> ich davor + oder - gedrückt habe.

Hallo Waldemar,
das kann ich nicht bestätigen. Ich nutze selbst auch die USB Variante 
und die funktioniert tadellos. Ich nehme Putty als Terminalprogramm und 
kann alle Parameter ohne diese Effekte einstellen. Wird denn bei dir das 
erste +/- vielleicht verschluckt, so dass alles um ein Zeichen 
verschoben beim AL ankommt?
Den USB Treiber auf AL Seite habe ich nicht selbst geschrieben, sondern 
von den STM Libs übernommen. Evtl. gibt's da noch ein Thema mit 
unterschiedlichen Compiler-Einstellungen etc.

von Lorenz H. (lorenzo)


Lesenswert?

Hallo,

ich bin beim Stöbern im Netz auf diesen Thread aufmerksam geworden und 
muss sagen: Hut ab! Das ist wirklich ein super ausgereiftes Projekt.

Nach Studium aller Beiträge habe ich die Schaltung jetzt mal aufgebaut. 
Allerdings habe ich noch ein großes Problem. Moodlight funktioniert 
super, aber Ambilight geht noch nicht.
Nach Start des Discovery Boards werden ja die Parameter des TV Chips 
ausgegeben. Diese sind alle 0. Das weist sicher schon auf ein Problem 
hin. Ich habe daraufhin alle Verbindungen des Chips (ist ja eine kleine 
Bauform) durchgemessen. Das war soweit ok. Den Pull-up für i2c habe ich 
auch berücksichtigt. Jetzt weiß ich aber nicht mehr weiter. Was kann ich 
noch testen, um dem Fehler auf die Spur zu kommen? Etwas Hilfestellung 
könnte ich jetzt gut gebrauchen.

beste Grüße

von Patrick B. (leitner)


Lesenswert?

@  Alex M:
nimm doch einfach zwei HMDI-Splitter und zwei HDMI-CVBS Converter, ein 
Splitter+Converter für deinen Receiver und ein Splitter+Converter für 
deinen PC hast ja zwei CVBS Eingänge auf der TVP5150 Platine.
ODER
1x Splitter+Converter und davor ein 2:1 Umschlater (2x HDMI IN, 1 HDMI 
Out).

@ Lorenz H.
Ich vermute du hast ein Problem mit dem I2C-Bus, oder dein TVP5150 ist 
tot? Versorgungsspannungen an den Pins des TVP5150 schon mal 
nachgemessen?

von Waldemar (Gast)


Lesenswert?

Lorenz H. schrieb:
> Moodlight funktioniert
> super, aber Ambilight geht noch nicht.
> Nach Start des Discovery Boards werden ja die Parameter des TV Chips
> ausgegeben. Diese sind alle 0. Das weist sicher schon auf ein Problem
> hin.

Hallo,
anfangs hatte ich das selbe Problem, da ich mir meine Platine selber 
gelayoutet habe (andere Bauteile, manches weggelassen usw..)
Dabei funktionierte Moodlight perfekt und Ambilight nicht. Mein Problem 
war, dass die Versorgungsspannung vom TVP5051 andauernd 
zusammengebrochen ist -> Dauerneustart. Entweder mit Oszi anschauen, 
oder einfach ein paar Stützkondensatoren (auf allen Spannungsebenen) 
hinzufügen und beobachten.

Kann sein (muss aber nicht :-)  ), dass du das selbe Problem hast....

Hoffe es funktioniert dann bei dir!
Gruß

von Waldemar (Gast)


Lesenswert?

pitschu schrieb:
> Waldemar schrieb:
>> Ich drücke auf P für LED_X und stelle die Anzahl mit +/- auf 31 ein, nun
>> wenn ich zB auf R für LED_Y drücke, dann wird die Anzahl der LED_X in
>> die selbe Richtung um eins verringert/vergrößert, also je nach dem ob
>> ich davor + oder - gedrückt habe.
>
> Hallo Waldemar,
> das kann ich nicht bestätigen. Ich nutze selbst auch die USB Variante
> und die funktioniert tadellos. Ich nehme Putty als Terminalprogramm und
> kann alle Parameter ohne diese Effekte einstellen. Wird denn bei dir das
> erste +/- vielleicht verschluckt, so dass alles um ein Zeichen
> verschoben beim AL ankommt?
> Den USB Treiber auf AL Seite habe ich nicht selbst geschrieben, sondern
> von den STM Libs übernommen. Evtl. gibt's da noch ein Thema mit
> unterschiedlichen Compiler-Einstellungen etc.

Danke erstmal für deine Antwort.

Ich hatte bewusst dein HEX-File geflasht, damit es zu keinen Problemen 
kommt. Zweiter Versuch war mit einem anderem "Terminal"-Programm, 
gleiches Ergebnis. So viel Auswahl habe ich bei MacOS nicht, ich nutze 
eigentlich immer Standard-Terminal mit "screen"-Befehl um mich seriell 
zu verbinden. Ist aber auch egal, da ich wie gesagt diesen "Bug" der bei 
mir auftritt leicht umgehen konnte.

Danke trotzdem! Sehr gute Arbeit!

Ich habe demnächst vor noch einen DC/DC-Wandler auf die Platine zu 
setzen. Welche Ströme benötigt Ihr denn so? Bei meiner Konfiguration 
sind es ca. 3,5 Ampere.
Ich dachte einer mit 5 Ampere max würde jedem ausreichen?

Grüße

von Lorenz H. (lorenzo)


Lesenswert?

Danke erst mal für die Tipps.

Ich werde heute abend mal die Spannungen messen und sehen was dabei 
rauskommt. Ich werde dann hier informieren.

beste Grüße

von Lorenz H. (lorenzo)


Lesenswert?

So, ich habe jetzt mal alle Spannungen kontrolliert. Die 3,3V waren noch 
3V, da ich die Diode noch nicht gebrückt hatte. Ich dachte schon, das 
wars, aber leider nach wie vor keine Daten.
Auch die 1,8V sind vorhanden und stabil.

Kurz nach dem Einschalten zappelt SCL, aber SDA bleibt auf high. Ich 
werde morgen nochmal alle Leiterbahnen auf Schlüsse etc. kontrollieren, 
ansonsten fehlt mir die Fantasie.

beste Grüße

von Lorenz H. (lorenzo)


Lesenswert?

Hallo zusammen,

ich bräuchte jetzt doch noch mal eure Hilfe. Am Ergebnis hat sich 
bislang leider nichts geändert. Folgendes habe ich getestet:

Spannungsversorgung 3,3V und 1,8V
Kurzschlüsse zwischen den Pins des TVP5150
korrekte Vebindung der Pins des TVP5150
SCL mit Oszi gemessen: zappelt nach Einschalten
SDA mit Oszi gemessen: bleibt dauernd high
zusätzliche Stützkondensatoren für 3,3V und 1,8V
verwendet wird das Platinenlayout von Patrick B.
einen Ersatz TVP hatte ich noch, aber ein Austausch hat kein anderes 
Ergebnis gebracht. Alle ausgelesenen Daten sind NULL.

Kann es sein, dass der verwendete Quartz nicht schwingt? Ich habe den im 
HBE-Shop bestellt. Er hat den Aufdruck 14.3NJ54. Wie kann ich prüfen, ob 
er schwingt? Wenn ich mit dem Oszi messe, sehe ich nichts. Kann das 
evtl. daran liegen, dass der Tastkopf das Signal zu sehr belastet?

Wie empfindlich sind die TVP? Ist es wahrscheinlich, gleich zwei beim 
einlöten zerstört zu haben? Kann die Unterspannung von 3V einen Defekt 
hervor gerufen haben?

Bevor ich jetzt noch mal eine weitere Bestellung über TVP, Quartz o.ä. 
losschicke, möchte ich gern meine Fehler geprüft und ausgeschaltet 
haben. Was sollte ich jetzt noch testen?

beste Grüße

von PFrank (Gast)


Lesenswert?

In der Bucht gibts mittlerweile auch ws2812b mit schwarzem Lötlack. 4m 
für 56 € :)

von pitschu (Gast)


Lesenswert?

Lorenz H. schrieb:
> SCL mit Oszi gemessen: zappelt nach Einschalten
> SDA mit Oszi gemessen: bleibt dauernd high

Hallo Lorenz,
das ist nicht gut - zumindest sollte SDA die gesendeten Daten des 
STM32F4 zeigen. Wenn die nicht zu sehen sind, könntesdt du mal ohne den 
TVP-Aufsatz testen. Wenn das auch kein SDA zeigt, ist wohl der STM32F4 
defekt.

pitschu

von Pat W. (frankp)


Lesenswert?

Guten Morgen Pitschu, ich hatte dir mal über uC hier eine PM 
geschrieben. Hast du die bekommen?

Gruß

von lorenzo (Gast)


Lesenswert?

Hallo pitschu und alle anderen, dir mir mit Tipps geholfen haben. Zum 
Glück ist alles heil :-). Ich habe nur nicht gut genug getestet. Ich 
hatte einen Feinschluss am Pull-Up Widerstand. Jetzt geht alles.

Vielen Dank noch mal.

beste Grüße

von FPGA (Gast)


Lesenswert?

http://hacks.esar.org.uk/hdmi-light/

Basiert auf einem Papilio One 250K (Spartan3E) und einem ADV7611 als 
HDMI-Receiver.

Als MCU kommt ein AVR Softcore im FPGA zum Einsatz für die I2C 
Kommunikation mit dem ADV7611. Die Verarbeitung der Bilddaten findet in 
einem dediziertem VHDL-Modul statt.

von Daniel S. (bytewaste)


Lesenswert?

Hat noch jemand eine leere Platine über?

von Pat W. (frankp)


Lesenswert?

So guten Abend ;)
alles zusammengebaut. Moodlight funktioniert tadellos - aber jetzt hänge 
ich leider.

Mein Ambilight will nicht funktionieren :-/

Der "Locked" Status 0E kommt soweit. Bei Reset gibt der 5150 folgendes 
aus.

<\r>tvp5150: Video input source selection #1 = 0x02<\n>
<\r>tvp5150: Analog channel controls = 0x15<\n>
<\r>tvp5150: Operation mode controls = 0x00<\n>
<\r>tvp5150: Miscellaneous controls = 0xaf<\n>
<\r>tvp5150: Autoswitch mask= 0xdc<\n>
<\r>tvp5150: Color killer threshold control = 0x10<\n>
<\r>tvp5150: Luminance processing controls #1 #2 and #3 = 60 00 40<\n>
<\r>tvp5150: Brightness control = 0x3c<\n>
<\r>tvp5150: Color saturation control = 0x80<\n>
<\r>tvp5150: Hue control = 0x00<\n>
<\r>tvp5150: Contrast control = 0x50<\n>
<\r>tvp5150: Outputs and data rates select = 0x40<\n>
<\r>tvp5150: Configuration shared pins = 0x02<\n>
<\r>tvp5150: Active video cropping start = 0x0000<\n>
<\r>tvp5150: Active video cropping stop  = 0x0000<\n>
<\r>tvp5150: Genlock/RTC = 0x01<\n>
<\r>tvp5150: Horizontal sync start = 0x80<\n>
<\r>tvp5150: Vertical blanking start = 0x00<\n>
<\r>tvp5150: Vertical blanking stop = 0x00<\n>
<\r>tvp5150: Chrominance processing control #1 and #2 = 0c 14<\n>
<\r>tvp5150: Interrupt reset register B = 0x00<\n>
<\r>tvp5150: Interrupt enable register B = 0x00<\n>
<\r>tvp5150: Interrupt configuration register B = 0x00<\n>
<\r>tvp5150: Video standard = 0x00<\n>
<\r>tvp5150: Chroma gain factor: Cb=0x00 Cr=0x00<\n>
<\r>tvp5150: Macrovision on counter = 0x0f<\n>
<\r>tvp5150: Macrovision off counter = 0x01<\n>
<\r>tvp5150: ITU-R BT.656.4 timing(TVP5150AM1 only)<\n>
<\r>tvp5150: Device ID = 5150<\n>
<\r>tvp5150: ROM version = (hex) 04.00<\n>
<\r>tvp5150: Vertical line count = 0x020d<\n>
<\r>tvp5150: Interrupt status register B = 0x80<\n>
<\r>tvp5150: Interrupt active register B = 0x00<\n>
<\r>tvp5150: Status regs #1 to #5 = 10 00 1a b0 81<\n>
<\r>tvp5150: Teletext filter 1 reg 0xb1 = 00 00 00 00 00 <\n>
<\r>tvp5150: Teletext filter 2 reg 0xb6 = 00 00 00 00 00 <\n>
<\r>tvp5150: Teletext filter enable = 0x00<\n>
<\r>tvp5150: Interrupt status register A = 0x00<\n>
<\r>tvp5150: Interrupt enable register A = 0x00<\n>
<\r>tvp5150: Interrupt configuration = 0x04<\n>
<\r>tvp5150: VDP status register = 0x40<\n>
<\r>tvp5150: FIFO word count = 0x00<\n>
<\r>tvp5150: FIFO interrupt threshold = 0x80<\n>
<\r>tvp5150: FIFO reset = 0x00<\n>
<\r>tvp5150: Line number interrupt = 0x00<\n>
<\r>tvp5150: Pixel alignment register = 0x004e<\n>
<\r>tvp5150: FIFO output control = 0x00<\n>
<\r>tvp5150: Full field enable = 0x00<\n>
<\r>tvp5150: Full field mode register = 0x7f<\n>
<\r>tvp5150: CC   data reg 0x90 = 00 00 00 00 <\n>
<\r>tvp5150: WSS  data reg 0x94 = 00 00 00 00 00 00 <\n>
<\r>tvp5150: VPS  data reg 0x9a = 00 00 00 00 00 00 00 00 <\n>
<\r>tvp5150: VPS  data reg 0xa2 = 00 00 00 00 00 <\n>
<\r>tvp5150: VITC data reg 0xa7 = 00 00 00 00 00 00 00 00 00 <\n>
<\r>tvp5150: Line mode reg 0xd0 = 00 ff ff ff ff ff ff ff <\n>
<\r>tvp5150: Line mode reg 0xd8 = ff ff ff ff ff ff ff ff <\n>
<\r>tvp5150: Line mode reg 0xe0 = ff ff ff ff ff ff ff ff <\n>
<\r>tvp5150: Line mode reg 0xe8 = ff ff ff ff ff ff ff ff <\n>
<\r>tvp5150: Line mode reg 0xf0 = ff ff ff ff ff ff ff ff <\n>
<\r>tvp5150: Line mode reg 0xf8 = ff ff ff ff <\n>
<\r><\n>



Die Info über die Dyn Rows / Cols zeigt nur Nullen. Eventuell ein 
Problem mit meinem 5150 ?

Hat einer direkt ne Idee? Grüße

PS: 3,3V , 1,8V vorhanden. (Moodlight läuft ja auch)
Eingangskapazitäten am 5150 (1,8V und 3,3V auf 0,47uF erhöht)

von Pit S. (pitschu)


Lesenswert?

Pat Wat schrieb:
> Die Info über die Dyn Rows / Cols zeigt nur Nullen. Eventuell ein
> Problem mit meinem 5150 ?

Wenn die Dyn-Infos alle 0 sind, ist offensichtlich kein Bild da. Bist du 
sicher, dass Video anliegt und am richtigen Eingang?. Die LEDs auf dem 
Discovery sollten auch was tun:
   ROT     toggelt mit Hsync
   ORANGE  toggelt mit Vsync
   BLAU    toggelt mehrfach in der main() bei Aufruf diverser Funktionen
   GRÜN    toggelt mit Flanken vom IR-Decoder

Insbesondere ROT und Orange zeigen, ob die Sync Signale am STM32 
ankommen.

pitschu

von Pat W. (frankp)


Lesenswert?

Nope, hat überhaupt nichts mehr getoggelt. Bildsignal sollte anliegen. 
Mit 2 verschiedenen Quellen getestet. (Wii und gewandeltes HDMI Signal)

Hab jetzt mal testweise den TVP5150 getauscht und werde das heute Abend 
nochmal testen ;)

Er locked auch auf 0E beim gewandelten HDMI Signal, bzw. auf 6E beim 
Videosignal der Wii. Erkennt auch, dass an X3 bzw X4 ein Videosignal 
anliegt und switched auch automatisch auf die entsprechende 
Signalquelle.

Danke für die schnelle Antwort / heute Abend Runde 2 :)

Gruß
Patrick

von Pat (Gast)


Lesenswert?

Ok, sieht so aus als würde er wirklich keine Videodaten kriegen :-/

von Pat W. (frankp)


Angehängte Dateien:

Lesenswert?

Nachtrag Runde 2: Sieht so aus als hätte ich mir das DCMI Interface 
abgeschossen.
Den PXL_CLK bzw. SCLK konnte ich dank mangelndem Heimequipment nicht 
überprüfen.
Die rote / orangene LED sollten aber trotzdem toggeln, was bei mir nicht 
der Fall ist.

Im angehängten Bild sieht man, dass zumindest VSync und HSync 
funktionieren sollten.

Ich melde mich mit neuen Ergebnissen, wenn der STM32F407-Ersatz 
angekommen ist ... -.-

Gruß

PS: Ja, eigentlich hätte ich auch nen Screenshot machen können und den 
benutzen... aber ab und zu ist das wort Screenshot halt doch noch 
wörtlich zu nehmen :P Sorry für den krummen Anhang

: Bearbeitet durch User
von Pat W. (frankp)


Angehängte Dateien:

Lesenswert?

Guten Abend,

Chip getauscht.
Funktioniert alles :)

Ich mach mich jetzt die Tage mal dran alle wichtigen Punkte ein bisschen 
zusammenzufassen und das ganze Projekt / Kommentare in einen Ordner zu 
packen (evtl noch meine minimal überarbeitete Eagle PCB dazu)

Gruß
Patrick

PS: Super Community hier :)

von pitschu (Gast)


Lesenswert?

Meinen Glückwunsch - macht sich ja gut vor der Wand. Viel Spaß damit

Du erinnerst mich mal wieder dran, die "technical description" fertig zu 
machen :-)

Besten Gruß
pitschu

von Mario (Gast)


Lesenswert?

Hi,

Sorry for the English as I do not speak German.  Fantastic project. Has 
anyone have a spare PCB left?

Regards

von Pit S. (pitschu)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe mich endlich mal hingesetzt und eine Anwenderdoku geschrieben. 
Hier sind mal alle Parameterwerte des AmbiLights, Tipps zum Einstellen 
sowie die Bedienung des MoodLights beschrieben. Im letzten Kapitel gibts 
noch ein paar Einblicke in die Funktionsweise.

Besten Gruß
pitschu

von Thilo H. (thaala)


Lesenswert?

Hallo Peter,

danke für die Doku.

Heiße Frage los:
Kriegt man das irgendwie hin, das nach Poweron der zulezt eingestellte 
Mode aktiviert bleibt? Leider muß ich immer erst nach der Fernbedienung 
fischen, damit das Ambilight angeht. Evtl. mache ich ja auch was 
falsch!?

Ambilight ist in 99% aller Fälle die Hintergrundbeleuchtung meiner 
Wahl....

Danke und Gruß,
Thilo

: Bearbeitet durch User
von Leitner (Gast)


Lesenswert?

Hallo Peter,

ich hab das so gelöst, dass nach dem PowerOn immer direkt in den 
Ambilight-Modus geschallten wird.
Hierzu einfach die main.c in Zeile 50
von:
1
mainMode_e  mainMode =     MODE_STANDBY;
ändern in:
1
mainMode_e  mainMode =     MODE_AMBILIGHT;

@ pitschu:
Vielen lieben Dank für deine Doku, habe sie gerade erst entdeckt :-) !

Gruß
Patrick

von Pit S. (pitschu)


Lesenswert?

Hallo zusammen,

Leitner schrieb:
> Hierzu einfach die main.c in Zeile 50
> von:mainMode_e  mainMode =     MODE_STANDBY;
> ändern in:mainMode_e  mainMode =     MODE_AMBILIGHT;

Eine andere Variante wäre, den mainMode mit in die zu flashenden 
Parameter aufzunehmen. Dazu wird einfach in FlashParams.c folgende Liste 
ergänzt:
1
#define FLASH_VERSION      135
2
3
4
const flashParam_t flashParams[] = {
5
   {(uint8_t*)&rgbImageWid  , sizeof (rgbImageWid)},
6
.....
um den folgenden Eintrag ergänzt:
1
   {(uint8_t*)&mainMode, sizeof (mainMode)}

Dann sollte man noch die FLASH_VERSION um eins erhöhen, um einen 
Komplettupdate beim ersten Einschalten zu forcieren.

Ab dann wird der Mode mit ins Flash geschrieben und damit nach dem 
Power-Up auf den zuletzt gültigen Wert gesetzt.

von Thilo H. (thaala)


Lesenswert?

Peter Schulten schrieb:
> Eine andere Variante wäre, den mainMode mit in die zu flashenden
> Parameter aufzunehmen. Dazu wird einfach in FlashParams.c folgende Liste
> ergänzt:

Etwas in der Art hat mir vorgeschwebt. Muss man sich bei Anderungen 
dieses Wertes noch Gedanken machen oder passiert das wegschreiben ins 
Flash durch den Eintrag in die Liste dann auch automatisch?

Danke und Gruß,
Thilo

von Pit S. (pitschu)


Lesenswert?

Thilo Haala schrieb:
> ... oder passiert das wegschreiben ins
> Flash durch den Eintrag in die Liste dann auch automatisch?

Das passiert automatisch. Sobald sich eine der Variablen, die im 
Flash-Parameterblock verzeichnet sind, ändert, wird der ganze Block 
geflashed. Die Überprüfung, ob sich was geändert hat, läuft permanent. 
Wenn sich nach 8 Sekunden dann nichts mehr ändert, wird geflashed. Da 
der STM32F4 kein EEPROM hat und sich das PLASH nur blockweise löschen 
lässt, habe ich diese Parameterblock-Variante gewählt statt 
Einzelvariablen zu speichern. Der Verwaltungsoverhead ist daher minimal.

Pitschu

: Bearbeitet durch User
von Pat W. (frankp)


Lesenswert?

So, Hallo erstmal :)

In den letzten Wochen nicht viel Zeit gehabt... :/

Es wurde hier mal ein Fehler erwähnt, bei dem nach einiger Laufzeit ein 
Speicher überlief.

Ich habe jetzt momentan den interessanten Fehler gehabt, dass nach ca. 1 
Tag am Strom die Farben nicht mehr passen (schwarze Bildbereiche werden 
in einem lila dargetstellt)

Jemand etwas ähnliches beobachtet?

Gruß

von Pit S. (pitschu)


Lesenswert?

Pat Wat schrieb:
> Ich habe jetzt momentan den interessanten Fehler gehabt, dass nach ca. 1
> Tag am Strom die Farben nicht mehr passen (schwarze Bildbereiche werden
> in einem lila dargetstellt)

Konntest du das Problem eingrenzen? Bei mir läuft das AL seit Monaten 
korrekt durch. Es wird nie ausgeschaltet, sondern geht nur in den 
Standby. Bei dem von dir genannten Effekt würde ich mal auf einen 
Ausfall der grünen LEDs tippen. Gehen die grünen Indikator-LEDs bei 
Bedienung durch die FB an und blinken die Standsby-LEDs?

pitschu

von Bert (Gast)


Lesenswert?

Hallo.
Ich las vor einiger Zeit in einem anderen Forum, daß 24p-Signale durch 
die derzeit zu kaufenden HDMI-Splitter bzw. HDMI2AV Converter nicht 
korrekt verarbeitet werden.
Ist dem so? Bleibt das Ambilight bei BluRay-Spielfilme mit 24p Output 
"stumm"?

Gruß
Bert

von Pat W. (frankp)


Angehängte Dateien:

Lesenswert?

Peter Schulten schrieb:
> Pat Wat schrieb:
>> Ich habe jetzt momentan den interessanten Fehler gehabt, dass nach ca. 1
>> Tag am Strom die Farben nicht mehr passen (schwarze Bildbereiche werden
>> in einem lila dargetstellt)
>
> Konntest du das Problem eingrenzen? Bei mir läuft das AL seit Monaten
> korrekt durch. Es wird nie ausgeschaltet, sondern geht nur in den
> Standby. Bei dem von dir genannten Effekt würde ich mal auf einen
> Ausfall der grünen LEDs tippen. Gehen die grünen Indikator-LEDs bei
> Bedienung durch die FB an und blinken die Standsby-LEDs?
>
> pitschu

Ich versuch das Problem nochmal zu reproduzieren, evtl. hatte der 
anwesende Besuch auch nur am HDMI Converter rumgespielt. :)
Ist seit dem auch nicht mehr aufgetreten. Über den Jahreswechsel werde 
ich wohl noch einige intensive Testläufe machen. Den Herr der Ringe 
Probelauf hat es auf jeden Fall beeindruckend bestanden :)


Achja habe momentan noch blanke und komplett bestückte PCB´s (der PullUp 
sitzt jetzt auf der Rückseite) übrig...

Wer also will - melden. (hab noch 2 Zusatzbohrungen drauf, bei den 
RCA-Jacks, da die ursprünglich bestellten nicht mehr lieferbar waren. 
(für diese hier ist es jetzt passend: 
http://www.ebay.de/itm/331262346929?_trksid=p2059210.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT 
)

Gruß
Pat

: Bearbeitet durch User
von Andreasgs (Gast)


Lesenswert?

Dass du no lp hast fällt dir genau dann ein, wenn ich mein ambilight mit 
gefühlt 3 km draht zum laufen gebracht hab... Grr

Thats life!

von Pat W. (frankp)


Lesenswert?

Sorry, musste erst den Familienbedarf decken :-/

von Waldemar (Gast)


Lesenswert?

Hallo,
was würde eine Platine kosten? Bekanntenkreis hat Bedarf...

Grüße

von Andreas G. (andreasgs)


Angehängte Dateien:

Lesenswert?

Passt scho. Bevor ich angefangen hab, dacht ich noch "solltest 
vielleicht mal im Forum nach Platinen fragen - ach des lass ich sein, 
hat ja eh keiner mehr ne Platine und meine Bauteile passen eh ned und 
des wird scho ned so heftig mit dem fädeln..." Tjoa falsch gedacht, hät 
ich mal besser nachgefragt.

Trotzdem funktionierts, danke pitschu für die tolle Arbeit!

Edit: keine Ahnung warum das Bild am Kopf steht

: Bearbeitet durch User
von Pat W. (frankp)


Lesenswert?

Bei Bedarf mir einfach ne Email / PN schreiben, ich werde jetzt übers 
neue Jahr hier wahrscheinlich nicht mehr reinschauen :)

Gruß

von Ed. D. (edde)


Lesenswert?

Hallo,

Gsunds Neues Jahr erstmal.

ich bin neu hier habe aber schon oft hier drin gestöbert, weil es 
einfach super tipps und Projekte gibt.

Dies hier interessiert mich so brennend das ich mich jetzt auch mal 
angemeldet habe, ich hoffe ich kann auch mal zu was beitragen.

Meine Fragen: Kann man das auch mit LPD8806-Ledketten betreiben?

Wer dies das richtige Board:
http://www.ebay.de/itm/151321456572?_trksid=p2060778.m2763.l2649&ssPageName=STRK%3AMEBIDX%3AIT

und ich hoffe frankp hat noch eine Platine :)


LG EDDE

von R. H. (snapper)


Lesenswert?

nicht das Nucleo sondern dieses:

Ebay-Artikel Nr. 271511729470

von Pat W. (frankp)


Lesenswert?

Morgen, ja hab noch Platinen übrig.

Achja Peter - habe den Fehler nochmal gehabt, kam vom HDMI Splitter ;) 
(...was man nicht selbst gebaut hat, hmm)

Gruß

von Ed. D. (edde)


Lesenswert?

Hallo,

danke mal an alle für dieses geniale Projekt.

@Pat Teile sind angekommen, so wie es jetzt ist funzt es leider nicht 
mit meiner Led-Kette.

Vielleicht hat ja jemand dies schon mal mit LPD8806 zum laufen gebracht. 
Mit dieser Mµ habe ich noch keine Erfahrung aber ich bin lernwillig :) 
Mit AVR ATMega/Tiny habe ich schon viel gemacht. Bin mir sicher wenn ich 
einmal eine mir passende Entwicklungsumgebung habe klappts auch mit dem 
STM32 :). Vielleicht kann mir hier ja jemand eine Empfehlung abgeben. 
Eclipse ist grad nicht so mein ding. An das AVR-Studio 4... hatte ich 
mich schon richtig gewöhnt :). Naja ist vielleicht auch nur eine 
Einstellungssache.
Beruflich bin ich Software-Entwickler und Programmiere mit Delphi XE7


Erweiterungswünsche/Vorschläge habe ich auch schon :) und kann hierfür 
Tipps gebrauchen.
Ein Lan/WLan mit dem man alle Einstellungen macht und Philips-HUE 
steuern kann.

Eventuell gibt es hier auch Erfahrung welche Hardware man dazu am besten 
verwendet. Bestimmt gibt es dazu auch schon diverse Libraries.

Beste Dank schon mal für alles

LG EDDE

von Wowa (Gast)


Lesenswert?

Für WLAN Anbindung wäre der ESP8266 (WLAN-UART) geeignet. Der Kostet 
mittlerweile 3€
gruß

von Ed. D. (edde)


Lesenswert?

Danke Wowa,

gestern hat China angeklopft und mir das Teilchen geliefert.

Meine Led-Kette konnte ich leider nicht anschließen, braucht 2 
Steuerleitungen. Aber jetzt habe ich auch da das richtige.

Und das funtzt jetzt auch :)

Nun muss ich mir mal über eine Entwicklungsumgebung Gedanken machen.
Da ich alles auf VM installiere ist mir OS soweit egal. Kann mir jemand 
Tipps geben welches Win 7,8,8.1 32/64Bit und was für 
Entwicklungsumgebung da für Anfänger der Mµ am besten ist?

Gibt es auch schon Libraries für ESP8266 ?


Besten Dank schon mal

LG EDDE

von Wowa (Gast)


Lesenswert?

Hallo EDDE,

erstmal würde ich das Ding updaten:
http://blog.electrodragon.com/cloud-updating-your-wi07c-esp8266-now/
Danach kannst du das Modul mit einem Befehl auf den aktuellsten Stand 
bringen. (Das Modul ladet das Update vom Espressif Server und 
installiert es von selbst)

Bei mir waren die RX/TX Pins 5V-tolerant. VCC ist NICHT 5V-tolerant!


Dafür brauchst du keine Library, du musst nur die ganzen AT-Kommandos 
kennen:
http://www.mikrocontroller.net/articles/ESP8266
Unten im Artikel sind einige Links dazu aufgeführt.

Bei mir ist das WLAN Modul an dem Trockner und Waschmaschine im Keller 
dran und Meldet mir aufs Handy (Pushbullet, Push Notifications) ob der 
Kondenswasserbehälter voll ist oder Trockner/Waschmaschine das Programm 
beendet hat.
(http://forum.arduino.cc/index.php?topic=287852.0) hier der Code...

Man müsste eine Handy-App schreiben, die per UDP/TCPIP die Parameter mit 
Ambilight austauschen. (Habe keine Ahnung von Android/Java)

Hoffe es Hilft dir weiter!

von Ed. D. (edde)


Lesenswert?

Danke Wowa für Deine Antwort!!
Lang lang hat es gedauert bis ich mich hier für die Tipps Bedanke.
Erstmal Entschuldigung dafür, aber wie es so ist 1. kommt es anders 2. 
als man denkt. Als Entwicklungsumgebung werde ich mich wohl für SiSy 
entscheiden und dann damit demnächst anfangen. Fragen folgen dann 
bestimmt :)

Besten Dank noch mal

LG EDDE

von Andreas B. (buyman)


Lesenswert?

Sind noch Platinen vorhanden? Ich würde meinem STM32 Board gerne etwas 
zu tun geben.

Wenn ich das jetzt richtig gelesen habe benötige ich:
- STM32F4 Disovery (vorhanden)
- 5V Netzteil (vorhanden)
- Optional: HDMI-Splitter (AV-Receiver mit 2x HDMI Ausgang vorhanden)
clk_rvr_id=822796253073&rmvSB=true)
- HDMI2AV 
(http://www.aliexpress.com/item/Standard-HDMI-Interface-Mini-HD-Video-Converter-Box-HD-To-RCA-AV-CVSB-L-R-Video/32319808733.html)
- 2x Cinch-Buchse (http://www.ebay.de/itm/331262346929?
- WS2812 LED Strip mit maximal 60 LEDs/m bei 1,2m breite = 72 LEDs 
horizontal
Idealerweise mit schwarzem PCB:
http://www.aliexpress.com/item/DC-5V-WS2812B-2812-IC-60LEDs-M-SMD-5050-RGB-Led-Strip-Light-addressable-Dream-Color/32320831854.html
http://www.aliexpress.com/item/60LEDs-2812-2812B-Pixel-5050RGB-SMD-Built-in-Digital-Color-Flexible-LED-Strip-Light-Black-Board/32283915946.html

http://www.aliexpress.com/item/DC-5V-WS2812B-2812-IC-60LEDs-M-SMD-5050-RGB-Led-Strip-Light-addressable-Dream-Color/32320831854.html

Habe ich etwas vergessen?

Frage: wie lange darf die Verbindung zwischen HDMI-AV-Wandler und 
Platine sein? Bzw. die Datenleitung zu den LEDs?
Mein TV hängt an der Wand. Entweder ich verpacke die ganze Eletronik im 
Rack oder hinter dem TV. Dann ist sie allerdings sichtbar. Die 
Entfernung zwischen Rack und TV liegt aber bei ca. 2m (Kabellänge).

Evtl. würde sich auch ein Wiki-Artikel zum Projekt lohnen. Persönlich 
finde ich das deutlich spannender/gelungener als die ganzen Raspberry Pi 
Lösungen :)

: Bearbeitet durch User
von Wowa (Gast)


Lesenswert?

Die ganzen ICs (TVP5150)/Hühnerfutter von der Ambilightplatine hast du 
vergessen.

2m Datenleitung zu den LEDs habe ich und es funzt

von Bernd (Gast)


Lesenswert?

Ed. De. schrieb:
> Nun muss ich mir mal über eine Entwicklungsumgebung Gedanken machen.
> Da ich alles auf VM installiere ist mir OS soweit egal. Kann mir jemand
> Tipps geben welches Win 7,8,8.1 32/64Bit und was für
> Entwicklungsumgebung da für Anfänger der Mµ am besten ist?

Also im unten genannten Link gibt es eine Anleitung wie das Projekt von 
Pitchu unter Eclipse kompiliert werden kann. Somit kann man auch 
Änderungen durchführen.
Beitrag "Re: Ambilight mit STM32F4discovery und TVP5150AM1"

von R. H. (snapper)


Angehängte Dateien:

Lesenswert?

Hallo
habe letzte Woche meine PCB´s vom China-Man bekommen,
mit etwas abgeändertem Layout.
da ich die leider immer nur im 10er Pack bestellen kann ist da mit 
Sicherheit noch was über. TVP5150 und noch div. andere Teile erwarte ich 
Ende nächster Woche! kannst mir ja mal ne PN schicken !

Gruß

von Ed. D. (edde)


Lesenswert?

Hallo,

@Bernd  Danke das hätte ich mal früher lesen sollen. Dann hätte ich mir 
den krampf mit Sisy und 200€ sparen können. Meiner Meinung nach der 
grösste mist was es in der Sache gibt.
Habe mir grade die Text-Datei geladen und werde mich morgen mal 
intensive damit beschäftigen. Immo tue ich mich noch total hart mit dem 
STM32, will mir gar nicht in Kopf, mit den AVR48-328 habe ich mich 
irgendwie leichter getan. Naja beim alten Mann dauert es immer ein wenig 
länger :)


LG EDDE

von Michael K. (damichl)


Lesenswert?

Hallo,

Hat noch jemand eine Platine übrig? Egal ab bestückt oder nicht.

Falls ja, bitte PM.

Danke.

von Thilo H. (thaala)


Lesenswert?

Ich habe hier noch zwei fertig bestückte!
Den TVP gabs günstig im 5er Pack vom aliexpress.

von Waldemar Heimann (Gast)


Lesenswert?

Was würde eine kosten?

von Thomas D. (thomasderbastler)


Lesenswert?

Andreas K. schrieb:
.........
> Idealerweise mit schwarzem PCB:
> 
http://www.aliexpress.com/item/DC-5V-WS2812B-2812-IC-60LEDs-M-SMD-5050-RGB-Led-Strip-Light-addressable-Dream-Color/32320831854.html
> 
http://www.aliexpress.com/item/60LEDs-2812-2812B-Pixel-5050RGB-SMD-Built-in-Digital-Color-Flexible-LED-Strip-Light-Black-Board/32283915946.html
>
> 
http://www.aliexpress.com/item/DC-5V-WS2812B-2812-IC-60LEDs-M-SMD-5050-RGB-Led-Strip-Light-addressable-Dream-Color/32320831854.html
>
> Habe ich etwas vergessen?

Bei nächsten TV Kauf einen Phillips holen. Ich schätze der 
Preisunterschied ( vergleichbare Geräte ) liegt Maximum 200 Euro was 
evtl. ein Phillips mehr kostet mit super Ambilight ! Das gebastelte 
kommt mit Sicherheit nicht dran. ( habe selber einen 55er der 9er Serie, 
super Teil )

von Habe_kein_PHILIPS_TV (Gast)


Lesenswert?

Erstens: Du kannst ja nicht mal den Namen des Herstellers deines 
Fernsehers schreiben, aber dafür manchen die Laune versauen.

Zweitens: Sowas kannst du in ein Philips-Forum reinschreiben. Hier gehts 
nicht um Kaufberatung und Benchmarks. Außerdem gibt es KEINE 
"standalone"-Lösung zum NACHRÜSTEN auf dem Markt! Und ich meine nicht 
die Raspberry/PC Lösung etc. sowas braucht HIER keiner....

Beispiel: Wenn dein Auto keine Telefon-Freisprech-Funktion hat, du aber 
gerne diese haben willst, dann kaufst du dir doch kein neues/aktuelleres 
Fahrzeug welches das kann, sondern rüstest es nach?

Drittens: Ich finde das Ergebnis dieser Schaltung hervorragend, außerdem 
heißt es meistens in diesem Forum: der Weg ist das Ziel

Hiermit möchte ich mich bei den Leuten Bedanken, die ihre Ideen und 
deren Umsetzungen mit uns teilen.

von Pit S. (pitschu)


Lesenswert?

Hallo Thomas,
eigentlich habe ich es gebaut weil ich eben keinen Philips mehr hatte, 
aber das AL behalten wollte. Die bauen zweifelsohne gute Fernseher.
Mich würde interessieren, was am Original AL besser ist, bzw. was dem 
Slebstbau noch fehlt. Die Selbstbauer hier sind an Optimierungen mit 
Sicherheit interessiert. Hast du ein paar Hintergrundinfos zum 
Philips-AL (technische Feinheiten ...)

pitschu

von Rene H. (Gast)


Lesenswert?

Cooles Projekt. Danke an Pitschu.

Mir erschliesst sich allerdings nicht, weshalb man Ambilight am TV will. 
Mich würde es ablenken.

Grüsse,
René

von Thomas D. (thomasderbastler)


Lesenswert?

Peter S. schrieb:
> keinen Philips mehr hatte,

Also kennst die Sache.
https://www.youtube.com/watch?v=D7OwK8gMwWA

habe am Anfang kurz überlegt es nachzubauen, aber so sauber wie das 
"originale" ist, glaube ich, ist es der Nachbau nicht ( Was kostet 
insgesamt der Nachbau ? und wollte keine "Elktronikgedönst um den TV 
herum haben )

Ich will keine Werbung machen, aber ich finde in der Preisklasse ( für 
mich ) hat die 9er Serie die beste Bild Qualität.

von Pit S. (pitschu)


Lesenswert?

Das Philips-AL im Video scheint mir nicht sehr hoch auflösend zu sein - 
links und rechts sieht man nur 2 bis 3 Lichtkleckse, oben vermutlich 3 
bis 4 und unten ist gar nichts. Bei dem Selbstbau gehen links und rechts 
bis zu 60 und oben/unten jeweils bis zu 96. Damit wird das Bild 
rundherum wirklich detailliert auf die Wand projiziert. Die geringe 
Auflöung hatte mich bei meinem Philips etwas enttäuscht. Wieviele Leds 
sind denn da eigentlich verbaut?

pitschu

von Thilo H. (thaala)


Lesenswert?

>>> Was würde eine kosten?
Weiß nicht - willst Du nur die Platine - oder fertig mit stm inclu?

was hälst du von 18/30 + Versand?
Rest per PM.

Gruß thilo

von Waldemar Heimann (Gast)


Lesenswert?

Ich reserviere für einen Bekannten mit STM Board. Ich sage heute/morgen 
bescheid.

Auf Funktion geprüft?
Gruß

von Thilo H. (thaala)


Lesenswert?

>>> Auf Funktion geprüft?

Ja. Die Version die geflashed ist aber nicht die neueste und enthält 
eine mod. Ich habe nämlich den Einspeisepunkt rechts unten (von Hinten 
gesehen).

Aber Du musst es ja sowieso anpassen an die Konf. für deinen Bekannten.

Gruß Thilo

von Waldemar Heimann (Gast)


Lesenswert?

Muss leider die Reservierung zurückziehen. Er hat wohl im Moment kein 
Interesse.

Trotzdem, vielen Dank für dein Angebot. Du wirst es sicher schnell los 
werden.

Gruß

Thilo H. schrieb:
>>>> Auf Funktion geprüft?
>
> Ja. Die Version die geflashed ist aber nicht die neueste und enthält
> eine mod. Ich habe nämlich den Einspeisepunkt rechts unten (von Hinten
> gesehen).
>
> Aber Du musst es ja sowieso anpassen an die Konf. für deinen Bekannten.
>
> Gruß Thilo

von Thilo H. (thaala)


Lesenswert?

Liebe Mitstreiter,
die Platinen sind nun alle wech...

Gruß Thilo

P.S. sollten sich aber genug Leute für eine Sammelaktion melden (minimum 
10) können wir mal über eine Neuauflage nachdenken.

von philipp (Gast)


Lesenswert?

Ich hätte Interesse!

von GuelleHans (Gast)


Lesenswert?

Hallo zusammen,
Wegen Umstieg auf original Philips und fehlender Zeit verkaufe ich meine 
2 Sets Ambilight.

1. Set beinhaltet das STM32F4, das bestückte und getestete 555 Board, 
HDMI Splitter, HMDI-> Analog Converter, 5V 5A Schaltnetzteil (Meanwell) 
und 5m WS2812B (neu) 60 LEDs/m und Gehäuse.

2.Set beinhaltet das STM32F4, das bestückte und getestete 555 Board und 
einen ALU-Profil U Rahmen mit darin verlegten WS2812B 60LEDs/m passend 
für TV ab 42 Zoll (wurde bei 55 Zoll verwendet).

Bitte nur seriöse Angebote unterbreiten. Fotos kann ich bei Interesse 
per Mail versenden.

Danke nochmals an Pitschu für dieses coole Projekt.

von Waldemar (Gast)



Lesenswert?

Hallo Pitschu und der Rest des Forums,

das Ambilight läuft nun seit fast einem Jahr und ich bin überaus 
zufrieden damit! Vielen Dank nochmals!

Ich hätte eine Frage und damit gleichzeitig eine Bitte:

...erst zum Anlass: Ich betreibe das Ambilight wie wahrscheinlich andere 
auch mit einem HDMI-Splitter und HDMI2AV-Converter. Sobald der Converter 
kein Signal mehr bekommt -> HDMI-Quelle (TV/Konsole/etc) ausgeschaltet, 
generiert der Converter ein statisches Test-Bild welches aus 
verschiedenfarbigen, vertikal angeordneten Streifen besteht. Dann muss 
ich quasi manuell den Ambilight-Controller ausschalten.

Ist es (mit relativ geringem) Aufwand möglich, bei einem statischem 
FBAS-Signal einen Timer hochzählen zu lassen und nach einer bestimmten, 
einstellbaren Zeit den Ambilight-Controller dazu bringen alle LEDs 
auszuschalten? Da das Eingangssignal ein analoges Signal ist, wird es 
wahrscheinlich schwierig sein ein statisches Bild zu erkennen? Rauschen 
etc...
Hat jemand die Daten von einem Standbild angesehen, ob diese auch 
statisch sind?

Ich bin mit der Software nicht so fit, und bitte deshalb jemanden, dem 
das evtl. leicht fällt umzusetzen?

PS: Bild aus dem Internet, sieht aber ähnlich/gleich aus

Gruß

von Zoe Chloe (Gast)


Angehängte Dateien:

Lesenswert?

Hallo alle zusammen ich Deutsch nicht sprechen, so leid für mein 
schlechtes
Ich habe das Board bestellt. das Schiff STM32F407VET6
wird es arbeitet bei diesem Projekt?
jede Angabe von Code oder PIN-out?
ich danke dir sehr

von pitschu (Gast)


Lesenswert?

Hi Zoe Chloe,

as I understand, you want to use the board you mentioned instead of the 
STM32F4discovery. Generally this should be possible as the processors 
are nearly the same. The only difference is, that the STM32F407VGT6 on 
the discovery board has 1024kB Flash and the STM32F407VET6 only has 
512kB. This does not matter as the Ambilight uses less than 512kb Flash. 
Another thing is: Are the I/O Pins needed available on your board. You 
should check that (have a look at the schematic in the very first post 
of this thread).

pitschu

von Zoe Chloe (Gast)


Angehängte Dateien:

Lesenswert?

MFG, ich denke nicht, dass Sie Zeit haben, mir zu antworten
erste danke
-Ich Will einige dümmer zu stellen things.If ich den Code zum STM32F4 
Board laden, wird der Code Aufenthalt im Board für immer?
-Wenn ich möchte die LED-Reihe (oben, unten, links, rechts Rand) zu 
ändern, was ich zu tun habe?
-die Fernbedienung können Sie auf dem Dokument zeigen (pdf), kann es nur 
Wert des schwarzen Strichs ändern erkennen, nicht die LED-Nummer?
-Ich Eagle Ambilight-Board-Datei verwenden, um die Karte zu drucken, ist 
das ein Problem?
(Weil ich fand einige Updates im Thema)
-in dem Bild, das ich hochgeladen habe, werde ich habe genug I / O-Pin, 
dass Sie diese Ambilight Arbeit zu machen erwähnt?
Ich hoffe, dass Sie mir antworten, weil ich niemanden gefunden zu fragen

Danke <3

von pitschu (Gast)


Lesenswert?

May be it's better if you translate your questions into English instead 
of German. I didn't catch your points right.

von Zoe Chloe (Gast)


Lesenswert?

I do not think you have time to answer me
but first thank you!!


after I've read your document.I just have 1 question
-All the values of L,W,T,H I dont have to care about because it's good 
for you that means It's also good for me?
All I need to do is change the led number (P and R) and I can use the 
remote to change it after I have uploaded your code to the board?

von Frank (Gast)


Lesenswert?

Hallo, hat jemand das Eagle-Board Version 1.2 von Patrik B probiert und 
kann bestätigen daß es funktioniert ?
Ich würde das ganze gerne nachbauen.

von holger (Gast)


Lesenswert?

>Hallo, hat jemand das Eagle-Board Version 1.2 von Patrik B probiert und
>kann bestätigen daß es funktioniert ?

Ich denke das Patrik das probiert hat.

von Pit S. (pitschu)


Lesenswert?

Zoe Chloe schrieb:
> after I've read your document.I just have 1 question
> -All the values of L,W,T,H I dont have to care about because it's good
> for you that means It's also good for me?
> All I need to do is change the led number (P and R) and I can use the
> remote to change it after I have uploaded your code to the board?

The L,W,T and H parameters depend on your TV. P + R depend on how many 
LEDs your WS2812 stripe has. So first you should upload the code to your 
board, then set P and R via a terminal conection. Then you may adjust 
the L,W,T and H parameters according to your TV picture.

von Frank (Gast)


Lesenswert?

Ok.
Platine ist geordert. Ich musste 4 bestellen, also wenn jemand eine 
braucht....... (Farbe schwarz).

Dauert allerdings ein bischen.

von Zoe Chloe (Gast)


Lesenswert?

Peter S. schrieb:
> Zoe Chloe schrieb:
>> after I've read your document.I just have 1 question
>> -All the values of L,W,T,H I dont have to care about because it's good
>> for you that means It's also good for me?
>> All I need to do is change the led number (P and R) and I can use the
>> remote to change it after I have uploaded your code to the board?
>
> The L,W,T and H parameters depend on your TV. P + R depend on how many
> LEDs your WS2812 stripe has. So first you should upload the code to your
> board, then set P and R via a terminal conection. Then you may adjust
> the L,W,T and H parameters according to your TV picture.

thank you
so which software and port should I use to open the terminal connection
my board has an usb otg port,should I use it as virtual com port to open 
terminal connection?

von Pit S. (pitschu)


Lesenswert?

Waldemar schrieb:
> Ist es (mit relativ geringem) Aufwand möglich, bei einem statischem
> FBAS-Signal einen Timer hochzählen zu lassen und nach einer bestimmten,
> einstellbaren Zeit den Ambilight-Controller dazu bringen alle LEDs
> auszuschalten? Da das Eingangssignal ein analoges Signal ist, wird es
> wahrscheinlich schwierig sein ein statisches Bild zu erkennen? Rauschen
> etc...
> Hat jemand die Daten von einem Standbild angesehen, ob diese auch
> statisch sind?

Hallo Waldemar,
sorry, dass ich Deinen Post übersehen habe, ich hatte zwischendurch 
Urlaub. Zu Deinem Anliegen: Die Erkennung eines statischen Bildes müsste 
einfach möglich sein. Die Idee wäre, über eine Art Screenshot ein Bild 
der internen 64x40 Matrix im Flash zu Speichern (über einen IR-Button) 
und während der normalen Bearbeitung mit dem aktuellen Bild zu 
vergleichen. Wenn sich über mehrere Sekunden die Werte aller Matrixwerte 
um weniger als z.B. 10% zum Vergleichsabbild ändern, wird das Screenshot 
Bild angezeigt und das AL geht in den Standby. Da ich selbst das AL ohne 
HDMI Converter betreibe, habe ich z.Z. wenig Motivation, das umzusetzen. 
Evtl. ist jemand anderes bereit, sich dieses Problems anzunehmen.

Besten Gruß
pitschu

von Pit S. (pitschu)


Lesenswert?

Zoe Chloe schrieb:
> thank you
> so which software and port should I use to open the terminal connection
> my board has an usb otg port,should I use it as virtual com port to open
> terminal connection?

Yes, the Ambilight software implements a virtual COM port on the STM32 
USB port pins. You will need the ST windows driver to use a virtual COM 
port on your PC.

von Zoe Chloe (Gast)


Angehängte Dateien:

Lesenswert?

I've found this.input the HDMI signal and then ADV7611 some how turns 
out alot of pins (RGB data)

how does this work.cant it combine with stm32f407 board?

von Waldemar H. (vual)


Lesenswert?

Peter S. schrieb:
> Waldemar schrieb:
>> Ist es (mit relativ geringem) Aufwand möglich, bei einem statischem
>> FBAS-Signal einen Timer hochzählen zu lassen und nach einer bestimmten,
>> einstellbaren Zeit den Ambilight-Controller dazu bringen alle LEDs
>> auszuschalten? Da das Eingangssignal ein analoges Signal ist, wird es
>> wahrscheinlich schwierig sein ein statisches Bild zu erkennen? Rauschen
>> etc...
>> Hat jemand die Daten von einem Standbild angesehen, ob diese auch
>> statisch sind?
>
> Hallo Waldemar,
> sorry, dass ich Deinen Post übersehen habe, ich hatte zwischendurch
> Urlaub. Zu Deinem Anliegen: Die Erkennung eines statischen Bildes müsste
> einfach möglich sein. Die Idee wäre, über eine Art Screenshot ein Bild
> der internen 64x40 Matrix im Flash zu Speichern (über einen IR-Button)
> und während der normalen Bearbeitung mit dem aktuellen Bild zu
> vergleichen. Wenn sich über mehrere Sekunden die Werte aller Matrixwerte
> um weniger als z.B. 10% zum Vergleichsabbild ändern, wird das Screenshot
> Bild angezeigt und das AL geht in den Standby. Da ich selbst das AL ohne
> HDMI Converter betreibe, habe ich z.Z. wenig Motivation, das umzusetzen.
> Evtl. ist jemand anderes bereit, sich dieses Problems anzunehmen.
>
> Besten Gruß
> pitschu


Danke für die Antwort! Ich hoffe es finden sich noch Leute, die das 
selbe Anliegen/Problem haben.

Darf ich fragen mit was du dein Ambilight betreibst, bzw. woher du dein 
Video-Signal abzweigst (wenn nicht aus HDMI-Conv.). Mein Fernseher gibt 
hinten an der SCART-Buchse leider nur das DVB-C Signal wieder und keine 
Spiegelung des aktuellen Bildes, d.h. wenn ich am Fernseher eine 
Ext-Quelle ansehe gibt er mir trotzdem nur Antennen-Signal wieder... 
(SAMSUNG)

Es wäre doch mal eine Idee eine neue HW-Version zu erstellen und 
HDMI+FBAS(als zweiter Eingang) und dann aber gleich den STM-uC auf eine 
Platine zu implementieren. Ich würde mich für den HW-Teil/Layout 
bereitstellen. An der Software scheiterts bei mir leider...

Gruß

von pitschu (Gast)


Lesenswert?

Waldemar H. schrieb:
> Darf ich fragen mit was du dein Ambilight betreibst, bzw. woher du dein
> Video-Signal abzweigst (wenn nicht aus HDMI-Conv.). Mein Fernseher gibt
> hinten an der SCART-Buchse leider nur das DVB-C Signal wieder und keine
> Spiegelung des aktuellen Bildes, d.h. wenn ich am Fernseher eine
> Ext-Quelle ansehe gibt er mir trotzdem nur Antennen-Signal wieder...
> (SAMSUNG)

Ich nutze einen VU+ Receiver, welcher einen FBAS-Ausgang hat. Der zweite 
AL-Eingang hängt an einem BlueRay Player, auch mit FBAS Ausgang.

von Zoe_Chloe (Gast)


Lesenswert?

can anyone tell me how to upload eclipse project to the board stm32f407
I have imported the project into workspace and an error pop up when I 
click debug " binary not found"
thanks

von Zoe_chloe (Gast)


Lesenswert?

hello pitschu
is there any different between upload the code to stm32f4 board using st 
link utility(using hex file) and upload the code using eclipse?

I'have uploaded the code using st link(hex file),will it fully 
function?(like usb VCP)??
thank you,wait for your answer

von Zoe_chloe (Gast)


Angehängte Dateien:

Lesenswert?

tx-pa7
rx-pa6
gnd-gnd
5v-5v
nothing show up in putty to config the led number
(code downloaded by st-link ultility-
use Ambilight-STM32F4-GNUARM-V1.2.hex-
stlink v2)
help

von pitschu (Gast)


Lesenswert?

The AL software uses UART3. TX/RX are on pins PD8+9. What do you expect 
to be reported on these pins when no hardware (like TVP) is connected to 
the other pins?
Did you check the setting of USB/UART in the sources? When USB is 
selected, nothing is reported on UART3 and vice versa.

von Zoe_chloe (Gast)


Lesenswert?

thanks pitschu for replying me
I'v test uart 4 by an application (hello world) and it works fine
do you mean with AL software, i have to connect tvp 5150 board to use it 
throught terminal?
thanks

von Zoe_chloe (Gast)


Angehängte Dateien:

Lesenswert?

someone help me.pls
upload hex to the stm32f4
I'v connect tvp5150 board
connect uart 3
pd8 to rx
pd9 to tx (cp2120 usb adapter)
open putty
chose com
rate 9600
open and the black window show up.nothing to set parametter
:((((((

von pitschu (Gast)


Lesenswert?

The baudrate should be set to 115200. Do you have an oscilloscope to 
check vrious signals (like I2C to the TVP or the LED port pins which are 
mounted on a discovery board)? Did you check the USE_USB setting in the 
sources/project settings? If it is set, nothing is sent to the USART. It 
has to be #undef for USART output.
I can't help with the spare information you gave us. Please post the 
schematic of your hardware.

von Zoe_chloe (Gast)


Lesenswert?

thanks pitschu.I have a tons of thing wanna send you.can you give me an 
email
pls
I just upload your hex.I dont modify anything at all
and all the pin of my mini stm32f4 is sync to yours
give me the email.pls.I will give you schematic.and anything you need

von Zoe_Chloe (Gast)


Angehängte Dateien:

Lesenswert?

hello pitschu
this rar contains schematic and pcb of tvp 5150 board I have edited to 
match the STM32f4VET6 mini(also has the schematic and pcb in the rar)
thank you

von Zoe_chloe (Gast)


Angehängte Dateien:

Lesenswert?

here is my board

von Zoe_chloe (Gast)


Angehängte Dateien:

Lesenswert?

anything I have to test before I plug the stm32f4 board on?

von Zoe_Chloe (Gast)


Angehängte Dateien:

Lesenswert?

the steps that I have done
1:upload hex file(1.2 version) to stm32f4 board with stlink ultility
2:solder the tvp5150am1 board
3:connect the tvp5150 board to stm32f4 board
4:plugin power supply 5V to the board
5: use UART 3 (TX to PD9, RX to PD8) connect to computer.the computer 
show COM port 4
6:oppen Putty and select COM4-serial-115200 baud rate
 open putty and show up this black screen.no respone

von pitschu (Gast)


Lesenswert?

What happens if you change TX/RX from the USB adapter? On many CP2102 
boards the TX and RX are marked in the senso of: Connect RX to RX and TX 
to TX.

von Zoe_Chloe (Gast)


Lesenswert?

It's still the same
I have a "Hello world"program to test uart 4 and it's works fine 
(download with keil)
anything wrong with my steps?

von Zoe_chloe (Gast)


Angehängte Dateien:

Lesenswert?

I try another boards( both stm32f4 and tvp5150)
just download the code and then plug in the led ws2812B
and it's show only the led 0 with green color

von Zoe_chloe (Gast)


Angehängte Dateien:

Lesenswert?

and when I press couple of buttons in the remote.it changes the color 
but only after I restart the board.not live view

von Zoe_chloe (Gast)


Angehängte Dateien:

Lesenswert?

the led is just stuck all white wehn I connect all the things 
together(hdmi split,hdmitoav).it didnt react with the screen change

von Tachibana R. (tachibana_r)


Angehängte Dateien:

Lesenswert?

finally I got report from UART 4 like this.USART3 not work
 and the putty like this.what is the problems?
Zoe_chloe
thanks

: Bearbeitet durch User
von Tachibana R. (tachibana_r)


Lesenswert?

I think PLL clock fails probably
can anyone help me?

von Pit S. (pitschu)


Angehängte Dateien:

Lesenswert?

I just tried the HEX attached in this post on a brand new STM32F4dicso 
board. I made some changes for your CPU (only 512K flash). I'm sure it 
works and USART out is on PD8. Please use this HEX and tell what's 
happening.

pitschu

von Tachibana R. (tachibana_r)


Lesenswert?

Peter S. schrieb:
> I just tried the HEX attached in this post on a brand new STM32F4dicso
> board. I made some changes for your CPU (only 512K flash). I'm sure it
> works and USART out is on PD8. Please use this HEX and tell what's
> happening.
>
> pitschu

thankkkkkkkkk yooooooooooooooou.fnatic vs liquid is live now.I will try 
it soon
give me you paypal email.I will donate $5 each time you reply me
love you <3

von Tachibana R. (tachibana_r)


Angehängte Dateien:

Lesenswert?

Peter S. schrieb:
> I just tried the HEX attached in this post on a brand new STM32F4dicso
> board. I made some changes for your CPU (only 512K flash). I'm sure it
> works and USART out is on PD8. Please use this HEX and tell what's
> happening.
>
> pitschu

report after flash this hex

1-flash using stlink ultility success
2-connect usart3 using pd8 and pd9: no usart report
3-connect usart 3 alternative(pc10 pc11): no usart report
4-connect usart 3 alternative(pc10 pc11) with boot 0 on high: report 
delay but show like this

von Tachibana R. (tachibana_r)


Lesenswert?

this is stlink report

10:43:02 : ST-LINK SN : 56FF6A067182515120381667
10:43:02 : ST-LINK Firmware version : V2J27S6
10:43:02 : Connected via SWD.
10:43:02 : SWD Frequency = 4,0 MHz.
10:43:02 : Connection mode : Normal.
10:43:02 : Debug in Low Power mode enabled.
10:43:02 : Device ID:0x413
10:43:02 : Device flash Size : 512KBytes
10:43:02 : Device family :STM32F405xx/F407xx/F415xx/F417xx
10:43:18 : Binary File closed.
10:43:41 : [Ambilight-STM32F4-GNUARM-V1.2.hex] opened successfully.
                  Address Ranges [0x08000000 0x080001D4] [0x080001E0 
0x08014F8C]
10:43:41 : [Ambilight-STM32F4-GNUARM-V1.2.hex] checksum : 0x007E8E52
10:43:47 : Memory programmed in 3s and 281ms.

von Tachibana R. (tachibana_r)


Angehängte Dateien:

Lesenswert?

yaaaa.and it's seem stable when I use main pin for usart 3 (PB10-PB11)
why still nothing in putty?
what have I do to show the interface?

von Tachibana R. (tachibana_r)


Angehängte Dateien:

Lesenswert?

this is uart pin map

von Pit S. (pitschu)


Lesenswert?

The AL software defintly uses pin mapping 3 (PD8/9) for USART3, so the 
other mappings don't care. So, there shouldn't be any output on pins 
PB10/11. These pins are not used by the AL software. I don't think that 
you flashed the HEX file in the right way.
I'm missing massages like "... erasing flash ..." in your ST-Link log 
report. Are you sure that you erased the flash before flashing the HEX 
file?

von Tachibana R. (tachibana_r)


Lesenswert?

Peter S. schrieb:
> The AL software defintly uses pin mapping 3 (PD8/9) for USART3, so the
> other mappings don't care. So, there shouldn't be any output on pins
> PB10/11. These pins are not used by the AL software. I don't think that
> you flashed the HEX file in the right way.
> I'm missing massages like "... erasing flash ..." in your ST-Link log
> report. Are you sure that you erased the flash before flashing the HEX
> file?

I will try to earse before flash again.thank you <3

von Tachibana R. (tachibana_r)



Lesenswert?

Peter S. schrieb:
> The AL software defintly uses pin mapping 3 (PD8/9) for USART3, so the
> other mappings don't care. So, there shouldn't be any output on pins
> PB10/11. These pins are not used by the AL software. I don't think that
> you flashed the HEX file in the right way.
> I'm missing massages like "... erasing flash ..." in your ST-Link log
> report. Are you sure that you erased the flash before flashing the HEX
> file?

I erased the flash then flash the hex.still the same.only the pc10 pc11 
work
is there any chance my stm32f4 board dont have usart on pd8 
pd9(manufactor or firmware problems?)
I've ordered a oscilloscope
I have to make this work

von Pit S. (pitschu)


Lesenswert?

Be aware that the BOOT0 pin has to be low to boot from flash. I think 
your board boots from the system bootloader which uses several sources 
to search for a programming device and you see some output on PB10/11 
and PC10/11.
Read the datasheet on page 55:
Embedded bootloader
The embedded bootloader mode is used to reprogram the Flash memory using 
one of the
following serial interfaces:
● USART1(PA9/PA10)
● USART3(PB10/11 and PC10/11)
● CAN2(PB5/13)
● USB OTG FS(PA11/12) in Device mode (DFU: device firmware upgrade).

Set BOOT0 to GND and it should work.

von Tachibana R. (tachibana_r)


Angehängte Dateien:

Lesenswert?

Peter S. schrieb:
> Be aware that the BOOT0 pin has to be low to boot from flash. I think
> your board boots from the system bootloader which uses several sources
> to search for a programming device and you see some output on PB10/11
> and PC10/11.
> Read the datasheet on page 55:
> Embedded bootloader
> The embedded bootloader mode is used to reprogram the Flash memory using
> one of the
> following serial interfaces:
> ● USART1(PA9/PA10)
> ● USART3(PB10/11 and PC10/11)
> ● CAN2(PB5/13)
> ● USB OTG FS(PA11/12) in Device mode (DFU: device firmware upgrade).
>
> Set BOOT0 to GND and it should work.

program with boot 0 to GND done.but it show like this.disconnect 
imideately
 I've try PD8 and PD9.the same result.no respond

: Bearbeitet durch User
von Tachibana R. (tachibana_r)


Lesenswert?

my tvp5150 board I use 1uh for FB1 FB2 and FB3

von Zoe_chloe (Gast)


Angehängte Dateien:

Lesenswert?

hello pitschu
I have oscilloscope now. what do i need to check on the board?

von Juha K (Gast)


Lesenswert?

I would like to purchase the boards . components with or without.

pkjuha2@gmail.com

von Juha K (Gast)


Lesenswert?

Zoe_chloe schrieb:
> here is my board

Where did you board ?

von Zoe_chloe (Gast)


Angehängte Dateien:

Lesenswert?

Juha K schrieb:
> Zoe_chloe schrieb:
> here is my board
>
> Where did you board ?

it's not work yet. and it's different from the board in the very first 
post.

von Zoe_chloe (Gast)


Angehängte Dateien:

Lesenswert?

this is my signal to the led when I just plugin. I press the key on the 
remote ( the stm32 board receive the signal) but nothing happen
the led color is white

von Zoe_chloe (Gast)


Angehängte Dateien:

Lesenswert?

and this is I2C PE6 signal
 please pitschu
thank you

von Juha K (Gast)


Lesenswert?


von Juha K (Gast)


Angehängte Dateien:

Lesenswert?

Scimo v1.1 and v1.2 :)

von Juha K (Gast)


Angehängte Dateien:

Lesenswert?

V1.1

von Tachibana R. (tachibana_r)


Lesenswert?

Please Pitschu.
I think the only problem here is just the chip clock or PPL clock was 
wrong set on the code so the stm32f407VET not working properly

von Juha K (Gast)


Lesenswert?

Is the source code available ?
Scimo firmware?

von zoe (Gast)


Angehängte Dateien:

Lesenswert?

hello pitschu
moodlight works. and the terminal too now i can set everything
but it says no signal from video input
and the tvp5150 log like this
is that my TVP chip problems or something??
all zero include device ID

von pitschu (Gast)


Lesenswert?

Hi Zoe,
I think there is a problem with the I2C bus between the STM32 and the 
video chip. Maybe you forgot the pullups on the CLK and DATA lines (try 
2.2k). If you have a logic analyzer you can check what's going on there.

von zoe (Gast)


Lesenswert?

pitschu schrieb:
> Hi Zoe,
> I think there is a problem with the I2C bus between the STM32 and the
> video chip. Maybe you forgot the pullups on the CLK and DATA lines (try
> 2.2k). If you have a logic analyzer you can check what's going on there.

yeah thanks. I was digging the topic before you reply and I got it.need 
exactly 2k2-4k7 pull up resistor between +3v3 and I2C (SCL on 5150) 
right??

von zoe (Gast)


Lesenswert?

still the same
i measure the voltage
1,8 is 1,8
3,3 just 3,15
was that a problem?

von Waldemar (Gast)


Angehängte Dateien:

Lesenswert?

zoe schrieb:
> still the same
> i measure the voltage
> 1,8 is 1,8
> 3,3 just 3,15
> was that a problem?

You have to look on I2C-Bus with a logic analyzer / oscilloscope to see 
the signals/commands.

The pullup resistors has to be on SDA and SCL, doesn't matter where on 
the board...

von zoe (Gast)


Angehängte Dateien:

Lesenswert?

finally i got it. but still novideo signal.
I use HDMI from computer through hdmi2av

von zoe (Gast)


Lesenswert?

Video status changed: 01 at source 2, mode = 2

Video status changed: 11 at source 2, mode = 2

No video signal at source 2, mode = 2

change to source 1 and the same

von Waldemar (Gast)


Lesenswert?

Maybe you have to Power the hdmi2av converter with USB?

von zoe (Gast)


Lesenswert?

Waldemar schrieb:
> Maybe you have to Power the hdmi2av converter with USB?

yeah I have powered it already. i think it's some kind of malfunction 
because it's very hot, is there anyway for me to check with 
oscilloscope?

von zoe (Gast)


Angehängte Dateien:

Lesenswert?

now the log like this but no light

von pitschu (Gast)


Lesenswert?

The alternating video status (11, 15, 85, ..) shows that there is no 
stable video signal. At least the status bits 3, 2 and 1 (color carrier 
lock, Vsync lock and Hsync lock) must be set. In the log you should see 
something like 0E or 8E. Check your video source and your hdmi2av 
converter.

von Waldemar (Gast)


Lesenswert?

zoe schrieb:
> Waldemar schrieb:
> Maybe you have to Power the hdmi2av converter with USB?
>
> yeah I have powered it already. i think it's some kind of malfunction
> because it's very hot, is there anyway for me to check with
> oscilloscope?

Check your converter with an old TV which has an AV Input

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.