(07.07.2020, 07:58)gogosch schrieb: [ -> ]Hardware tuning.
70Mhz SPI-Speed - oha
.
Bei mir geht über 50Mhz nichts mehr.
Musste es bei mir auf 50Mhz begrenzen, wie vorher.
Zappelt aber chic, gefällt mir
.
LG
PS: ich kämpfe gerade mit dem Peak-Hold
.
(07.07.2020, 08:06)DIYLAB schrieb: [ -> ] (07.07.2020, 07:58)gogosch schrieb: [ -> ]Hardware tuning.
70Mhz SPI-Speed - oha .
Bei mir geht über 50Mhz nichts mehr.
Musste es bei mir auf 50Mhz begrenzen, wie vorher.
Bie mir ist erst ab 80Mhz Sense. Da sieht man am LCD diverse Artefakte. Läuft aber.
Muss jeder selbst ausprobieren. Glaube, der Teensy 4.1 ist doch etwas leistungsfähiger.
Jetzt ist eine Attack- und Release-Zeit von 300ms ohne (gröbere) Zeigerartefakte möglich.
(07.07.2020, 08:22)gogosch schrieb: [ -> ]Glaube, der Teensy 4.1 ist doch etwas leistungsfähiger.
Woher sollte die Mehrleistung kommen?
Er hat mehr RAM, CPU ist gleich.
70Mhz SPI macht auch der Teensy 4.0, nur der Displaycontroller ist dann halt stark übertaktet.
Schon bei 50Mhz ist er 20Mhz drüber
.
LG
Keina Ahnung warum es bei mir funzt.
(07.07.2020, 08:29)gogosch schrieb: [ -> ]Keina Ahnung warum es bei mir funzt.
Weil du ein Display mit einem gut übertaktbaren Controller erwischt hast
.
Habe mit 3 Displays getestet, meine können alle nicht 70Mhz.
LG
(07.07.2020, 08:40)gogosch schrieb: [ -> ]Hab meines von dort:
Ja ich auch.
Die Streuung der Chips ist ein Faktor.
War bei alten PC-CPUs ja auch so, manche ließen sich gut übertakten, andere nicht.
Hab auch ILI9341-Displays mit CS-Anschluss (
diese hier), geht auch nicht bei 70Mhz.
Bin gespannt auf das Feedback der anderen Bastler.
Vielleicht bin ich er einzige, bei dem 70Mhz nicht laufen
LG
(07.07.2020, 08:45)DIYLAB schrieb: [ -> ] (07.07.2020, 08:40)gogosch schrieb: [ -> ]Hab meines von dort:
Bin gespannt auf das Feedback der anderen Bastler.
Vielleicht bin ich er einzige, bei dem 70Mhz nicht laufen
LG
Muss mal jeder ausprobieren ob es mit 60Mhz oder auch 70Mhz funktioniert.
(07.07.2020, 08:48)gogosch schrieb: [ -> ]Muss mal jeder ausprobieren ob es mit 60Mhz oder auch 70Mhz funktioniert.
Jo, kann man machen, ist meiner Meinung nach aber der falsche Ansatz.
Die FFT hat ja bewiesen, dass sowohl das Display, als auch der Teensy schnell genug sind.
Auch ohne Framebuffer bei der FFT.
Das digitale VU kommt auch ohne Buffer aus.
Das einzige was beim analogen Modus bremst, ist das Zeichnen des Hintergrundes.
Da haben wir von der Software zwar alles rausgeholt was geht, aber writeRect ist nun mal an seiner Grenze.
Deswegen hatte ich von Hans-Volker das Bild mit kleinerer Farbpalette bekommen und versucht, writeRect2BPP oder writeRect4BPP zu implementieren.
Leider habe ich es nicht geschafft
Vielleicht wird es dann schneller, wenn nicht immer Bilder mit ganzer Palette gezeichnet werden müssen ...
LG
60 und 70Mhz laufen bei mir nicht, weißes Display. Mit Einstellung 50Mhz ist alles gut
schönen Tag
Andreas
PS.: ich klemme mal noch die anderen vorhandenen Displays ran wenn ich mehr Zeit habe... bin gespannt...
Bei mir laufen die 70 MHz auf beiden Bildschirmen, dem 2,8 er und dem 3,2 er. Teensy 4.0 mit Audioshield.
Was mir aber auffällt, besonders bei einem Monosignal - die Kanäle laufen mit gegenseitigem Versatz und einem Ruckler:
(07.07.2020, 11:21)havox schrieb: [ -> ]Bei mir laufen die 70 MHz auf beiden Bildschirmen, dem 2,8 er und dem 3,2 er. Teensy 4.0 mit Audioshield.
Was mir aber auffällt, besonders bei einem Monosignal - die Kanäle laufen mit gegenseitigem Versatz und einem Ruckler:
Die gleichzeitige Ansteuerung der beiden Kanäle ist mangels Multitasking nicht möglich. Die Kanäle werden (leider) seriell in wenigen ms Abstand abgearbeitet. Das sollte man normalerweise nicht bemerken.
Der Ruckler ist bei mir (in der letzen Version?) nicht nachvollziebar. Kommt offenabr auf deas Input-Signal an. Wenn ich 1kHz bei 0db einspiele und den Kanal mehrmals kurz hinterienander abstöpsle geht der Zeiger jedes mal gleichmäßig und sanft nach unten. Vermute hier generell einen Issue in der RMS-Generierung, da immer ein gewisses Intervall betrachtet werden muss. Ist es bei Einstellung "Peak" auch so?
Mir ist auch eine gewisse Verzögerung zum Live-Signal aufgefallen.
edit: solved
Der Ruckler wurde beseitigt. War ein veralteter und nicht verwendeter Test-Timer. Eventuell noch vorhandene Micro-Ruckler siehe oben.
14:30 neue version online.
Uii, das ging ja flott !
Habe ich gleich mal geladen und dann noch ein bisschen mit den Einstellungen rumgespielt - Needleattack mit 15 und Needlerelease mit 10 sieht für mich sehr gut aus
(07.07.2020, 13:13)gogosch schrieb: [ -> ] (07.07.2020, 11:21)havox schrieb: [ -> ]Bei mir laufen die 70 MHz auf beiden Bildschirmen, dem 2,8 er und dem 3,2 er. Teensy 4.0 mit Audioshield.
Was mir aber auffällt, besonders bei einem Monosignal - die Kanäle laufen mit gegenseitigem Versatz und einem Ruckler:
Die gleichzeitige Ansteuerung der beiden Kanäle ist mangels Multitasking nicht möglich. Die Kanäle werden (leider) seriell in wenigen ms Abstand abgearbeitet. Das sollte man normalerweise nicht bemerken.
Der Ruckler ist bei mir (in der letzen Version?) nicht nachvollziebar. Kommt offenabr auf deas Input-Signal an. Wenn ich 1kHz bei 0db einspiele und den Kanal mehrmals kurz hinterienander abstöpsle geht der Zeiger jedes mal gleichmäßig und sanft nach unten. Vermute hier generell einen Issue in der RMS-Generierung, da immer ein gewisses Intervall betrachtet werden muss. Ist es bei Einstellung "Peak" auch so?
Mir ist auch eine gewisse Verzögerung zum Live-Signal aufgefallen.
edit: solved
Neue Version geladen und sie funktioniert
Habe nun Musik und Sprache in Mono eingespeist und der Nadelversatz ist schon nicht ohne (wie im Video von Hans-Volker)
Im Stereobetrieb fällt das nicht ganz so auf.
Lässt es sich vielleicht angleichen (zB. durch Verzögerung des voreilenden Zeigers)?
wird denn jedesmal das Bild neu gezeichnet ? Man könnte doch nur das Delta neu zeichnen lassen.
Ich hab leider noch keine Ruhe da mitzubasteln auch wenn ich die Teile hier hab. Bis auf Schauen geht gerade nichts.
(07.07.2020, 16:51)Svennibenni schrieb: [ -> ]wird denn jedesmal das Bild neu gezeichnet ? Man könnte doch nur das Delta neu zeichnen lassen.
Moin Sven,
bei jeder Zeigerbewegung wird der Hintergrund der entsprechenden Seite neu gezeichnet.
Der Hintergrund ist ein Bild pro Seite, welches nur die Skala umfasst.
Der Zeiger besteht aus 3 Linien und wenn sich die Nadel bewegt wird nur das Rechteck refresht, welches die Nadel umschließt.
Ein Delta der reinen Nadelposition ist leider nicht möglich, schön wärs.
Deutlich smoother und schneller würde es gehen, wenn die Skala komplett selbst gezeichnet werden würde, dann ginge so einiges.
LG
Hi !
so das richtige anzeige ist angekommen
vekabelt, und das resultat :
sehr schön, der kleine untersatz ist bestellt !
Bei der neuen Version ist das leichte Flackern welches ich bei Teilen der Skalenbeschriftung hatte praktisch nicht mehr vorhanden
schönen Tag
Andreas
vor dem Engagement von Bruno und Gogosch.
Es scheint aktuell wohl der Zeigerversatz durch die zeitverzögerte Ansteuerung der Zeiger (erst links, dann rechts) noch problematisch zu sein.
Bei Mono fällt es schon sehr deutlich auf, insbesondere bei größeren Pegelsprüngen.
Bei Stereo nicht so stark, da es hier ja ohnehin unterschiedlich zappelt, man hat es aber im Hinterkopf.
Gogosch schrieb ja, dass die Ansteuerung nicht zeitgleich möglich ist.
Ich hoffe der Versatz lässt sich noch minimieren.
(08.07.2020, 12:16)dettel schrieb: [ -> ]Gogosch schrieb ja, dass die Ansteuerung nicht zeitgleich möglich ist.
Ich hoffe der Versatz lässt sich noch minimieren.
Moin,
das fällt mir auch auf die Füße bei der digitalen Anzeige.
Da bin ich gerade dabei und der Versatz ist noch ungelöst.
Vielleicht ist das ein Ansatz:
Teensy Threading Library.
Habe es selbst noch nicht getestet, da ich gerade mit dem Peak-Hold-Fallback kämpfe, aber sieht zumindest vielversprechend aus
LG
Vielleicht könnte man versuchsweise den Screen-Refresh
jeweils am Ende aus den Funktionen
Code:
drawNeedleLeft()
drawNeedleRight()
entfernen und beim Aufruf in der Hauptschleife nach dem Zeichnen
einen gemeinsamen Update des Screens durchführen:
Code:
for (double i = 0; i <= 1; i = i + .005) {
drawNeedleLeft(i);
drawNeedleRight(i);
delay(MILLIS);
}
for (double i = 1; i > 0; i = i - .005) {
drawNeedleLeft(i);
drawNeedleRight(i);
delay(MILLIS);
}
Code:
for (double i = 0; i <= 1; i = i + .005) {
drawNeedleLeft(i);
drawNeedleRight(i);
tft.updateScreen()
delay(MILLIS);
}
for (double i = 1; i > 0; i = i - .005) {
drawNeedleLeft(i);
drawNeedleRight(i);
tft.updateScreen()
delay(MILLIS);
}
Natürlich muss man dann beachten, dass
drawNeedle nun nichts
mehr malt, ohne anschliessenden Aufruf vom Screenupdate.
(09.07.2020, 07:17)winix schrieb: [ -> ]Vielleicht könnte man versuchsweise...
Danke fürs Mitdenken
Ich hoffe, dass ich am Analogteil auch mal ein bisschen arbeiten kann, aber ich war auch fleißig an den anderen Baustellen
Die digitale Anzeige ist fertig und arbeitet für mich einwandfrei - inkl. Peakanzeige.
Der Spectrumanalyzer hat nun auch zusätzlich und wahlweise 15 Balken bekommen und auch eine Peakanzeige.
Alle Anzeigen lassen sich segmentiert ode flat darstellen. Die Ballistik ist einstellbar.
Ich stelle alles Morgen, spätestens Übermorgen vor, dann sind wir fast durch.
LG
...evt. lässt sich der "Nadel-Versatz" dadurch minimieren, wenn man
nicht grundsätzlich draw links vor rechts aufgeruft, sondern auch mal
rechts vor links...