MobaLedLib: 768 LEDs, Servos, Sound, …………… Neue Version ab sofort verfügbar

Bereich für alle Themen rund um Modellbahn-Software, sowie der nötigen Hardware (PCs, Bildschirme, etc.).
Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 722
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Deutschland

Endlich ist sie fertig, die Version 1.0 der MobaLedLib

#1000

Beitrag von Hardi »

Endlich ist sie fertig, die Version 1.0 der MobaLedLib
Hallo MobaLedLib Anhänger,

eigentlich wollte ich die neue Version der Bibliothek pünktlich zum ersten Geburtstag heraus bringen. Aber da waren noch ein paar „Kleinigkeiten“ zu machen. Dann dachte ich, dass der Beitrag #900 eine gute Gelegenheit für die Veröffentlichung wäre. Ich war ja auch schon fast fertig…
Aber es kommt immer anders als man Denkt. In der Zwischenzeit sind fast 4 Wochen vergangen in denen ich intensiv an den Programmen gearbeitet habe. Und wenn die Beitragsnummer #1000 nicht vor der Tür stehen würde, dann hätte ich sicherlich auch noch weitere Verbesserungen eingebaut. Es fehlt ja noch so unendlich viel. Aber ich muss auch mal wieder an was anderes denken können…

Was ist neu?
  • Die wichtigste Neuerung der Bibliothek ist das Charlieplexing Programm. Es hat mich sehr lange beschäftigt.
  • Parallel dazu hat Harold an dem „Farbkasten“ gefeilt (Farbtestprogram). Damit können die Farben und Helligkeiten der LEDs Live verstellt werden und in die Konfiguration übernommen werden.
  • Auf mehrfachen Wunsch kann die MobaLedLib jetzt auch kaputte Neonröhren simulieren.
  • Das Fernsehprogramm ist auch vielfältiger geworden. Jetzt können die Preiser auch mit Schwarz-Weiß TV berieselt werden. Das ist tatsächlich ein riesen Vorteil. Die alten SW-Filme waren deutlich besser als das was wir Heutzutage auf 150 Kanälen präsentiert bekommen.
  • Neben diesen Neuerungen habe ich noch viele kleine Verbesserungen eingebaut
Details:
Charlieplexing:
Das Charlieplexing hat mich schon lange gereizt. Ich habe es (trotz Elektrotechnik Studium) erst vor etwa zwei Jahren entdeckt. Charlieplexing ist ein Verfahren mit dem man viele LEDs mit wenigen Kabeln ansteuern kann. Das ist auf der Modelleisenbahn z.B. bei Lichtsignalen sinnvoll. Damit können 12 verschieden LEDs mit nur 4 Kabeln betreiben werden. Diese Kabel können wie Lorenz das hier https://www.stummiforum.de/viewtopic.ph ... &start=696 zeigt komplett im Mast verschwinden. Das ist Sensationell.

Die Arbeiten von Lorenz, Matthias und Ronny waren auch der Grund warum ich mich endlich daran gemacht habe das Charlieplexing Programm zu erstellen. Die Hardware dazu hatte ich ja schon im Juli gezeigt (https://www.stummiforum.de/viewtopic.ph ... &start=341).

Die obere der Platinen hier zeigt die Bestückung für das Charlieplexing:
Bild
Unten rechts der 4-polige Stecker im Rastermaß von 2mm für das (Viessmann) Signal. Der Winkelstecker darüber wird dabei nicht benötigt.
Das untere Modul zeigt die Variante für Servo Motoren. Aber dazu gibt es noch keine Software (Und fragt nicht wann ich das mache. Ich habe erst mal genug programmiert.).
Achtung: Die Anordnung der Platinen ist falsch. Wenn man mehrere Platinen miteinander verbindet, dann bekommt die „untere“ den Wannenstecker über den die Platinen mit Spannung und Daten versorgt werden.

Prinzip des Charlieplexing:
Beim Charlieplexing werden zwei LEDs antiparallel geschaltet. Die eine hat ihren Pluspol an der Leitung 1, die Andere an der Leitung 2. Wenn man Plus an die erste Leitung anschließt, dann leuchtet die erste LED. Schaltet man den Pluspol dagegen an die zweite Leitung, dann sperrt die erste LED und die Zweite leuchtet.
Bild
(Bild: By Matthiaspaul - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.p ... d=28150690)
Das ist erst mal noch unspektakulär. Zwei LEDs und zwei Kabel. Doch wenn man das Ganze mit drei Leitungen macht wird es schon interessanter:
Bild
(Bild: By Matthiaspaul - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.p ... d=28150690)
Jetzt können 6 LEDs angesteuert werden. Bei der MobaLedLib verwenden wir 4 Leitungen und können damit 12 LEDs ansprechen!
Details dazu findet man z.B. hier: https://en.wikipedia.org/wiki/Charlieplexing

50 Hz / 60 Hz:
Jetzt ist es aber so, dass die LEDs nicht gleichzeitig leuchten können ;-( Das kann man aber umgehen in dem man sie ganz schnell nacheinander einschaltet. Das menschliche Auge sieht das nicht, wenn nur schnell genug umgeschaltet wird. Wenn also mehrere LEDs gleichzeitig leuchten sollen, dann wird kurz die LED 1 und dann kurz die LED 2 und so weiter angeschaltet. Damit man das nicht sieht sollten alle LEDs innerhalb von 20 ms (50Hz) einmal leuchten. Das ist sicherlich auch ein Grund warum unser Stromnetzt mit 50 Hz betrieben wird. Neonröhren leuchten nämlich auch nicht permanent sondern flimmern mit eben diesen 50 Hz. Darum werden auch Video Aufnahmen bei uns mit 50 Hz gemacht. Hat man versehentlich 60 Hz eingestellt, dann flimmert es ganz schrecklich in Räumen welche mit Neonlicht oder LEDs beleuchtet sind.
Das Phänomen hat man auch bei unseren LEDs. Wenn sie mit 50 Hz aktualisiert werden, dann flimmern sie bei einer amerikanischen Videoaufzeichnung. Das geht aber gar nicht. Es gibt nichts Schlimmeres als flackernde LEDs in einem Video. Darum betreibe ich die LEDs mit 300 Hz. Bei dieser Frequenz fühlen sich 50 Hz und 60 Hz Kameras wohl.
Dazu muss der Prozessor die LEDs mit einer Frequenz von 12*300Hz = 3.6 kHz umschalten. Er muss alle 0.28 ms die Spannung an den Anschlüssen verändern. Das ist für einen Prozessor kein Problem. Man programmiert einen Interrupt der den Prozessor alle 0.28 ms unterbricht damit er die nächste LED ansteuert wenn diese leuchten soll.

Helligkeit dimmen:
Aber das ist leider noch nicht alles. Wenn man die Helligkeit der LEDs verändern will, dann muss man die Zeit in der eine LED leuchtet verändern.
Eine variable Helligkeit ist ganz wichtig damit die Signale schön langsam ihre Zustände wechseln wie das bei den alten Birnen der Bahn so war.
Dazu wird die Interrupt Frequenz einfach noch ein bisschen erhöht. Wenn man 16 verschiedene Helligkeiten darstellen will, dann verwendet man eine Frequenz von 12*300Hz*15 = 54 kHz (Die „Helligkeit“ 0 benötigt keine Zeit. Darum wird in der Formel die 15 verwendet.).
Das ist jetzt aber schon viel für unseren kleinen Prozessor. Er wird jetzt alle 18.5 us in seiner Arbeit unterbrochen damit er Plus- und Minuspole vertauschen kann. Dabei muss er auch noch peinlichst genau darauf achten, dass er nicht die falsche LED an macht oder versehentlich einer LED den Saft zu früh abdreht. In der Zeit zwischen zwei Interrupts kann er gerade mal 296 ASM Befehle abarbeiten abzüglich der Zeit die er im Interrupt verbringt.

Mehr als 16 Helligkeitswerte:
Das war mir aber immer noch nicht genug. 16 Helligkeitswerte reichen nicht aus für ein sanftes Auf- oder Abblenden einer LED. Ganz kritisch wird es wenn man die Helligkeit einer LED reduzieren will weil diese sonst heller als die anderen wäre. Weiße und Blaue LEDs leuchten deutlich heller als ihre grünen und roten Kollegen. Wenn die Helligkeit der weisen LED halbiert werden soll bleiben nur noch 8 Helligkeitswerte übrig. Das sieht dann gar nicht mehr gut aus.
Darum habe ich nach einer Möglichkeit gesucht wie man die Dauer in der eine LED mit Strom versorgt wird weiter unterteilen kann ohne die Interrupt Frequenz zu erhöhen.
Ich versuche das mal an dem folgenden Bild zu erklären. Hier sieht man Helligkeitsverläufe dreier LEDs. Jede LED hat einen eigenen Zeitabschnitt indem sie angesprochen wird. Die Kästchen zeigen den Bereich jeder LED. Dabei besteht ein Bereich aus 15 Interrupt Perioden. Zuerst bekommt die rote LED Zugriff auf die Charlieplexing Leitungen. Sie nutzt etwas weniger als die Hälfte „Ihrer“ Zeit zum Leuchten. Die grüne LED nutzt etwas mehr Zeit als die Hälfte und die blaue LED nur eine Interrupt Periode.
Bild

Die LEDs werden wie oben gefordert mit 300 Hz aktualisiert.


Wenn man jetzt hingeht und innerhalb eines Zeitabschnitts zwei LEDs anspricht dann verdoppelt sich die Aktualisierungsfrequenz der LEDs. Sie werden jetzt mit 600 Hz aktualisiert ohne dass die Interrupt Frequenz verändert wurde.
Bild

So eine hohe Updaterate ist aber nicht nötig. Darum kann man die Anzahl der Helligkeitsschritte verdoppeln. Damit wird das Bild gestreckt:
Bild

Jetzt haben wir wieder 300 Hz, es sind aber 32 Helligkeiten möglich! Das ist doch Klasse!

An der blauen LED sehen wir aber ein Problem dieser Methode. Da sie nur eine Interrupt Periode lang an ist kann sie nur in jedem zweiten Kästchen angeschaltet werden damit die Helligkeit erhalten bleibt. Diese LED wird also nur noch mit 150 Hz aktualisiert. Wenn man genau hinschaut sieht man diesen Effekt auch bei den anderen beiden LEDs. Auch sie sind unterschiedlich lange in zwei aufeinanderfolgenden Abschnitten aktiv. Diesen Unterschied von 18.5 us sieht man aber nicht.

Im Programm habe ich nicht zwei LEDs sondern acht in einen Zeitabschnitt gepackt. Dadurch können die LEDs jetzt mit 128 verschiedenen Helligkeiten angesteuert werden ohne dass der Prozessor mehr zu tun hat.

Hat mir irgendjemand folgen können?

Nein, dann ist Euch sicherlich auch nicht aufgefallen, dass die LEDs bei 8 Zeitabschnitten und niedrigen Helligkeiten mit weniger als 50 Hz angesteuert werden. Das macht nichts. Dieser Effekt tritt nur dann auf wenn die Helligkeit kleiner 4 ist. Dieser Wert wird aber normalerweise nur während des Abblendens der LED für kurze Zeit verwendet. => Das sieht man nicht.

Zusammenfassung:
Bei dem von mir entwickelten Verfahren werden 12 LEDs über 4 Kabel mit einer Frequenz von 300 Hz aktualisiert. Dabei sind 128 verschiedene Helligkeiten möglich.

Nachteil des Charlieplexing
Dadurch dass immer nur eine LED gleichzeitig angesteuert werden kann leuchten die LEDs deutlich dunkler. Das kann man dadurch kompensieren dass man sie mit einem größeren Strom betreibt. Allerdings kommt man hier schnell an die Stromgrenzen des Prozessors. Für den Einsatz in einem Signal oder in einer Ampel auf der Modelleisenbahn spielt diese Beschränkung aber keine Rolle. Hier sind die LEDs eher zu hell. Das Charlieplexing Verfahren eignet sich aber nicht zur Beleuchtung von Häusern oder ähnlichem. Aber hier ist genug Platz vorhanden so dass man WS2812 LEDs einsetzen kann.

Eigentlich kann ich jetzt auch einfach zufällige Wörter einfügen. Das fällt eh keinem mehr auf…

Integration in den Pattern_Configurator:
Welche LEDs wann aufleuchten sollen wird mit dem Pattern_Configurator definiert. Hier trägt man wie sonst auch bei der MobaLedLib an den Stellen ein X ein an denen eine LED leuchten soll. Die bestehenden Konfigurationen können direkt übernommen werden.
Neu hinzugekommen ist das Feld „Spezial Mode:“ und die dazu gehörenden Eingaben.
Wenn in diesem Mode „Charlieplexing ausgewählt wird, dann erscheinen die zusätzlichen Zeilen und der „Programm Generator“ Knopf wird zur „Zum Modul schicken“ Schaltfläche.
Bild

Die Angabe „RGB Modul Nummer:“ beschreibt die Position des Charlieplexing Moduls in der RGB LED Kette. Solange man das Modul auf dem Schreibtisch konfiguriert ist diese Nummer einfach anhand des Steckplatzes der Verteilerplatine zu ermitteln. Wenn man aber ein Modul auf der Anlage konfigurieren will kann ist die Nummer über welche das Modul angesprochen wird nicht immer bekannt. Mit dem folgenden Dialog kann die LED Adresse ausgewählt werden:
Bild


In der Zeile „Charlieplexing LED Zuordnung:“ wird die Zuordnung der LEDs bestimmt. Damit kann man ein Muster an verschiedene Geräte anpassen. Das Problem dabei ist, dass die Nummerierung der LEDs nicht einheitlich ist. Jeder Hersteller kocht seine eigne Suppe. Mit dieser Zuordnung kann das Adaptiert werden. Die entsprechenden Werte können entweder aus einer Liste ausgewählt werden oder von Hand eingegeben werden. Die manuelle Eingabe erlaubt die Adaption an jedes Beliebige Charlieplexing Modul. Die dazu benötigten Nummern werden ganz einfach über die Beispielkonfiguration „Charlieplex.LED Test“ welche sich in dem Pattern_Configurator befindet ermittelt (Siehe unten).

Mit der Aktivierung der „Analoge Eingänge:“ kann man das Charlieplexing Modul ganz unabhängig von der MobaLedLib einsetzen. Damit kann die Platine bis zu 10 Taster/Schalter einlesen mit welchen die Anzeige umgeschaltet werden kann.

„Zum Modul schicken“ Knopf:
Dieser unscheinbare Knopf hat es in sich. Damit wird das im Pattern_Configurator erstellte Muster zum Charlieplexing Modul geschickt. Dazu muss das Modul nicht ausgebaut werden. Die Daten werden über den „LED-Bus“ zum ATTiny geschickt.
Beim LED Arduino wird jedes Mal bei einer Änderung der Konfiguration ein neues Programm erstellt und zum Nano geschickt. Das funktioniert bei dem ATTiny, welcher auf dem Charlieplexing Modul eingesetzt wird, nicht weil dieser über keine USB Schnittstelle zur Programmierung verfügt. Wenn man dem ATTiny ein neues Programm schicken will muss dieser ausgebaut werden und in einen Programmieradapter (z.B. den Tiny_UniProg) gesteckt werden. Das ist recht unkomfortabel. Darum habe ich einen anderen Weg zur Konfiguration entwickelt. Beim Charlieplexing Modul wird die Konfiguration im EEPROM gespeichert. Für die kleinen Konfigurationen dieses Moduls reichen die 512 Bytes des EEPROMs locker aus. Beim LED-Arduino würde das nicht reichen.
Zur Übertragung der Informationen wird ein spezielles Blinkmuster verwendet. Dazu sendet das Excel Programm verschiedene Helligkeitswerte über den LED Arduino zum Charlieplexing Modul. Dabei wird der bestehende „LED-Bus“ verwendet. Das Modul kann also einfach auf der Anlage konfiguriert werden. Dummerweise hat dieser „Bus“ keinen Rückkanal. Es kann also nicht geprüft werden ob die Informationen überhaupt ankommen. Diese Aufgabe muss der Benutzer übernehmen. Beim Übertragen flackern alle an dem Charlieplexing Modul angeschlossenen LEDs ganz wild. Daran erkennt man gleich, dass die Daten empfangen werden. Das Programm zeigt dabei diese Meldung:
Bild

Mit den Daten wird eine CRC Prüfsumme übertragen. Damit kann das Programm auf dem ATTiny prüfen ob die Daten korrekt empfangen wurden. Wenn das nicht der Fall ist, dann blinken alle LEDs am Ende schnell (0.5Hz). Bei korrekter Übertragung wird das entsprechend LED Muster angezeigt.
Wenn das Muster den „Goto Mode“ benutzt, dann wird im Anschluss ein Dialog gezeigt mit dem man die verschiedenen Anzeigen testen kann:
Bild

So kann man ganz schnell überprüfen ob man alles richtig konfiguriert hat.
Achtung: Die Maske erscheint auch wenn die Kommunikation zum ATTiny nicht erfolgreich war weil das Programm nicht erkennen kann ob das Charlieplexing Modul angeschlossen ist und richtig funktioniert ;-(

Nummerierung der LEDs:
Namen sind bekanntlich Schall und Rauch. Bei den „Namen“ der LEDs ist es nicht anders. Jeder Hersteller benutzt ein anderes Schema. Für die MobaLedLib habe ich willkürlich diese Nummerierung eingeführt:
Bild

Dabei sind die LEDs folgendermaßen angeschlossen. Die Nummern im Bild oben entsprechen den grünen „Ref …“ Nummern und nicht den „L …“ Bezeichnungen.
Bild

Wenn man die Zuordnung eines neuen Signals ermitteln will, dann geht man folgendermaßen vor:
Bild


Das Charlieplexing eignet sich auch sehr gut für Verkehrsampeln.
=> Frage an unsere 3D Künstler: Wollt Ihr nicht auch mal eine Ampel drucken und sie dem Forum zur Verfügung stellen?
Das was man käuflich erwerben kann ist entweder hässlich oder teuer oder beides ;-(

Programmierung des Charlieplexing Moduls:
Der Prozessor auf dem Modul muss einmalig mit dem Programm bespielt werden. Dazu benötigt man einen Programmieradapter da der ATTiny keinen USB Anschluss hat.
Mit dem Tiny_UniProg kann man das Programm auf den ATTiny85 schreiben. Doch dazu muss zunächst der Tiny_UniProg mit dem richtigen Programm versorgt werden.

Zur Vereinfachung dieses Prozesses habe ich eine neue Seite in das Hauptmenu des Patern_Configuarators eingefügt (Das Hauptmenu wird über den LED Kranz links oben geöffnet):
Bild

Mit dem Knopf „Prog. ISP“ wird das Programm zum Tiny_UniProg geschickt.

Anschließend klickt man den Knopf „Prog. Charlieplex“ an und das Programm wird zum ATTiny geschickt. Dieser kann dann aus dem Programmieradapter in die Charlieplexing Platine gesteckt werden.
Ich bin sehr gespannt ob das bei Euch alles so funktioniert. Das Programm prüft sogar ob alle benötigten Bibliotheken vorhanden sind und installiert diese bei Bedarf nach.

Farbkasten:
Mark hat den Begriff „Farbkasten“ geprägt. Damit bezeichnet er das Farbtest Programm von Harold mit dem man inzwischen viel mehr als nur die Farben testen kann.
Das Programm sieht inzwischen so aus:
Bild

Es hat eine recht ausführliche Hilfe darum werde ich jetzt nicht weiter dazu schreiben außer

Vielen Dank Harald

Kaputte Neonröhre:
Ich habe ich mal meine destruktive Ader ausgelebt und Neonröhren kaputt gemacht. Diese habe ich eingescannt und in das Programm integriert. Es gibt jetzt 4 neue Beleuchtungstypen im „House()“ Dialog:
Bild

Der Typ „NEON_DEF_D“ bezieht sich auf eine RGB LED, die drei anderen auf einzelne LEDs wie das auch schon bei anderen „Räumen“ so ist. Die Grundhelligkeit der Lampe wird über „NEON_LIGHTD“ mit dem „Farbkasten“ eingestellt. Hier ist es nicht mehr nötig, dass der rote Kanal <= 11 ist.

Die zweite Erweiterung des Dialogs findet man etwas weiter unten. Mit dem Feld „Eingang invertieren“ kann man die Hausbeleuchtung über die „Schedule“ Funktion einschalten, wenn es Tag wird. Das ist z.B. bei Geschäften erwünscht.

Meine Untersuchungen haben gezeigt, dass es sehr viele verschiedene Arten von defekten Neonlampen gibt. Damit man alle diese Varianten auf der Anlage erleben kann habe ich ein Makro zur Konfiguration des Fehlerbildes eingefügt:
Bild


Es kann mit diesen Parametern angepasst werden:
Bild

Etwas weiter unten findet man auch das Makro von Misha zur Simulation der defekten Lampe.

Wenn Ihr ein eigenes Muster entwickelt habt welches andere auch gebrauchen können, dann her damit. Ihr wisst ja, das ist ein „Mitmachthread“. Es muss nicht alles der Onkel Hardi machen…

Falls Ihr noch nicht ganz zugetextet seid habt Ihr gesehen, dass es noch weitere Konfigurationsmakros gibt: Set_TV_COL1, Set_TV_COL2, Set_TV_BW1 und Set_TV_BW2.
Damit können jetzt die beiden Fernsehprogramme angepasst werden. Bei den Farbprogrammen variieren die Anteile der Farben zufällig. Bei den Schwarz-Weiß TV können die Anteile der Farben ebenfalls angepasst werden damit man den typischen Blauschimmer exakt treffen kann. Das Verhältnis der Farben untereinander ist aber konstant.
Die Befehle zum definieren des TV verfügen, ebenso wie die Neon Konfiguration über einen Schalter zum aktivieren des Effekts. Damit kann man per DCC Kommando unterschiedliches TV Programm auswählen. Dieser Schalter wirkt sich aber immer auf alle TV Geräte bei denen der gleiche Kanal eingestellt ist simultan aus.

Bei defekten Neon Licht können für jedes Haus eine andere Fehlervariante konfiguriert und geschaltet werden.

Wer Bitteschön braucht so einen Quatsch? Und wer denkt sich so einen Blödsinn aus?

Eine der 1001 anderen Änderungen habe ich auf Alfs Vorschlag hin eingebaut:
Bild

Ist das besser als vorher?


Stammtisch:
Beim nächsten virtuellen Stammtisch kann ich Euch das ganze mal vorführen falls es jemanden interessiert…

Probleme Melden:
Bei so vielen Änderungen kann es passieren, dass sich Fehler einschleichen. Die ersten hatten wir ja schon, dass bei der Version 1.0.0 nicht alle neuen Programme enthalten waren ;-(
Ich liebe GitHub…
Jetzt ist das hoffentlich behoben.

Wenn Ihr irgendwas entdeckt, das Euch komisch vorkommt, dann meldet Euch. Nur so kann ich die Fehler und Probleme beheben und die anderen müssen nicht auch noch darüber stolpern.
Und überlasst nicht wieder alles testen dem Kollegen Ulrich.
Ich bin jederzeit auch über Korrekturen meiner Linksschreibung dankbar (Per Mail, es muss ja nicht jeder merken, dass ich nicht schreiben kann).

Einen Fehler habe ich gerade selber entdeckt: Die Farbstichkorrektur im „Farbkasten“ enthält alte Einträge. Dadurch wird nur ein Farbrad und kein Farbkreis angezeigt. Mit 255, 175 und 200 sieht das schon viel besser aus.

So, jetzt sind 12 DIN A4 Seiten voll. Das reicht für heute.

Edit: 8.2.20: In der Version 1.0.0 wurden dummerweise nicht alle Dateien hochgeladen
=> Es muss die Version 1.0.1 verwendet werden


Hardi
Zuletzt geändert von Hardi am Sa 8. Feb 2020, 10:16, insgesamt 4-mal geändert.
Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060&sd=a&start=0
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…


aftpriv
InterCity (IC)
Beiträge: 905
Registriert: Di 3. Apr 2012, 10:01
Nenngröße: H0
Stromart: digital
Steuerung: Gleisbox+RocRail-RN-Node
Gleise: K-Gleis|:|(3-Leiter)
Wohnort: 636xx Hessen/Main-Kinzig-Kreis
Alter: 69

Preisliste

#1001

Beitrag von aftpriv »

Baustelle aktuelles
Pickel-Bahner seit 1958 / K-Gleis + ZIMO-Decoder (MX633P22/MX645P22)
RocRail & RocNetNode
Email bezüglich MobaLedLib-Belange: LedLib@yahoo.com


WolfHo
RegionalExpress (RE)
Beiträge: 78
Registriert: Do 10. Okt 2019, 18:41
Nenngröße: N
Stromart: digital
Steuerung: Intellibox, Railware, Arduino
Gleise: Arnold
Wohnort: Dietzenbach
Alter: 74
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#1002

Beitrag von WolfHo »

Hallo Hardi,

als Bestätigung: vor einer halben Stunde habe ich die neue Version des Pattern Configurators erhalten, nicht aber die des Prog Generators.

Gruß Wolf
SpurN Arnold Gleis 60 m, Anlage 2,50x0,70 m, Sbhf 16 Gl., Bhf 7 Gl., BW mit Drehscheibe, 50 Loks, Epoche 3, Fahren IBox I Com2, Booster LDT DB-4; Schalten S-DEC-4, WDECN-TN; Melden HSI-88 (Com3), RM-GB-8(-N). Steuerung Railware 7.34, PC: Core i5 750 , 8 GB RAM, Win10 pro 64Bit


Mark
Regionalbahn (RB)
Beiträge: 31
Registriert: Di 15. Jan 2019, 21:21
Nenngröße: H0
Stromart: digital
Steuerung: FMZ
Gleise: Fleischmann
Wohnort: Rhoihesse

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1003

Beitrag von Mark »

Hallo Hardi,

kurz vor drei, 18.01.2020, das Update ist in der Arduino IDE noch nicht angekommen.

Rein theoretische Frage:
Um das Update von Github aus aufzuspielen müsste doch eigentlich nur der komplette Ordner als Zip-Download in
Documents\Arduino\libraries\MobaLedLib
entpackt werden, oder?

Und wie war das dann nochmal mit dem Prog_Gen und dem Pattern_Configurator und dem Color Tool im Ordner
Documents\Arduino\MobaLedLib_x.x.x ?
Wurde dieser Ordner mit allen Inhalten nicht automatisch erstellt? Bei welcher Aktion nochmal?
Sorry, ich bin etwas vergesslich ;-)
Mark


WolfHo
RegionalExpress (RE)
Beiträge: 78
Registriert: Do 10. Okt 2019, 18:41
Nenngröße: N
Stromart: digital
Steuerung: Intellibox, Railware, Arduino
Gleise: Arnold
Wohnort: Dietzenbach
Alter: 74
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1004

Beitrag von WolfHo »

Hallo Hardi,

habe jetzt gerade den Prog-Generator als Version 0.71 downgeloaded bekommen, ist das i.O.? Pattern Configurator ist 0.90 (Library 1.0.1).

Gruß Wolf
Zuletzt geändert von WolfHo am Sa 18. Jan 2020, 10:54, insgesamt 2-mal geändert.
SpurN Arnold Gleis 60 m, Anlage 2,50x0,70 m, Sbhf 16 Gl., Bhf 7 Gl., BW mit Drehscheibe, 50 Loks, Epoche 3, Fahren IBox I Com2, Booster LDT DB-4; Schalten S-DEC-4, WDECN-TN; Melden HSI-88 (Com3), RM-GB-8(-N). Steuerung Railware 7.34, PC: Core i5 750 , 8 GB RAM, Win10 pro 64Bit


rolfha
InterRegio (IR)
Beiträge: 200
Registriert: Do 14. Feb 2019, 22:20
Nenngröße: N
Stromart: digital
Steuerung: Lenz
Gleise: Fleischmann
Wohnort: Kronberg
Alter: 70
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1005

Beitrag von rolfha »

Hallo Hardi,
was für eine Arbeit! Die Charlyplexing Grundlagenarbeit/Weiterentwicklung war sicher spannend aber auch sehr anstrengend. Ich muss jetzt echt meine alte Kiste mit den N-Signalen suchen und versuchen, die Umzubauen. Das Laden der Daten über die WS2811 Leitung ist der Wahnsinn.
Danke, dass du dein Gehirnschmalz für uns alle hier verbrätst.
Ich kann bei Manage Libraries die 1.0.0 und die 1.0.1 zum Update auswählen, habe es aber noch nicht gemacht. Ich möchte Sicherheitshalber meine Daten selber in andere Verzeichnisse kopieren. Das mache ich hoffentlich heute Abend.

Viele Grüße und Danke, Danke, Danke
Rolf

Benutzeravatar

franz_H0m
InterRegio (IR)
Beiträge: 212
Registriert: So 2. Nov 2008, 20:29
Nenngröße: H0m
Stromart: digital
Steuerung: DCC Eigenbau/Nachbau
Gleise: Tillig/Eigenbau
Wohnort: Lund, Schweden
Alter: 46
Schweden

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1006

Beitrag von franz_H0m »

Hallo Hardi und alle, die hier mitentwickeln,

:gfm: :gfm: :gfm: :gfm:

unglaublich! Auf meiner geplanten Anlage mit Motiven aus den Schweizer Bergen brauche ich zwar eigentlich kein Licht, aber jetzt überlege ich ernsthaft, sie nach Las Vegas zu verlegen :fool:

Und meine Signale haben auch nur drei Lichter. Wobei, mit Vorsignal am gleiche Mast sind das schon sieben 8) - da muss ich wohl mal RhB-Signale in 3D zeichnen... (ist nicht als Versprechen zu sehen, die Zeit... :roll: )
Grüße, Franz

Avatar: MAN-Zugmaschine der Ottensener Industriebahn.
Foto: Dr. Ullrich Huckfeld.

PS: Manche meiner Links sind z.Z. tot und manche Bilder werden nicht gezeigt, weil ich meine Homepage wegen der GDPR vorübergehend vom Netz genommen habe...


Railcar
InterRegio (IR)
Beiträge: 189
Registriert: Do 15. Nov 2018, 09:41
Alter: 67

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1007

Beitrag von Railcar »

Hi Hardi,

ich weiss daß wir das hier alle nur als Hobby betreiben, aber du solltest dir trotzdem mal ein 64bit System zulegen..... oder deine Beta tester sollten mal auf einem 64 bit System testen.

Bild

Ulrich

Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 722
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Deutschland

Die neue Version 1.0.1 der MobaLedLib ist endlich verfügbar

#1008

Beitrag von Hardi »

Hallo Mark, Hallo sehnsüchtig Wartende,

Mir wurde die neue Version 1.0.1 der MobaLedLib Bibliothek bereits um 0:15 Uhr anzeigt. Das muss man aber akiv machen:

Man drückt STRG+Umschalten+I in der Arduino IDE gleichzeitig. Das geht auch über das Menü: „Werkzeuge/Bibliotheken verwalten…“
Bild

Eingabe von „moba“ in das Suchfeld rechts oben und in den gefundenen Eintrag klicken, dann erscheint der "Installieren" oder "Update" Button. Mann kann auch vorher die gewünschte Version auswählen (Unten links):
Bild

Wenn die Installation abgeschlossen ist (Dauert nur wenige Sekunden bei mir) drückt man die WIN+r Taste gleichzeitig. In den sich öffnenden „Ausführen“ Dialog kopiert man diese Zeile:

Code: Alles auswählen

%USERPROFILE%\Documents\Arduino\libraries\Mobaledlib\extras\Prog_Generator_MobaLedLib.xlsm
Damit wird die neueste Version des Prog_Generators 0.71 gestartet.

Jedes Programm hat eine eigne Versionsnummer. Die Bibliothek hat die Version 1.0.1. Der Pattern_Configurator die Version 0.91 und der Farbkasten die 1.26. Das mag zunächst verwirrend klingen ist aber ein übliches Verfahren. Wenn man bei jeder Änderung eines Teils die Versionsnummern aller dazugehörenden Komponenten erhöhen wollte, dann währe man schnell bei der Version 1000.
WolfHo hat geschrieben:
Sa 18. Jan 2020, 10:15
habe jetzt gerade den Prog-Generator als Version 0.71 downgeloaded bekommen, ist das i.O.? Pattern Configurator ist 0.90 (Library 1.0.1).
Komisch, eigentlich sollte der Pattern_Configurator die Version 0.91 haben.

Mark hat geschrieben:
Sa 18. Jan 2020, 02:54
Rein theoretische Frage:
Um das Update von Github aus aufzuspielen müsste doch eigentlich nur der komplette Ordner als Zip-Download in
Documents\Arduino\libraries\MobaLedLib
entpackt werden, oder?
Man kann die Bibliothek auch von Hand installieren. Das ist dann sinnvoll, wenn ich eine kleine Änderung (unwichtige) mache ohne gleich eine neue Version zu vergeben (Ich bin der Meinung, dass zu viele verschiedene Versionen verwirrend sind.).
Wenn man die Bibliothek von GitHub heruntergeladen hat, dann landet sie meistens im „Downloads“ Ordner (Abhängig von den persönlichen Einstellungen). Dort hat sie aber den Namen „MobaLedLib-master.zip“.
So eine ZIP Datei kann auch über die Arduino IDE installiert werden:
Bild
In dem folgenden Dialog wechselt man in das „Downloads“ Verzeichnis und klickt auf die heruntergeladene Datei. Es kann sein, dass dort mehrere durchnummerierte Dateien liegen, wenn man das mehrfach gemacht hat. Dann nimmt man die mit der größten Nummer.

Mark hat geschrieben:
Sa 18. Jan 2020, 02:54
Und wie war das dann nochmal mit dem Prog_Gen und dem Pattern_Configurator und dem Color Tool im Ordner
Documents\Arduino\MobaLedLib_x.x.x ?
Wurde dieser Ordner mit allen Inhalten nicht automatisch erstellt? Bei welcher Aktion nochmal?
Ja, der Ordner wird automatisch erstellt. Für jede neue Version wird ein eigener Ordner erstellt.
Bild
Damit hat man die Möglichkeit die Eingaben im Excel von der alten Version in die neue zu kopieren. Es kann sein, dass man den Arduino von der alten Version aus nicht mehr programmieren kann, aber Eure Eingaben sollten sicher in dem alten Ordner stehen.

Es schadet aber nicht, wenn man die Dateien noch mal von Hand kopiert, aber eigentlich werden die alten Eingaben nicht überschrieben oder gelöscht:
rolfha hat geschrieben:
Sa 18. Jan 2020, 10:47
Ich kann bei Manage Libraries die 1.0.0 und die 1.0.1 zum Update auswählen, habe es aber noch nicht gemacht. Ich möchte Sicherheitshalber meine Daten selber in andere Verzeichnisse kopieren.
Die Eingaben im Prog_Generator werden über die Zwischenablage von der alten in die neue Version kopiert. Beim Pattern_Configurator kann man die Blätter über das Menu in eine Datei Speichern und dann im neuen Programm wieder importieren. Dabei können mehrere Blätter auf einmal gesichert/geladen werden.
Die Version 1.0.0 Der Bibliothek ist Fehlerhaft ;-( Hier wurden nicht alle neuen Programme hochgeladen. Es war einfach zu spät als ich das Zeug hochgeladen habe.

Nach dem ersten Start der Programme werden Links zum Starten auf dem Windows Desktop angelegt:
Bild
Darüber werden die Programme dann gestartet. Wenn man noch mal den Weg über WIN+r geht wird eine Kopie des Programms mit einer angehängten Nummer angelegt. Auch hier gehen keine Eingaben verloren.
Der Link zum Pattern_Configurator wird erst Angelegt, wenn dieser das erste Mal gestartet wurde. Das macht man am besten über das „Optionen“ Menü des Prog_Generators:
Bild


@Ulrich:
Ich habe eine 64 Bit Windows, aber kein 64 Bit Office ;-(
Zum testen müsste ich mir aber alle möglichen (und unmöglichen) Kombinationen zulegen. Wenn ich alles auf 64 Bit teste, dann funktioniert es wieder unter 32 Bit nicht. Oder es gibt einen Kollegen der noch Office 2010 benutzt. Dann gibt es Leute mit einer anderen Spracheinstellung oder anderen Dezimaltrennzeichen. Es gibt unendlich viele Kombinationen ;-(
Trotzdem ärgert es mich, wenn ich immer wieder den gleichen Fehler mache und das „PrtSafe“ an einer Stelle vergesse. In welchem Modul ist mir den das wieder passiert? Aus Deinem Bild kann ich das nicht so einfach rekonstruieren.


Habe ich alle Fragen beantwortet?

Vielen Dank für das Lob an alle

Hardi
Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060&sd=a&start=0
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Benutzeravatar

ThKaS
CityNightLine (CNL)
Beiträge: 1528
Registriert: Do 28. Apr 2005, 08:37
Wohnort: München
Kontaktdaten:
Jamaika

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1009

Beitrag von ThKaS »

ThKaS hat geschrieben:
Fr 29. Nov 2019, 18:50
Moin moin,

für die pdf-Begeisterten: Ich habe die Ergänzung bis Beitrag 990 online gestellt.

Beitrag zur pdf-Dokumentation
lieben Gruss von südlich des Weisswurst-Äquators
Thomas

guckst: www.thkas-moba.de ‹(•¿•)› www.mucis.de

Bild

Mä-K-Gleis, Tams MC, Multi-Kulti Decoder, WDP


WolfHo
RegionalExpress (RE)
Beiträge: 78
Registriert: Do 10. Okt 2019, 18:41
Nenngröße: N
Stromart: digital
Steuerung: Intellibox, Railware, Arduino
Gleise: Arnold
Wohnort: Dietzenbach
Alter: 74
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1010

Beitrag von WolfHo »

Hallo Hardi,

habe jetzt auch Pattern V. 0.91, die 0.90 war wohl noch aus der Lib 1.0.0 von gestern.

Das ist ja Wahnsinn, was im Prog Generator jetzt alles an tollen Effekten dazu gekommen ist, die wir uns so sehnlich gewünscht hatten.

Herzlichen Dank für alles.

Gruß Wolf
SpurN Arnold Gleis 60 m, Anlage 2,50x0,70 m, Sbhf 16 Gl., Bhf 7 Gl., BW mit Drehscheibe, 50 Loks, Epoche 3, Fahren IBox I Com2, Booster LDT DB-4; Schalten S-DEC-4, WDECN-TN; Melden HSI-88 (Com3), RM-GB-8(-N). Steuerung Railware 7.34, PC: Core i5 750 , 8 GB RAM, Win10 pro 64Bit


Misha
Regionalbahn (RB)
Beiträge: 40
Registriert: So 22. Dez 2019, 07:26
Nenngröße: H0
Stromart: digital
Steuerung: Koploper
Gleise: Marklin K-Rail
Wohnort: Utrecht / Nederland
Alter: 62
Niederlande

Re: Die neue Version 1.0.1 der MobaLedLib ist endlich verfügbar

#1011

Beitrag von Misha »

Hardi hat geschrieben:
Sa 18. Jan 2020, 12:11

@Ulrich:
Ich habe eine 64 Bit Windows, aber kein 64 Bit Office ;-(
Zum testen müsste ich mir aber alle möglichen (und unmöglichen) Kombinationen zulegen. Wenn ich alles auf 64 Bit teste, dann funktioniert es wieder unter 32 Bit nicht. Oder es gibt einen Kollegen der noch Office 2010 benutzt. Dann gibt es Leute mit einer anderen Spracheinstellung oder anderen Dezimaltrennzeichen. Es gibt unendlich viele Kombinationen ;-(
Trotzdem ärgert es mich, wenn ich immer wieder den gleichen Fehler mache und das „PrtSafe“ an einer Stelle vergesse. In welchem Modul ist mir den das wieder passiert? Aus Deinem Bild kann ich das nicht so einfach rekonstruieren.

Hardi
Hallo Hardi

Hier geht es schief. Siehe das Bild. Hoffentlich hast du genug davon.

Grüße Misha.
Bild


Railcar
InterRegio (IR)
Beiträge: 189
Registriert: Do 15. Nov 2018, 09:41
Alter: 67

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1012

Beitrag von Railcar »

Hi Hardi und @ all die es betrifft:

In dem betreffenden Modul - M57_modCOMM (das in dem der Fehler auftritt), einfach alle

declare Function durch declare PTRSafe Function ersetzen.

Dann sollte es auch im 64 Bit Office klappen.

Der Fehler tritt nur im Pattern Configurator auf.

Ulrich


Railcar
InterRegio (IR)
Beiträge: 189
Registriert: Do 15. Nov 2018, 09:41
Alter: 67

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1013

Beitrag von Railcar »

Hi Hardi,

in der Funktion im Prog. Generator "Def_Neon_Mischa" wird die LED nicht hochgezählt sondern steht fest auf 1.
Lade ich Set_def_Neon wird zwar die LED hochgezählt, aber LEDs steht auf 0.
Irgendwo ist bei beiden Funktionen der Wurm drin.

Bild

Set_tv bringt die gleichen / selben Fehler

Bild


Ulrich

Edit: Bild hinzugefügt

Edit: Bild mit neuem Fehler hinzugefügt.

Edit: Lösche Zeilen - löscht nicht nur die markierten Zeilen sondern alle bis zum Ende.
Neuer Button - lösche alles ab hier bis zum Ende ??


Misha
Regionalbahn (RB)
Beiträge: 40
Registriert: So 22. Dez 2019, 07:26
Nenngröße: H0
Stromart: digital
Steuerung: Koploper
Gleise: Marklin K-Rail
Wohnort: Utrecht / Nederland
Alter: 62
Niederlande

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1014

Beitrag von Misha »

Hallo Hardi

Ich war mit der Kirmis-Präsentation beschäftigt. An sich scheint es nur mit dem letzten Befehl (# LocInCh + 4) nicht zu funktionieren, es geht immer schief. Anfangs startet die Serie gut, aber nach dem ersten Durchgang geht die letzte nicht aus und die andere Serie beginnt, sie zu durchlaufen.

PM_NORMAL, PM_SEQUENZ_W_RESTART, PM_SEQUENZ_W_ABORT, PM_SEQUENZ_NO_RESTART, PM_SEQUENZ_STOP, PF_NO_SWITCH_OFF.

Ich habe alle erdenklichen Parameter ausprobiert, kann aber den letzten Satz nicht stoppen.
Das Ändern der Reihenfolge spielt ebenfalls keine Rolle. Letzteres schaltet nicht immer ab.
Kann das ein Bug sein?

Hiermit mein Prog Gen Bild und meine letzte Serie von Patt-Gen:

Bild


Bild

Im Video können Sie sehen, was los ist.

Ganz links im Video mein Schweißlicht und ganz rechts mir 5 Neonröhren, bei denen das Medium defekt ist.
In der Mitte ein Versuchsaufbau einer möglichen Kirmis-Präsentation.

[vimeo]https://vimeo.com/385683025/f97b41ee88[/vimeo]

Derzeit arbeite ich immer noch mit den 'alten' Versionen des Prog-Gen und des Patt-Gen, da im Patt-Gen immer noch eine 64-Bit-Fehlermeldung angezeigt wird.

Grüße Misha.

Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 722
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1015

Beitrag von Hardi »

Hallo Ulrich,

Die Set_... Zeilen setzen nur die Parameter für die folgenden Befehle. Darum ist der Eintrag in „LEDs“ 0 . Diese Befehle wirken sich nicht auf den LED Zähler aus.
Mit dem „Set_Def_Neon“ Befehl wird das Verhalten der defekten Neonlampen konfiguriert. Erst wenn in einem „House()“ Makro der Parameter „NEON_DEF…“ verwendet wird, dann werden diese Änderungen wirksam.
Der „Set_Def_Neon“ kann vor jedem „House()“ Befehl verwendet werden wenn man ein unterschiedlichen Fehler simulieren will.

Bei dem „Set_TV..“ ist es genauso. Dieser Befehl wirkt sich aber auf alle TV-Geräte aus auf denen der entsprechende Kanal läuft. Es gibt in „unserer Welt“ nur zwei TV-Programme und fragt nicht nach einem weiteren Programm. Ich verweigere seit mindestens 5 Jahren diese Flimmerkisten und werde das nicht auf der Anlage unterstützen.

Der „Def_Neon_Mischa()“ Befehl ist unabhängig von dem „Set_Def_Neon“ Kommando. Das ist verwirrend, aber ich wollte beide Methoden zur Verfügung stellen.

=> Die Befehle verhalten sich richtig. Die Start LedNr wird richtig hoch gezählt. Nur die Doku ist mal wieder Besch…
Hoffentlich habe ich das halbwegs erklären können.


„Lösche Zeilen“ Knopf löscht alle Zeilen
Das ist ein Bug den ich noch nicht ganz verstanden habe. Die Zeilen werden zum Glück wirklich gelöscht, sondern nur ausgeblendet. Das liegt an dem Autofilter von Excel. In der Spaltenüberschrift ist ein graues Kästchen mit einem Dreieck. Wenn man darauf klickt öffnet sich der Filter Dialog:
Bild
Hier kann es vorkommen, dass das Häkchen bei „(Leere)“ verschwunden ist. Wenn das der Fall ist werden alle Zeilen unsichtbar in denen nichts in der entsprechenden Spalte („Filter“) steht. Ich weiß nicht wann das auftritt. Eben ist es bei mir auch passiert als ich eine Zeile gelöscht habe. Jetzt tritt es nicht mehr auf.
=> Momentan muss man das Häkchen „von Hand“ wieder setzen.

Über den Filter kann man gezielt Zeilen ein und ausblenden. Momentan stehen hier die ganzen Beispiele. Man kann die Filter aber auch für eigene Bereiche verwenden. Dann kann man schnell mal einen ganzen Block (Bahnhof, Stadt, …) ausblenden.


Den Fehler mit dem PTRSave werde ich hoffentlich in Zukunft überlisten indem ich mir einen Eintrag in meine „Todo Bevor Release“ Liste mache. Vielleicht hilft es.

Vielen Dank Für die Meldungen.
Der Dank gilt natürlich auch an Misha.


Hardi
Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060&sd=a&start=0
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…


Railcar
InterRegio (IR)
Beiträge: 189
Registriert: Do 15. Nov 2018, 09:41
Alter: 67

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1016

Beitrag von Railcar »

Hi Hardi,
irgendwie scheinen die neuen pop-up Fenster nicht die richtigen Y Koordinaten zu haben.
Sie beginnen ausserhalb des Fensters und lassen sich auch nicht bewegen.

Bild

Ulrich


Railcar
InterRegio (IR)
Beiträge: 189
Registriert: Do 15. Nov 2018, 09:41
Alter: 67

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1017

Beitrag von Railcar »

Hi Hardi,

mit den Neon und TV Einstellungen hattest du Recht, Und Neon_Mischa läuft alleine.

Frage: Woran erkennt man den guten Programmierer?
Antwort: An der Dokumentation, die hinkt der Programmentwicklung nämlich immer hinterher. Anders gesagt - es gibt keine.

No offense - aber unsere Programmierer konnten gar keine Dok schreiben, insofern sieht das bei dir schon alles sehr gut aus. Aber es sind eben die Kleinigkeiten, s.o. über die man stolpert.

Einen habe ich noch.
Als Beispiel: Ich habe einen 2812 Streifen in dem 5 LEDs programmiert sind. Wenn ich nun LED 2 und 4 nicht mehr nutzen möchte, muss ich sie als Reserve_LED programmieren, da sie sonst den vorherigen Wert (Farbe) behalten und nur Reserve_LED anscheinend den internen Befehlsspeicher des 2812 löscht.
Gibt es sonst noch eine Möglichkeit nicht genutzte LEDs zu deaktivieren - sieht halt blöd aus wenn da eine LED so vor sich hinglimmt als ob sie kaputt ist.

Die Sache mit dem Lösche Zeilen Button scheint ein Zufallsgenerator zu sein. Mal gehts nicht, mal gehts. Wenn man weiß wie man es beheben kann stört es nicht.

Ulrich


WolfHo
RegionalExpress (RE)
Beiträge: 78
Registriert: Do 10. Okt 2019, 18:41
Nenngröße: N
Stromart: digital
Steuerung: Intellibox, Railware, Arduino
Gleise: Arnold
Wohnort: Dietzenbach
Alter: 74
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1018

Beitrag von WolfHo »

Hardi hat geschrieben:
Sa 18. Jan 2020, 18:08

Es gibt in „unserer Welt“ nur zwei TV-Programme und fragt nicht nach einem weiteren Programm. Ich verweigere seit mindestens 5 Jahren diese Flimmerkisten und werde das nicht auf der Anlage unterstützen.
Traumhaft, Hardi, wenn auch ich in 1:1 die Flimmerkiste verringern könnte. Ich wäre froh, bloß würde dann der Haussegen leiden. Aber auf der Anlage finde ich diese Effekte doch sehr wichtig gegenüber einer statischen Fensterausleuchtung. Die Preiser sollten deswegen dort doch besser ebenfalls nur "Normalbürger" sein.

Gruß Wolf
SpurN Arnold Gleis 60 m, Anlage 2,50x0,70 m, Sbhf 16 Gl., Bhf 7 Gl., BW mit Drehscheibe, 50 Loks, Epoche 3, Fahren IBox I Com2, Booster LDT DB-4; Schalten S-DEC-4, WDECN-TN; Melden HSI-88 (Com3), RM-GB-8(-N). Steuerung Railware 7.34, PC: Core i5 750 , 8 GB RAM, Win10 pro 64Bit


WolfHo
RegionalExpress (RE)
Beiträge: 78
Registriert: Do 10. Okt 2019, 18:41
Nenngröße: N
Stromart: digital
Steuerung: Intellibox, Railware, Arduino
Gleise: Arnold
Wohnort: Dietzenbach
Alter: 74
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1019

Beitrag von WolfHo »

Hallo Ulrich,

ich hatte auch mal so etwas ähnliches mit den LEDs, da hat es dann geholfen, den USB-Stecker oder die sonstige Stromversorgung für einige Sekunden abzuziehen. Danach lief es wieder gut, der Nano hat wohl die alten Programme erst dann vergessen.

Gruß Wolf
SpurN Arnold Gleis 60 m, Anlage 2,50x0,70 m, Sbhf 16 Gl., Bhf 7 Gl., BW mit Drehscheibe, 50 Loks, Epoche 3, Fahren IBox I Com2, Booster LDT DB-4; Schalten S-DEC-4, WDECN-TN; Melden HSI-88 (Com3), RM-GB-8(-N). Steuerung Railware 7.34, PC: Core i5 750 , 8 GB RAM, Win10 pro 64Bit

Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 722
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1020

Beitrag von Hardi »

Hallo Ulrich,
Railcar hat geschrieben:
Sa 18. Jan 2020, 18:43
irgendwie scheinen die neuen pop-up Fenster nicht die richtigen Y Koordinaten zu haben.
Sie beginnen ausserhalb des Fensters und lassen sich auch nicht bewegen.
Vielen Dank, dass Du Dich so intensiv mit dem Programm beschäftigst.

Ich habe die Anzahl der Parameter in dem Dialog von 7 auf 14 erhöht. Dadurch wird der Dialog zu hoch für einen kleinen Bildschirm. Es werden zwar in dem Fall nicht alle Parameter angezeigt, aber dummerweise ist die obere Position doch außerhalb des Bildschirms. Ich habe das hoffentlich verbessert.
Wenn so etwas passiert, dann kann man mit ALT+Leertaste gefolgt von v und einer Pfeiltaste den Dialog oder das Fenster mit der Maus bewegen auch wenn man nicht an die Titelleiste kommt. Das funktioniert bei vielen Windows Fenstern. Bei dem fraglichen Dialog geht das auch.
Railcar hat geschrieben:
Sa 18. Jan 2020, 19:11
Frage: Woran erkennt man den guten Programmierer?
Antwort: An der Dokumentation, die hinkt der Programmentwicklung nämlich immer hinterher. Anders gesagt - es gibt keine.

No offense - aber unsere Programmierer konnten gar keine Dok schreiben, insofern sieht das bei dir schon alles sehr gut aus. Aber es sind eben die Kleinigkeiten, s.o. über die man stolpert.
Wie soll ich die beiden Aussagen werten?
  1. Ein guter Programmiere kann keine Doku schreiben
  2. Meine Doku sieht schon ganz gut aus
Egal, ich fasse es als Kompliment auf… Danke
Railcar hat geschrieben:
Sa 18. Jan 2020, 19:11
Als Beispiel: Ich habe einen 2812 Streifen in dem 5 LEDs programmiert sind. Wenn ich nun LED 2 und 4 nicht mehr nutzen möchte, muss ich sie als Reserve_LED programmieren, da sie sonst den vorherigen Wert (Farbe) behalten und nur Reserve_LED anscheinend den internen Befehlsspeicher des 2812 löscht.
Gibt es sonst noch eine Möglichkeit nicht genutzte LEDs zu deaktivieren - sieht halt blöd aus wenn da eine LED so vor sich hinglimmt als ob sie kaputt ist.
Dieser Effekt tritt nur während der Programmierung auf. Wenn Der Strom abgeschaltet ist „vergessen“ die WS2812 die alten Werte. Aber mich stört es auch immer. Ich füge darum oft am Ende einen „Reserve LEDs(10)“ Befehl ein. Das habe ich nicht fest in der Bibliothek eingebaut, weil die Anzahl bei jedem anders sein kann und natürlich, weil der Befehl Rechenzeit kostet. Die zusätzlichen LEDs müssen ja alle 20 ms gesagt bekommen, dass sie aus seien sollen. Das Ausstecken der LEDs wie Wolf das gerade beschrieben hat ist vermutlich die beste Lösung.

@Wolf: Es ist nicht der Nano der sich die Daten merkt, sondern die WS2812 LEDs. Wenn sie keine neuen Daten bekommen behalten sie die alten Helligkeiten so lange bei bis ein neuer Befehl kommt oder man ihnen den Saft abdreht.



Ich habe die beiden Excel Programme verbessert und auf GitHub hochgeladen aber keine neue Version der Bibliothek generiert.
=> Ihr müsst die beiden Dateien von Hand herunterladen und in das Verzeichnis „…\Arduino\MobaLedLib_1.0.1\“ kopieren oder wie in den dem Beitrag #1008 geschrieben habe die ganze ZIP Datei herunterladen und als Zip installieren.

Die 64 Bit Problematik habe ich geändert, kann es aber nicht testen. Darum bin ich auf Eure Hilfe angewiesen. Ihr könnt das Ganze auch ohne Charlieplexing Modul testen indem Ihr einfach eine RGB LED anschließt. Beim Hochladen der Daten gibt es ja leider kein Feedback. Öffnet dazu das die Seite „Viessman.4751“ ganz am Ende und klickt auf den „Zum Modul schicken“ Knopf. Nach der Auswahl der LED sollte diese dann eine Zeit lang flackern bis 100% der Daten übertragen wurden.
Wenn das nicht klappt, dann währe es schön, wenn sie ein 64 Bit Office Besitzer finden würde mit dem ich das am Telefon und TeamViewer untersuchen könnte.


@Misha: Ich habe Deinen Beitrag gesehen und schaue es mir gleich mal an…

Hardi
Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060&sd=a&start=0
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 722
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1021

Beitrag von Hardi »

Hallo Misha,

ich finde das Video Klasse. Unglaublich was Du alles aus dem Programm heraus holst.
Aber ich kann den Fehler nicht so einfach sehen da ich nicht genau weiß was das Programm machen soll. Schicke mir doch bitte die Konfiguration in Textform, dann kann ich es näher Analysieren. Auf die schnelle denke ich, dass es Hilft wenn Du zu Beginn des ersten Effekts alle LEDs aus machst.

@Alle: Schaut euch das Video von Misha mal an:
[vimeo]https://vimeo.com/385683025/f97b41ee88[/vimeo]

Hardi
Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060&sd=a&start=0
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…


Misha
Regionalbahn (RB)
Beiträge: 40
Registriert: So 22. Dez 2019, 07:26
Nenngröße: H0
Stromart: digital
Steuerung: Koploper
Gleise: Marklin K-Rail
Wohnort: Utrecht / Nederland
Alter: 62
Niederlande

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1022

Beitrag von Misha »

Hardi hat geschrieben:
Sa 18. Jan 2020, 20:49
Hallo Misha,

ich finde das Video Klasse. Unglaublich was Du alles aus dem Programm heraus holst.
Aber ich kann den Fehler nicht so einfach sehen da ich nicht genau weiß was das Programm machen soll. Schicke mir doch bitte die Konfiguration in Textform, dann kann ich es näher Analysieren. Auf die schnelle denke ich, dass es Hilft wenn Du zu Beginn des ersten Effekts alle LEDs aus machst.

@Alle: Schaut euch das Video von Misha mal an:
[vimeo]https://vimeo.com/385683025/f97b41ee88[/vimeo]

Hardi
Guten Morgen Hardi,

Ich habe vergessen, den Code einzuschließen. Hiermit der Code wie er jetzt ist. Ich hatte schon mehr Optionen darin gemacht. Sie müssen also "LoInch" ganz rechts in der Zeile des Prog-Gen-Blattes auf 7 erhöhen.

Code: Alles auswählen

RandMux(#LocInCh, #LocInCh+7,#InCh,RF_SEQ ,3 Sek, 5 Sek)
PatternT1(#LED,4,#LocInCh+1,24,0,128,0,PM_NORMAL,101,15,0,0,0,0,0,192,3,0,0,0,0,0,240,0,0,0,0,15,0,60,0,0,0,192,3,0,15,0,0,0,240,0,192,3,0,0,0,60,0,240,0,0,0,0,15,0,60,0,0,0,192,3,0,0,0,0,0,240,0,0,0,0,0,0,60,0,0,0,0,240,0,0,0,0,192,3,0,0,0,0,15,0,60,0,0,60,0,240,0,0,240,0,192,3,0,192,3,0,15,0,0,15,0,60,0,0,0,0,240,0,0,0,0,192,3,0,0,0,0)
PatternT1(#LED,4,#LocInCh+2,24,0,128,0,PM_PINGPONG,102,0,195,48,12,195,48,12,192,48,12,195,48,12,3,48,12,195,48,12,195,0,12,195,48,12,195,48,0,195,48,12,195,48,12,192,48,12,195,48,12,3,48,12,195,48,12,195,0)
PatternT1(#LED,8,#LocInCh+3,24,0,128,0,PM_NORMAL,106,0,0,0,96,196,8,0,0,0,0,0,48,2,0,128,17,0,0,0,24,1,0,0,0,0,35,0,140,0,0,0,0,0,0,0,70,0,24,1,0,0,0,0,35,0,0,0,48,2,0,128,17,0,0,0,0,0,96,196,8,0,0,0)
PatternT1(#LED,4,#LocInCh+4,24,0,128,0,PM_PINGPONG,103,48,0,0,0,0,0,0,12,0,0,0,0,0,0,3,0,0,0,0,0,192,0,0,0,0,0,0,48,0,0,0,0,0,0,12,0,0,0,0,0,0,3,0,0,0,0,0,192)
PatternT1(#LED,4,#LocInCh+5,24,0,128,0,PM_NORMAL,105,12,0,0,0,0,48,192,3,0,0,240,0,0,48,0,192,0,0,0,0,252,63,0,0,0,48,0,192,0,0,192,3,0,0,240,0,12,0,0,0,0,48)
APatternT1(#LED,8,#LocInCh+6,24,0,128,0,PM_PINGPONG,107,7,112,252,0,126,28,255,255,227,56,14,224,248,1,252,56,254,255,63,112,28,192,241,3,248,113,252,192,127,224,56,128,227,7,240,227,199,129,255,192,113,0,199,15,224,248,143,3,255,129,227,0,142,31,199,241,31,7,254,3,199,1,28,255,143,227,63,14,252,7,142,3,248,255,31,199,127,28,248,15,28,199,241,255,63,142,255,56,240,31,192,143,227,255,127,28,255,113,224,63,128,31,199,255,255,56,254,227,56,126,0,63,142,255,255,113,252,7,112,252,0,126,28,255,255,227)
PatternT1(#LED,4,#LocInCh+7,24,0,128,0,PM_NORMAL,104,0,0,0,0,0,0,195,48,12,195,48,12,0,0,0,0,0,0)
Ich bin gespannt, was los ist.

Grüße Misha.


Railcar
InterRegio (IR)
Beiträge: 189
Registriert: Do 15. Nov 2018, 09:41
Alter: 67

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1023

Beitrag von Railcar »

Hi Hardi,

Fehler im LED Test Programm 1.26?

Es lassen sich max. 4 LEDs (0-3) ansprechen.
Bei LED Adresse 3 Anzahl 1 blinkt die 3. LED - bei Anzahl 2 sollten die 3. und die 4 blinken , tun sie aber nicht

LEDs ab Adresse 4 werden überhaupt nicht mehr angesprochen.

Und ja - meine LEDS sind alle heile.

Könnte das mal jemand überprüfen.

Ulrich


hlinke
S-Bahn (S)
Beiträge: 24
Registriert: Di 31. Okt 2006, 22:02
Wohnort: Trier

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Neu: Ver.: 1.0

#1024

Beitrag von hlinke »

Hallo Ulirch,

kannst Du in den Einstellungen überrüfen, welcher Wert für die maximale Anzahl der LED angegeben ist.

Der ARDUINO überträgt jetzt beim Verbindungsaufbau die Anzahl der eingerichteten LEDs.

Dies ist die Anzahl der LED die Du in dem ARDUINO mit dem ProgGen Programm eingerichtet hast.

Wenn Du also nur 4 LEDs eingerichtet hast, geht das Programm davon aus, dass nur 4 LEDs angeschlossen sind.

Ich bin darauf auch am Anfang mal reingefallen.

Mit einem Housbefehl, der alle LED, die angeschlossen sind, beinhaltet, kannst Du dem ARDUINO und dem Farbtestprogramm mittteilen, wieviele LED vorhanden sind.

Ich hoffe, das hilft Dir weiter.

Viele Grüsse
Harold

Antworten

Zurück zu „Software und Hardware“