[Project] NeopixelBusFX - WS2812 Effekt-Plugin für ESPEasy

Begonnen von djcysmic, 05 Juli 2017, 21:19:46

Vorheriges Thema - Nächstes Thema

MikeR

Zitat von: clumsy am 15 Februar 2021, 22:08:52
Nein, du hast natürlich recht... war wohl etwas spät als ich mir das gestern angesehen hatte... sorry, mein Fehler... also hast du die neuste NeoPixelBus Library?

Quatsch kein Thema, bin ja um jede Idee dankbar!!!

Zitat von: clumsy am 15 Februar 2021, 22:08:52
Dann kannst höchstens noch versuchen die eine welche er jetzt benutzt mal zu löschen, damit er die 2. nimmt und sehen ob da das gleiche Problem auftaucht...

Schon getestet, es sind aber eh beide Versionen gleich. Kein nennenswerter Effekt was die Compilierbarkeit angeht. Leider

Dann bleibe ich halt beim D1 mini. Dachte halt das es evtl. mit dem ESP32 flüssiger läuft. Beim D1 ruckelt es manchmal etwas.

Auf jeden Fall herzlichen Dank für die Unterstützung, ich finde das tolle an solchen Foren ist, dass man von anderen wildfremden Menschen Hilfe bekommt, denn DAS ist es letztendlich was das Menschsein ausmacht. Auch wenn das jetzt vielleicht ein wenig zu philosophisch für ein technisches Board klingt  ;)

Liebe Grüße
Mike

djcysmic

Moin.
Hast du mal versucht, die Methode in Zeile 113 im Plugin

#define METHOD NeoEsp8266Uart1800KbpsMethod

durch eine der folgenden Methoden zu ersetzen?

NeoEsp32I2s1800KbpsMethod
NeoEsp32I2s1400KbpsMethod
NeoEsp32I2s1Ws2813Method


Siehe auch https://github.com/Makuna/NeoPixelBus/wiki/ESP32-NeoMethods

MikeR

Zitat von: djcysmic am 16 Februar 2021, 09:49:51
Moin.
Hast du mal versucht, die Methode in Zeile 113 im Plugin

JETZT ja, vorher nein...

Es sind auch deutlich weniger Fehler vom Compiler. Evtl. doch ein Problem mit unterschiedlichen int Längen?
Siehe angehängtes Errorlog. (oder soll ich mal die "ausführliche Ausgabe bei der Kompilierung" einschalten?

LG
Mike

djcysmic

In Zeile 282 im Plugin fehlt vermutlich noch eine Pin-Angabe für den Output-Pin als letzter Parameter, weil dieser beim ESP8266 nicht nötig ist.
Ich habe leider gerade keinen ESP32 zur Hand, um das zu testen...

Plugin_124_pixels = new NEOPIXEL_LIB<FEATURE, METHOD>(Settings.TaskDevicePluginConfig[event->TaskIndex][0],OutputPIN);

MikeR

Wie gebe ich denn z.b. Pin GPIO17 an?
Ich meine mal gelesen zu haben, dass beim Arduino IDE boardabhängig Konstanten definiert sind, finde aber nix  :-\ :'(

djcysmic

Hast du es mal mit der GPIO-Nummer probiert? In deinem Fall wäre das einfach 17.

Ansonsten liefern Suchbegriffe wie ESP32, Pinout, Arduino, etc. bei Google jede Menge Treffer... evtl. auch über die Bildersuche.

MikeR

Also zumindest übersetzen lässt es sich so schon mal. Klasse!
Wenn ich den Testaufbau fertig habe, werde ich berichten!

LG und Danke nochmal an alle
Mike

DJAlex

Hallo zusammen ich verwende das Plugin hier schon eine ganze weile erfolgreich. Jetzt bin ich gerade am ausbauen und wollte mal fragen ob sich die Grenze der 999 Pixel einfach beheben lässt?

retro1

Hallo Forum,

seit etwa 3 Wochen bekomme ich folgende Fehlermeldung beim Kompilieren:


/home/roland/Arduino/ESPEasy/_P124_NeoPixelBusFX.ino: In function 'boolean Plugin_124(byte, EventStruct*, String&)':
_P124_NeoPixelBusFX:454:43: error: no matching function for call to 'formatToHex(uint8_t&, const char [1])'
           colorStr += formatToHex(rgb.R,"");

/home/roland/Arduino/ESPEasy/ESPEasy/_P124_NeoPixelBusFX.ino:454:43: note: candidates are:
In file included from /home/roland/Arduino/ESPEasy/ESPEasy/_Plugin_Helper.h:37:0,
                 from /home/roland/Arduino/ESPEasy/ESPEasy/ESPEasy.ino:102:
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note: String formatToHex(long unsigned int, const __FlashStringHelper*)
String formatToHex(unsigned long value,
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note:   no known conversion for argument 2 from 'const char [1]' to 'const __FlashStringHelper*'
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note: String formatToHex(long unsigned int)
String formatToHex(unsigned long value);
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note:   candidate expects 1 argument, 2 provided
_P124_NeoPixelBusFX:456:43: error: no matching function for call to 'formatToHex(uint8_t&, const char [1])'
           colorStr += formatToHex(rgb.G,"");
                                           ^
/home/roland/Arduino/ESPEasy/ESPEasy/_P124_NeoPixelBusFX.ino:456:43: note: candidates are:
In file included from /home/roland/Arduino/ESPEasy/ESPEasy/_Plugin_Helper.h:37:0,
                 from /home/roland/Arduino/ESPEasy/ESPEasy/ESPEasy.ino:102:
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note: String formatToHex(long unsigned int, const __FlashStringHelper*)
String formatToHex(unsigned long value,
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note:   no known conversion for argument 2 from 'const char [1]' to 'const __FlashStringHelper*'
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note: String formatToHex(long unsigned int)
String formatToHex(unsigned long value);
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note:   candidate expects 1 argument, 2 provided
_P124_NeoPixelBusFX:458:43: error: no matching function for call to 'formatToHex(uint8_t&, const char [1])'
           colorStr += formatToHex(rgb.B,"");
                                           ^
/home/roland/Arduino/ESPEasy/ESPEasy/_P124_NeoPixelBusFX.ino:458:43: note: candidates are:
In file included from /home/roland/Arduino/ESPEasy/ESPEasy/_Plugin_Helper.h:37:0,
                 from /home/roland/Arduino/ESPEasy/ESPEasy/ESPEasy.ino:102:
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note: String formatToHex(long unsigned int, const __FlashStringHelper*)
String formatToHex(unsigned long value,
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note:   no known conversion for argument 2 from 'const char [1]' to 'const __FlashStringHelper*'
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note: String formatToHex(long unsigned int)
String formatToHex(unsigned long value);
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note:   candidate expects 1 argument, 2 provided
_P124_NeoPixelBusFX:488:43: error: no matching function for call to 'formatToHex(uint8_t&, const char [1])'
           colorStr += formatToHex(rgb.R,"");
                                           ^
/home/roland/Arduino/ESPEasy/ESPEasy/_P124_NeoPixelBusFX.ino:488:43: note: candidates are:
In file included from /home/roland/Arduino/ESPEasy/ESPEasy/_Plugin_Helper.h:37:0,
                 from /home/roland/Arduino/ESPEasy/ESPEasy/ESPEasy.ino:102:
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note: String formatToHex(long unsigned int, const __FlashStringHelper*)
String formatToHex(unsigned long value,
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note:   no known conversion for argument 2 from 'const char [1]' to 'const __FlashStringHelper*'
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note: String formatToHex(long unsigned int)
String formatToHex(unsigned long value);
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note:   candidate expects 1 argument, 2 provided
_P124_NeoPixelBusFX:490:43: error: no matching function for call to 'formatToHex(uint8_t&, const char [1])'
           colorStr += formatToHex(rgb.G,"");
                                           ^
/home/roland/Arduino/ESPEasy/ESPEasy/_P124_NeoPixelBusFX.ino:490:43: note: candidates are:
In file included from /home/roland/Arduino/ESPEasy/ESPEasy/_Plugin_Helper.h:37:0,
                 from /home/roland/Arduino/ESPEasy/ESPEasy/ESPEasy.ino:102:
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note: String formatToHex(long unsigned int, const __FlashStringHelper*)
String formatToHex(unsigned long value,
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note:   no known conversion for argument 2 from 'const char [1]' to 'const __FlashStringHelper*'
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note: String formatToHex(long unsigned int)
String formatToHex(unsigned long value);
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note:   candidate expects 1 argument, 2 provided
_P124_NeoPixelBusFX:492:43: error: no matching function for call to 'formatToHex(uint8_t&, const char [1])'
           colorStr += formatToHex(rgb.B,"");
                                           ^
/home/roland/Arduino/ESPEasy/ESPEasy/_P124_NeoPixelBusFX.ino:492:43: note: candidates are:
In file included from /home/roland/Arduino/ESPEasy/ESPEasy/_Plugin_Helper.h:37:0,
                 from /home/roland/Arduino/ESPEasy/ESPEasy/ESPEasy.ino:102:
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note: String formatToHex(long unsigned int, const __FlashStringHelper*)
String formatToHex(unsigned long value,
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note:   no known conversion for argument 2 from 'const char [1]' to 'const __FlashStringHelper*'
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note: String formatToHex(long unsigned int)
String formatToHex(unsigned long value);
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note:   candidate expects 1 argument, 2 provided
_P124_NeoPixelBusFX:506:43: error: no matching function for call to 'formatToHex(uint8_t&, const char [1])'
           colorStr += formatToHex(rgb.R,"");
                                           ^
/home/roland/Arduino/ESPEasy/ESPEasy/_P124_NeoPixelBusFX.ino:506:43: note: candidates are:
In file included from /home/roland/Arduino/ESPEasy/ESPEasy/_Plugin_Helper.h:37:0,
                 from /home/roland/Arduino/ESPEasy/ESPEasy/ESPEasy.ino:102:
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note: String formatToHex(long unsigned int, const __FlashStringHelper*)
String formatToHex(unsigned long value,
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note:   no known conversion for argument 2 from 'const char [1]' to 'const __FlashStringHelper*'
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note: String formatToHex(long unsigned int)
String formatToHex(unsigned long value);
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note:   candidate expects 1 argument, 2 provided
_P124_NeoPixelBusFX:508:43: error: no matching function for call to 'formatToHex(uint8_t&, const char [1])'
           colorStr += formatToHex(rgb.G,"");
                                           ^
/home/roland/Arduino/ESPEasy/ESPEasy/_P124_NeoPixelBusFX.ino:508:43: note: candidates are:
In file included from /home/roland/Arduino/ESPEasy/ESPEasy/_Plugin_Helper.h:37:0,
                 from /home/roland/Arduino/ESPEasy/ESPEasy/ESPEasy.ino:102:
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note: String formatToHex(long unsigned int, const __FlashStringHelper*)
String formatToHex(unsigned long value,
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note:   no known conversion for argument 2 from 'const char [1]' to 'const __FlashStringHelper*'
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note: String formatToHex(long unsigned int)
String formatToHex(unsigned long value);
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note:   candidate expects 1 argument, 2 provided
_P124_NeoPixelBusFX:510:43: error: no matching function for call to 'formatToHex(uint8_t&, const char [1])'
           colorStr += formatToHex(rgb.B,"");
                                           ^
/home/roland/Arduino/ESPEasy/ESPEasy/_P124_NeoPixelBusFX.ino:510:43: note: candidates are:
In file included from /home/roland/Arduino/ESPEasy/ESPEasy/_Plugin_Helper.h:37:0,
                 from /home/roland/Arduino/ESPEasy/ESPEasy/ESPEasy.ino:102:
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note: String formatToHex(long unsigned int, const __FlashStringHelper*)
String formatToHex(unsigned long value,
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:64:8: note:   no known conversion for argument 2 from 'const char [1]' to 'const __FlashStringHelper*'
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note: String formatToHex(long unsigned int)
String formatToHex(unsigned long value);
        ^
/home/roland/Arduino/ESPEasy/ESPEasy/src/Helpers/StringConverter.h:67:8: note:   candidate expects 1 argument, 2 provided
Mehrere Bibliotheken wurden für "Adafruit_SGP30.h" gefunden
Benutzt: /home/roland/Arduino/libraries/Adafruit_SGP30-1.0.5
Nicht benutzt: /home/roland/Arduino/libraries/Adafruit_SGP30_Sensor
exit status 1
no matching function for call to 'formatToHex(uint8_t&, const char [1])'


Hat jemand einen Rat?

Danke und Gruß
Roland

Nobbynews

Gerade mit platformIO und der aktuellen ESPEasy-Version getestet. Keine Probleme.
Da das Plugin seit 5 Monaten und ESPEasy seit dem 3.5. nicht mehr geändert wurden, würde ich mal auf eine neue Version der Arduino-IDE tippen.

kleinericebear

Zitat von: retro1 am 13 Juni 2021, 07:08:32
seit etwa 3 Wochen bekomme ich folgende Fehlermeldung beim Kompilieren:

Hallo Roland, hast Du hier schon eine Lösung gefunden.
Ich bekomme es nach Stunden leider nicht zum laufen :-(

Danke & Grüße
Marc

kleinericebear

Läuft :-)

Mit der aktuellen ESP Version "20210802" läuft es bei mir nicht!
Die ESP Version "20210503" funktioniert hingegen einwandfrei - strange.

retro1

#432
Hallo Forum,

temporäre Lösung bei mir:

src/src/Helpers/StringConverter.h editieren bei Zeile 71:

const __FlashStringHelper * prefix);

ersetzen durch

const String& prefix);


und

src/src/Helpers/StringConverter.cpp editieren bei Zeile 172:

String formatToHex(unsigned long value, const __FlashStringHelper * prefix) {

ersetzen durch

String formatToHex(unsigned long value, const String& prefix) {


EDIT: Zeilen angepasst

Grüsse
Roland

Klaus0815

Könnte es mir evtl jemand als fertiges bin zur Verfügung stellen?

Ich habe schon ewig kein ESPEasy mehr selbst kompiliert - wird sicher nicht auf Anhieb funktionieren :-)

Ich bräuchte sowohl eine Version für den ESP8266 als auch ESP32


Viele Grüße

Klaus

chrisse111179

Hallo,

nach viel ausprobieren und basteln habe ich das auch am Laufen. Super! Danke dafür!
Ist es gewollt, dass Mode und Lastmode nur aktualisiert werden, wenn ich im Device NeoPixelBusFX einen Intervall angebe?
Oder ist da bei mir irgendetwas falsch?

Viele Grüße,
Christian