Verfasste Forenbeiträge
-
AutorBeiträge
-
EREL
TeilnehmerDas 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!
EREL
TeilnehmerEs 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!
EREL
Teilnehmer…und hier nochmal besser formatiert:
https://www.dropbox.com/l/scl/AABdjwa8wqa9nGHvakNe0gdIa6AAJymQ5TAEREL
TeilnehmerKorrektur: die Ziffernzeiten lauten richtig:
0 = 50 ms, 1 = 80 ms, 2 = 110 ms, 3 = 140 ms, … , 9 = 330 msEREL
Teilnehmer(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).)EREL
TeilnehmerSo, 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…
EREL
TeilnehmerNochmals 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?EREL
TeilnehmerDanke 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