Hallo Christian!
fischmir hat geschrieben: ↑17.05.2021, 22:13
Wenn also ein Punkt = 0,5 Sekunden, dann sind ein Strich 1,5 Sekunden. Abstand zwischen zwei Zeichen 1,5 Sekunden, also:
0,0 - 0,5 = Verzögerung
0,5 - 2,0 = Lang
2,0 - 3,5 = Abstand
3,5 - 5,0 = Lang
5,0 - 6,5 = Abstand
....
Die siehst, meine Zeiten laufen mit deinen auseinander.
Ich glaube, du kommst mit den Abständen innerhalb eines Zeichens und den zwischen den Zeichen über Kreuz!
Abstand innerhalb eines Zeichen: 1 Punkt Länge
Abstand zwischen zwei Zeichen: 3 Punk Länge
Soll das obige Beispiel ein "M" ("--") oder ein "TT" ("- -") sein?
Ich habe es jetzt selbst auf meiner Test-CCU mit einem HmIP-DRSI4 ausprobiert und mein eigenes Rufzeichen "OE6MOD"gemorst.
Direktverknüpfung mit einem virtuellen Taster:
- dv-vt.PNG (16.96 KiB) 390 mal betrachtet
Ein Programm:
WENN {beliebiger Auslöser}
DANN Script
Und das Script:
Code: Alles auswählen
var vt_kurz = dom.GetObject("Morsetaste").DPByHssDP("PRESS_SHORT");
var vt_lang = dom.GetObject("Morsetaste").DPByHssDP("PRESS_LONG");
! O "---"
vt_lang.State(1);
vt_lang.State(1,2000);
vt_lang.State(1,4000);
! E "."
vt_kurz.State(1,7000);
! 6 "-...."
vt_lang.State(1,9000);
vt_kurz.State(1,11000);
vt_kurz.State(1,12000);
vt_kurz.State(1,13000);
vt_kurz.State(1,14000);
! M "--"
vt_lang.State(1,16000);
vt_lang.State(1,18000);
! O "---"
vt_lang.State(1,21000);
vt_lang.State(1,23000);
vt_lang.State(1,25000);
! D "-.."
vt_lang.State(1,28000);
vt_kurz.State(1,30000);
vt_kurz.State(1,31000);
Funktioniert.
Allerdings ist nach 10x morsen dieser 6 Zeichen der DC der CCU um ca. 15% gestiegen, der DC des Schaltaktors (wird auf dem LCD direkt angezeigt!) gleich um 34%! Viel morsen will man da nicht...
Aber
proof of concept und so...
Roland