Go Down

Topic: Sketchoptimierung (Read 348 times) previous topic - next topic

charly2020

Moin
zwieblum mit einem Kommentar auf deinen Post halte ich mich lieber zurück, sonst werde ich auch ausfallend.
Vielleicht habe ich mich auch falsch ausgedrückt. Ist ja richtig im Sketch habe ich 16 Bitmaps aufgeführt.
Aber ich habe einen Weg gesucht, wie ich mit weniger Aufwand 16 oder 50 oder 100 oder mehr Bitmaps anzeigen kann. Klar kann ich 100 mal die Zeilen in den Sketch einfügen, dachte nur es gäbe etwas Eleganteres.
Aber wenn so profane Fragen hier nicht gewünscht sind, werd ich wo anders schauen.

zwieblum

Wasislos? Wenn du 100 bitmaps von Bild00.bmp bis Bild99.bmp anzeigen willst, dann machst' halt i=(i+1)%100; rein, was willst du da kopieren? Ich war mir nur ziemlich sicher, dass du in der Zeile da "if(index>16) index = 0;" übersiehst, dass es 17 bilder sind und nicht 16.

Katsumi_S

Moin
zwieblum mit einem Kommentar auf deinen Post halte ich mich lieber zurück, sonst werde ich auch ausfallend.
Vielleicht habe ich mich auch falsch ausgedrückt. Ist ja richtig im Sketch habe ich 16 Bitmaps aufgeführt.
Aber ich habe einen Weg gesucht, wie ich mit weniger Aufwand 16 oder 50 oder 100 oder mehr Bitmaps anzeigen kann. Klar kann ich 100 mal die Zeilen in den Sketch einfügen, dachte nur es gäbe etwas Eleganteres.
Aber wenn so profane Fragen hier nicht gewünscht sind, werd ich wo anders schauen.
Hallo charly2020,

1. meinte zwieblum nicht Dich, sondern combie hatte sich verrechnet. 0 bis 16 sind 17 Elemente und nicht 16.
2. zwieblum hat ja oben die von Dir übernommene Lösung mit 16 Bildern reingestellt und weiter unten auch schon gesagt wie es geht wenn es mehr oder weniger sind.
Code: [Select]
i=(i+1)%11;
Einfach die 11 durch Deine gewünschte Anzahl -1 ersetzen. Weil erstes Bild ist Bild00.bmp.
Oder den Sketch von combie versuchen und anpassen.

Gruß, Jürgen

combie

Ich entziehe mich der Diskussion.

Gefährlich, was Theorien aus Menschen machen können.
Schlimmer, was Menschen aus Theorien machen.

michael_x

Quote
Oder den Sketch von combie versuchen und anpassen
Modulo ( % ) ist zwar nett, aber selten "optimal".
Den Gedankenfehler, dass 0..1000 1001 Elemente sind, macht man hier wie da gleich gern, denke ich.

Und wenn man schon bewusst Zweierpotenzen verwendet, sollte man nicht hoffen, dass der Compiler das merkt und aus %16 heimlich ein &0x0F macht, sondern es lieber auch gleich so hinschreiben.
Finde ich.
Weil es schön ist, was man mit wenigen Byte alles hinkriegt, deshalb programmieren wir ja solche Winzlinge.

charly2020

Moin
Um mal den etwas herben  Umgangston raus zunehmen.
habe alles durchgetestet konnte aber nur max 24 Bilder anzeigen lassen.
Leider ist das durch die TFT Lib begrenzt.
Also Entschuldigung und bleibt gesund.

zwieblum

Nu, dann schau mal in die TFT library, da gibt's sicher eine Funktion zum Freigeben des Bildes.

Katsumi_S

Moin
Um mal den etwas herben  Umgangston raus zunehmen.
habe alles durchgetestet konnte aber nur max 24 Bilder anzeigen lassen.
Leider ist das durch die TFT Lib begrenzt.
Also Entschuldigung und bleibt gesund.
Der Ton kommt manchmal vor und solange Uwefed (Moderator) nicht einschreitet ist alles noch im grünen Bereich.  ;-)
Wir sind hier noch angenehm, schau mal im Mikrocontroller Forum...

Bist Du sicher das die auf 24 Bilder begrenzt? Oder ist eines der Bilder nicht kompatibel? Die GFX Library von Adafruit will z.B. nur unkomprimierte 24-Bit BMPs. Bei einem Komprimierten kommt eine Fehlermeldung.
Kannst ja mal die Bilder tauschen.
Sonst bleibt eventuell noch eine andere Library wie gerade die Adafruit GFX mit Image_Reader. Habe ich allerdings bisher nur für die Anzeige von Text benutzt und mit Bildanzeige noch nichts gemacht.

Gruß, Jürgen


Go Up