Verfasste Forenbeiträge
-
AutorBeiträge
-
ERELTeilnehmer
Das in Aussicht gestellte Web-Interface auf Hardwarebasis ESP-8266 ist jetzt hier zu finden:
http://erel.de/PROJEKTE/Cronixie/inh_webi.html
Cronios-Mudule oder Cronixie-Uhren sind damit über einen Webbrowser*, UDP-Telegramme oder Url-Requests steuerbar.*Leider arbeitet der Webserver hier nicht ganz zufriedenstellend!
ERELTeilnehmerEs hat etwas Arbeit gemacht aber hier ist das gesamte Projekt aufgeführt:
http://erel.de/PROJEKTE/Cronixie/Index.html
– „LED-Basic Input“
– Cronios-Fernsteuerung, Hard- und Software
– Cronixie-Software einschl. PC-FernsteuerprogrammFür Hinweise und Verbesserungsvorschläge bin ich dankbar!
ERELTeilnehmer…und hier nochmal besser formatiert:
https://www.dropbox.com/l/scl/AABdjwa8wqa9nGHvakNe0gdIa6AAJymQ5TAERELTeilnehmerKorrektur: die Ziffernzeiten lauten richtig:
0 = 50 ms, 1 = 80 ms, 2 = 110 ms, 3 = 140 ms, … , 9 = 330 msERELTeilnehmer(Sorry wegen der abenteuerlichen Schreibweise meines letzten Beitrages, man sollte einfach nicht mit iOS-Geräten längere Texte schreiben, und schon gar nicht spät am Abend!
Natürlich fangen BASIC-Kommentare nicht mit Kommata an (das hatte ich anders eingetippt, ist der Apostroph hier nicht zulässig?); statt „Getkey“ ist „IO.keystate“ gemeint und es geht beispielhaft nach wie vor um das CRONIOS-Board (wie die Rechtschreibverbesserung auf ‚Cronia‘ kommt bleibt schleierhaft).)ERELTeilnehmerSo, hat etwas Zeit und eine ganze Menge „Gehirnschmalz“ gekostet:
Ich habe einen Weg gefunden, wie man das LED-Basic eines Cronioa-Modula überreden kann, „Eingaben“ anzunehmen. Der Weg über den Drehimpulsgeber scheint (derzeit) der einzig mögliche, allerdings (wegen der verschiedenen Schalterstellungen der Drehkontakte) nur über den des Tastschalters.
Und nun bin ich wieder beim Thema: leider erschwert dies das LED-Basic sehr, da die Kontakteingänge auch beim GETKEY-Befehl erst entprellt zu werden scheinen, d.h. ein Potentialwechsel wird auch in einer direkten Schleife
‚v = Vorher-Zustand
i = 0 ‚Schleifenzähler
20920:
delay 2
l = l + 1
k = IO.keystate() ‚ Key abfragen
if k = v then goto 20920 ‚ Zustand unverändert -> weiter wartenerst verzögert erkannt, leider nicht mit reproduzierbarer Verzögerungszeit!
Eine Wertübergabe mittels Zeitmessung von Port-Pegelwechseln ist zwar nicht unmöglich (siehe dazu später einen Thread ‚LED-Basic „Input“ simulieren‘) aber unsicher und damit schwierig…
Es wäre also zumindest wünschenswert, wenn die IO.keystate-Abfrage unverzögert einem Portpegelwechsel folgen würde!
PS: ich weiß, daß z.B. anfangs erst eine eventuell gerade laufende LED.show-Routine abzuwarten ist. Der erste Aktivzustand (hier L-Petel) muß also mindestens so lange andauern (>40 ms), bis eine direkte Portabfrageschleife (s.o.) überhaupt erreicht werden kann…
ERELTeilnehmerNochmals vielen Dank,
die einzige Möglichkeit, an den Basic-Cronios-1 heranzukommen, ist, den Drehimpulsgeber zu „mißbrauchen“ (der dazu wahrscheinlich entfernt werden muß).
Ein externer μC könnte diesen simulieren und das bedarf dreier Outputleitungen am steuernden Gerät.
Dezimale Zahleneingaben benötigen max. 10 Impulse/Stelle, ggf. mehr für Steuerzeichen. Da es hier um relativ wenige Daten (Parameter, darzustellende Ziffern- oder Zeichenfolgen, Unterprogrammaufrufe) geht, kann eine gewisse Verarbeitungszeit in Kauf genommen werden.
Dazu zwei Fragen:
1. was für ein Typ Drehimpulsgeber ist verbaut?
2. welche maximale Impulsrate /s wird gelesen?ERELTeilnehmerDanke für die sehr schnelle Antwort!
Ich weiß sehr wohl darum, daß ein kleiner Wunsch oft mit viel (Programmier-)Arbeit verbunden ist, vielleicht gäbe es dennoch eine Chance:
1. die Baudrate könnte vergleichsweise niedrig sein um ins (bestimmt vorhandene) Timing zu passen, die Eingangsporta lassen sich ja auch innerhalb des Programmes abfragen
2. es geht vielleicht nicht immer um direkte, zeitkritische Steuerung der LEDs, es reicht oft, Programmbereiche aufzurufen oder (einfache) Parameter zu übergeben, wie vielleicht anzuzeigende Werte
3. eine Reihe Anwendungen benötigen keinen kontinuierlichen Datenströmen zu den LEDs sondern nur Änderungen in vergleichsweise größeren Zeitabständen (z.B. Uhren), in der „Zwischenzeit“ könnte auch ein serieller Port „gepollt“ werden.Konkret möchte ich gerne eine Cronixie-„Uhr“ extern zur Datenanzeige (z.B. Temperatur) nutzen und extern Auch Anzeigeparameter (Helligkeit, Farbe, Stellenzahl usw.) steuern.
Nochmals Danke!
PS: Zusatzfrage
Bei der Cronixie-Text-Uhr scheinen ja nicht an allen Stellen alle 10 Zeichenplätze belegt zu sein – sind da „Leerscheiben“ eingesetzt? -
AutorBeiträge