Ich schon wieder, hoffe ist nur was simples. und ich habe nur ein Knoten im Hirn.
Da durch Hhilfe bzw selbst rausfinden nun die Schrift hinhaut.
Anderes Problem. Ich bzw für den ich das Mache, möchte gerne 2 Schriftarten haben.
Das Funktioniert auch. Aber ich bekomme es nicht hin das Beide Schriftarten nacheinander Durchlaufen.
Entweder nur die Eine oder die andere.
Bzw er macht da Murks.
Der Komplette code kommt gleich. Nein ihr könnt ihn leider nicht ausprobieren, da ihr die Schriftarten nicht habt. Und ich kann euch nur die Links zu den Original Libs geben.
#include <FastLED.h>
#include <LEDMatrix.h>
#include <LEDText.h>
#include <storming.h> // Schriftart 1
#include <odinson.h> // Schriftart 2
// Change the next 6 defines to match your matrix type and size
#define LED_PIN 2
#define COLOR_ORDER GRB
#define CHIPSET WS2812B
#define MATRIX_WIDTH -32
#define MATRIX_HEIGHT 8
#define MATRIX_TYPE VERTICAL_ZIGZAG_MATRIX
cLEDMatrix<MATRIX_WIDTH, MATRIX_HEIGHT, MATRIX_TYPE> leds;
cLEDText ScrollingMsg; // Laufschrift 1
cLEDText ScrollingMsg1; // Laufschrift 2
const unsigned char TxtDemo[] = { // Text 1, und die Effekte
EFFECT_HSV_AH "\x00\xff\xff\xff\xff\xff" " RAGNAROEK"
};
const unsigned char TxtDemo1[] = { // Text 2, und die Effekte
EFFECT_HSV_AH "\x00\xff\xff\xff\xff\xff" " RAGNAROEK"
};
void setup()
{
FastLED.addLeds<CHIPSET, LED_PIN, COLOR_ORDER>(leds[0], leds.Size());
//FastLED.setCorrection(true);
FastLED.setBrightness(10);
FastLED.clear(true);
FastLED.show();
ScrollingMsg.SetFont(FontStormning7x9Data); // Schriftart 1
ScrollingMsg.Init(&leds, leds.Width(), ScrollingMsg.FontHeight() + 1, 0, 0);
ScrollingMsg.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1);
ScrollingMsg.SetTextColrOptions(COLR_RGB | COLR_SINGLE, 0xff, 0x00, 0xff);
ScrollingMsg1.SetFont(FontOdinson8x9Data); // Schriftart 2
ScrollingMsg1.Init(&leds, leds.Width(), ScrollingMsg1.FontHeight() + 1, 0, 0);
ScrollingMsg1.SetText((unsigned char *)TxtDemo1, sizeof(TxtDemo1) - 1);
ScrollingMsg1.SetTextColrOptions(COLR_RGB | COLR_SINGLE, 0xff, 0x00, 0xff);
}
void loop(){
if (ScrollingMsg.UpdateText() == -1)
ScrollingMsg.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1);
else
FastLED.show();
delay(20);
}
Das wäre der gesammte Code.
Immoment zeigt er nur die Schriftart 1 An.
Probiert habe ich.
void loop(){
if (ScrollingMsg.UpdateText() == -1)
ScrollingMsg.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1);
else
FastLED.show();
delay(20);
if (ScrollingMsg1.UpdateText() == -1)
ScrollingMsg1.SetText((unsigned char *)TxtDemo1, sizeof(TxtDemo1) - 1);
else
FastLED.show();
delay(20);
}
Da da mischt er beide zusammen und alle Zeichen sind ineinander also sieht es nach murks aus.
Dann habe ich das hier Probiert.
void loop(){
if (ScrollingMsg.UpdateText() == -1)
ScrollingMsg.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1);
else if
(ScrollingMsg1.UpdateText() == -1)
ScrollingMsg1.SetText((unsigned char *)TxtDemo1, sizeof(TxtDemo1) - 1);
else
FastLED.show();
delay(20);
}
Da Zeigt er nur Schriftart 2 Richtig an, und Schriftart 1 kommt nur mal kurtz 2 zeichen oder garnicht oder zeigt es gemischt wie im ersten versuch an. aber nie komplett.
Und nun weis ich nicht was ich noch hatte. jedenfalls ganz viele andere versuche.
wo er dann garnix anzeigte.
und sehr viele fehlermeldungen mit else bevor if. und irgend was mit ; fehte
und das { irgend wo falsch wäre. oder zu viel
entweder ich habe nen knoten im hirn oder ich mache grundlegend was falsch.
er arbeitet doch den loop nacheinander ab. und wenn die erste if else durch ist nimmt er doch den 2ten if else. aber warum tut er das nicht wirklich ?
vieleicht habt ihr ne idee.
( und nein ich male jetzt nicht wieder den aufbau des dingens auf. und wie es angeschlossen ist und und und. weil es ist ein reines code prohblem und kein strom, spannung, watt, anschluss, widerstand, elko, kabel, kabelfarben, kabellänge, kabeldicke problem)
die Libs sind diese hier,
https://github.com/AaronLiddiment/LEDText
https://github.com/AaronLiddiment/LEDMatrix
https://github.com/FastLED/FastLED