ESC-Code von Android erzeugen?

  • Ich müßte den PK232 erst wieder aufmachen oder das Service-Manual suchen (mit Notizen). Ich nutze z.Zt. UIVIEW32, d.h. im Hostmode. Wir müssen etwas aufpassen: Ich kann im Host-Modus per UIView auch Befehle absetzen, weil es dort ein Terminal-Window gibt. Der verhält sich dann wie im Terminal-Mode, aber UIVIEW setzt das im Datenstrom in Host-Mode-Befehle um. Der TNC bleibt im HOST-Mode. Theoretisch ist auch KISS-Mode möglich. Die Unterschiede sind im Befehlsumfang. Aus TNC-Sicht ist das alles Hostmode und hängt dann vom Programm-Datenstrom ab. Das ist für AX25 (PR, APRS,...) die bevorzugte Methode.


    Die andere Variante ist ein "echtes" Terminal-Programm. Bei mir ein 16bit-Basicprogramm, das ich per Multiboot des PC mit XP auch gelegentlich fahre. Uralt, Source-Code, mit Quickbasic 4.50 kompiliert, drin rum gefingert. Das muß ich mal mit QB64 auf 64bit um modeln. Ist etwas tückisch, weil so ganz 1:1 geht QB64 mit QuickBasic 4.50 nicht. Ich bin die alten HL-Sprachen gewohnt (Fortran, PL/1,.... bei IBM u.a. auch ein paar Jahre deren Compiler für S/W Spezies unterichtet), Basic läuft nebenbei mit und C tue ich mir einfach nicht an (dann lieber gleich Assembler, C nervt mich nur :) , muß ich dann dauernd in's Handbuch sehen, die anderen laufen vollautomatisch in die Tasten). War jetzt etwas OT, zum Thema:


    Beim Terminal-Mode hast Du keinen echten Programm-Service, sondern dieses Terminal-Programm tackelt wie ein dummer Fernschreiber die Befehle direkt im vereinbartem Code in die Firmware. Da sind dann allenfalls noch vorprogrammierte Funktionstasten etc. drin und auch Code-Translation. Je nachdem ....... weil der TNC auch RTTY, CW, Fax ..... (müßte Handbuch holen). Es geht im Prinzip von der Tastatur an den TNC, der entweder dann im Command-Modus oder Convers(ational)-Modus ist (den hast Du vermutlich als Text-Modus bezeichnet). Der Datenstrom (Format) zwischen PC und TNC ist "Terminal-Mode", NICHT "Host-Mode" (wichtig für Commands). Bei Convers wird gesendet, bei Command wird der TNC gesteuert.


    Damit es so richtig schön kompliziert wird: Bei AX25 gibt es dann noch Connectionless und Connected. Bei einem echten PR-QSO connectest Du (login ohne Password, :) ). APRS nutzt UI-frames und ist "connectionless".


    Sorry, aber ..... wir müssen etwas auseinader halten, was bei Dir gerade funktioniert oder auch nicht. Dein TNC geht i.d.R. bei den Standardeinstellungen, wenn er mit Call etc. "entjungfert" wurde in den Convers-Mode. Das ist eigentlich in der Vergangenheit der Normalfall gewesen, soweit ich es in Erinnerung habe. Mit meinem Kippschalter mache ich ihn wieder zur Jungfrau *duck* und muß neu initializieren - nicht alles, Call und ein paar Sachen bleiben drin. Da wurde in den Firmwares immer wieder mal "getunt", weil außer für PR viele PCs eben noch mehr konnten. D.h. je nach Operator wurde öfter zwischen Host-Mode ("Programm" für APRS oder sonstiges) und Terminal-Mode (der Dummy vor dem Bildschirm bedient) gewechselt.


    Das Problem ist immer schon gewesen: was macht das "Bedienprogramm", d.h. in welchem Modus steuert es den TNC. Das ist entweder Host-Mode (KISS gehört dazu) oder Terminal-Mode. Betriebstechnisch im TNC wird bei beiden Modi im Convers-Status gesendet und im Cmd-Status nur der TNC bedient. Vielleicht hilft die Terminologie so etwas besser. Ich muß selber aufpassen, daß ich jetzt nix durcheinander schreibe, hi.


    Du mußt irgendwie aus dem Convers-Status raus, aber ..... für mehr Tips müßte ich so ein Teil in den Finger haben. Ich stoppe jetzt, sonst wird es ein Workshop statt post. Wenn ich Dir etwas unverständlich geschrieben habe, frage bitte zurück. Durch diese Mode und Status Geschichte mußt Du durch, sonst wird das Kuddelmuddel.


    :) Afu ist Experimentalfunk, wenn alles gleich klappt furchtbar langweilig, 73 Peter


    PS oft sind Firmware und OP-Handbuch nicht in Deckung, weil in der Firmware updates rein kamen, die nicht immer gleich im Handbuch nachgebessert wurden. Deshalb etwas pingelig prüfen, was geht und was nicht.


    Nachtrag: Das Teil ist von 1988 (Ricofunk) im "Erstbesitz" mit mehreren Updates und Umbauten (Mailbox etc.). Im Tech.Ref. ist ein Jumper 1 für eine 5V BackupBatterie, und die "klaue" ich ihm mit dem Kippschalter. Man kommt nicht so ganz einfach aus dem Host-Mode raus, wenn der mal im Host-Modus abstürzt und die Batterie aktiv ist. Der zweite Kippschalter ist für Fax reverse vorgesehen, wurde aber nie verdrahtet.

    Edited 5 times, last by DB6ZH ().

  • Hallo Peter,

    Dein TNC geht i.d.R. bei den Standardeinstellungen, wenn er mit Call etc. "entjungfert" wurde in den Convers-Mode. Das ist eigentlich in der Vergangenheit der Normalfall gewesen, soweit ich es in Erinnerung habe.

    Muss ich dann also zuerst alle anderen Befehle zum TNC übertragen und dann erst den "Imycall", der ja scheinbar DIE Bedingung ist, dass der TNC in den Convers-Mode geht oder gehen kann? Ist dieser Schluss zutreffend?? Zumindest steht im Manual, ohne die Eingabe eines Calls geht der TNC nicht auf Sendung. So komme ich zu der Frage.


    Wie Du schon geschrieben hast, die Umschaltung zwischen Command- und Convers-Mode ist der springende Punkt. Das hatte ich mir einfacher vorgestellt. Immerhin scheint es mir einmal in die eine Richtung gelungen zu sein. Wenn ich den Weg zurück wüsste und dadurch hin und her springen könnte, wäre das doch die Lösung, oder?

    Ich werde das Manual nochmals ganz genau studieren. Aber Eigenheiten in der Firmware, die nicht dokumentiert sind, kann ich da natürlich nicht entdecken...


    73 Andy

  • Ich kenne die exakte Reihenfolge für Dein Teil nicht. Die ersten TNCs konnten zu jeder Zeit mit beliebigem Call senden. Nachdem damit einiger Unfug getrieben wurde, wurden z.T. auch in die Programme "Bremsen" eingebaut. Deshalb sollte vermutlich Dein TNC ohne Call nicht auf Senden gehen. Natürlich muß es irgendwann mal hinterlegt werden, was normalerweise ähnlich wie "factory reset" bei PCs, Funken usw. geht. Deshalb trenne ich auch die Backupbatterie ab, wenn es denn garnicht mehr geht und fange bei Adam und Eva neu an..


    Du mußt i.d.R. die "initial" Reihenfolge etwas penibel einhalten. Möglicherweise schließt die bei Dir vordefiniert mit "convers" ab. Bei meinem Pakratt macht das die Firmware bereits. Man muß aber "convers" unterbrechen können, evtl. auch per Definition am Ende der Initialisierung. Zur Änderung des Calls kann eine Bremse aktiv sein und nachträgliche Änderung nur per "factory reset". Daß nach Calleingabe nur noch convers gearbeitet werden kann, wäre etwas ungewöhnlich. Man muß ja evtl. noch nachträglich Monitor-Optionen u.ä. ändern können. D.h. convers muß/sollte unterbrochen werden können.


    Etwas unanständig zum Schluß :) : Ich habe vor Urzeiten selber mal gesündigt. Als bei PR der Mailboxbetrieb los ging, wurden auch viele Programme, Manuals, etc. aus den Mailboxen downloaded und via nahe gelegenem Digipeater ging gar nichts mehr. Mir hat ein sehr penetranter Downloader laufend ein QSO via Digi zerschossen. Bis dann (dank TNC1, der PK232 hätte erst resetted werden müssen) plötzlich Disconnected wurde. Nach dem dritten Mal hat er es dann auch kapiert *duck*. Man hat diese Möglichkeit bereits im zweiten PR-Jahr unterbunden, bzw. Callwechsel nur nach Reset. Die Downloaderei bzw. Mail-Verkehr nahm ziemlich überhand und war m.E. der Hauptauslöser zum Tod vom PR. Mit APRS bin ich dann wieder eingestiegen, uraltes TR2200G und PK232, beim TNC1 brannte das Netzteil durch mit Platinenschäden, leider. PR und jetzt APRS geht ziemlich problemlos mit 1W und max. der alten Mobil-PA mit 10W.


    Schau mal im Handbuch nach der Initialisierungs-Reihenfolge. Wichtig wäre noch, ob Deine App im Host-Mode (simulierten Terminal-Mode) oder im native Terminal-Mode arbeitet. Nach "factory reset" kommt an sich erst Initialisierung im Terminal-Mode und erst danach wird Host-/Kiss-/ oder was auch immer eingeschaltet, ODER alles bleibt im Terminalmode. Davon hängt die weitere Eingabe ab.


    Direkt zur Frage nochmals: die Call-Eingabe bewirkt (normalerweise) nicht automatisch Convers-Mode, der muß irgendwo/-wie per command eingeschaltet werden. Allerdings geht ohne Call die PTT-Funktion nicht, d.h. ohne Call kein Senden (bei neuerer Firmware jedenfalls).


    73 Peter

  • Hallo Peter und alle Mitleser,

    gestern Abend konnte ich feststellen, dass der Befehlsstring aus mehreren aneinander gereihten Befehlen bestehen kann, wenn sie durch ein Space getrennt sind. Davon steht nichts im Handbuch. Das scheint ein Weg zu sein, den TNC für den angestrebten Mode zu initialisieren. Hatte gestern nicht viel Zeit, herumzuprobieren.


    Es gibt ja eine Konfigurationssoftware für Windows. Da nimmt man eine Reihe von Einstellungen vor und lädt diese in den TNC. Das fällt mir natürlich (als "newbee" in diesem Thema) erst hinterher auf, dass das genau diese Aneinanderreihung von Befehlen ist, die ich auch jetzt entdeckt habe. Nur wie ich vom Convers-Status wieder in den Command-Status komme, ich habe das noch nicht entdeckt.

    Es gibt einen Befehl, um in den Host-Mode zu schalten. Vielleicht muss ich damit herumspielen. Ich muss das noch besser verstehen und auch versuchen, undokumentierte Befehle und Eigenschaften (oder sind das eher Eigenheiten?) herauszufinden.

    73 Andy

    Edited 2 times, last by DH5AK ().

  • Mit Host-Mode Befehlen würde ich jetzt nicht experimentieren. weil Du dann aus dem Modus evtl. nicht mehr rauskommst, ohne zu resetten. Les Dir bitte Seite 6 im Manual durch und wechsel nicht unnötig den Mode. Vor allem mußt Du als erstes klären, in welchem Modus Deine Software läuft, mit der Du den TNC ansprichst. Die muß den initialen Terminal Modus irgendwie auch unterstützen und im Terminalmodus arbeiten.


    So wie sich das liest, kann Dein TNC alle möglichen Modi und ........ das kann auf den paar Seiten nicht komplett dokumentiert sein. Die verweisen immer auf Nord<>Link und weiteren Support. Damit wirst Du jetzt als Newbee nicht so schnell durchkommen. Das Problem bei den TNCs ist, daß die je nach Status und Mode auf einzelne Befehle auch mal anders reagieren, als Du evtl. vermutest -- daß sind dann "Eigenheiten" ...hi, nett formuliert.


    Bitte systematisch Fummeln, sonst kommen zig Sachen auf einmal hoch. Bleib einfach im Terminalmode, solange es geht. Das muß Dein TNC immer können, als 100pro Rückfallmodus.


    Kurz Quergelesen:

    WA8DED und Nord<>Link sind an sich Klassiker, die ich selber per EPROM-Austausch und Firmware-updates bei mir habe nachziehen müssen. In dem Basisteil Seite 8:


    JHOST (Hostmode)

    Default: 0

    Possible parameters: 0, 1

    Switches between terminalmode und hostmode. The hostmode is WA8DED-compatible and is

    supported by many PC-application programms (e. g. terminal programms).


    Wäre ein Kandidat, falls der Hostmode "switched" werden muß. Nach meiner Erfahrung sind die TNCs allerdings sehr bockbeinig, wenn sie im Hostmode festhängen. Du wirst dann evtl. mit dem Dip-Switch 4 spielen müssen (bei mir der Microschalter :) )


    @K (KISS/SMACK)

    Default: none

    Possible parameters: none

    Enables the KISS/SMACK-mode. With the decimal byte-sequence 192, 255, 192, 13 the TNC

    can be returned to normal operation without RESET (power off/on).


    Der zweite Kandidat, falls Deine Software im Kissmodus arbeiten will. War früher mal eher eine Modeerscheinung als Sparversion vom vollen Hostmode. Vermute eher, daß die nicht benutzt wird.


    Suche in den Initialsierungstrings mal nach

    The %B-command is used to set the Packet-Radio operating mode. For Packet-Radio generally

    the AX.25-protocol is utilized.

    % B

    Default: 1200

    Possible parameters: 300, R300, R600, 1200, 9600, 19200


    Damit bist Du vermutlich im conversational Modus gelandet. Mit

    %R (Reset)

    The %R command restarts the firmware (Packet Radio) and resets the parameters to the values

    that has previously been stored in the non-volatile memory (see %ZS and %ZL).

    geht es evtl. wieder raus.


    Das wären jetzt meine "Probierecken" nach Manual. Sorry, aber .......


    73 Peter


    Nachtrag:

    Ich habe mein altes TNC1 Ref.Manual aus dem Keller geholt. Da mußte alles noch händisch geregelt werden. Mit command n wurde das Steuerzeichen für den Commandmodus definiert, Standard hex'03 <ctl-c> , bei Dir dann Escape. Nach Power on geht der auch erst in Command-Mode. Vermutlich wird mit einer Initialisierungsstring auf Convers geschaltet. Das kann implizit auch durch einen anderen Befehl passieren. Mit Connect-command schaltet er z.B. bei PR sofort in convers.


    Es gibt auch noch einen Transparent-Modus für Datenaustausch, der wie Convers arbeitet, aber Steuerzeichen als Daten behandelt. Der unterdrückt dann auch Reaktionen auf ESC-Zeichen. Der Modus muß aber per Command gezielt eingeschaltet werden. Sollte also erst einmal nicht aktiv sein.


    2. Nachtrag zu Tastaturen: (habe heute dazu nachgegraben - IBM-PC1 H/W Tech.Ref.)

    jeder Tastendruck erzeugt einen Interrupt und der "Tastaturcode" wird eingescanned und im Treiber auf einen Code umgesetzt. Dieser Code kann variieren, je nach Tastatur- und Code-Layout im Treiber. Wenn Du eine virtuelle Tastatur hast, muß die das ebenfalls können und ....... es wäre zu überprüfen, ob bei Deiner Configuration via Tablet das auch so zum TNC rübergeht (d.h. die virtuelle Tastatur des Tablet entsprechen arbeitet). Habe selber keins und muß da passen.


    Die ersten IBM-PCs - zu denen dann auch die TNCs speziell für PR kamen - hatten die ESC-Taste am linken Ende der Nummern-Reihe, links neben der "1". Spätere Tastaturen haben ESC-Taste separiert im linken oberen Eck in der Nähe zu "F1". Die ESC Taste funktioniert im Groß-/Klein-Mode und mit CTL, zusammen mit ALT wird ESC unterdrückt. Die Alternative ist noch (US-Tastatur QWERTY) mit CTL - [ (ALT-[ wird unterdrückt) oder ALT mit dem Ziffernblock 027. Siehe upload. "[" ist auf der deutschen Tastatur (QWERTZ)das kleine "ö" (die gleiche Taste, nicht mit ALT Gr - 8 verwechseln).


    Etwas OT: Irgendwo flattert evtl. noch eine Broschüre zu den neueren IBM-Tastaturen herum. Ich hatte in den 70ern einige IBM 3270 Tastaturen vor dem Schrott für die DAFG-Gruppe im Raum Ffm gerettet. Dazu waren Bausätze entwickelt worden, um die für RTTY zu benutzen. Irgendwann habe ich dann nach 30+ Jahren mal "ausgemistet". Immer daß gleiche, man wirft genau das weg, wo dann zig Jahre später nach gesucht wird ...... Inzwischen scanne ich vorher noch den Papierkram ein.

  • Hallo Peter,

    ich habe mich nach diesem Problem auch in einem anderen Forum erkundigt. John KX4O schrieb mir:

    "...Ahh yes there's a trick. The SCS TNC uses a different paradigm for control than what you might be expecting. Its style is called "TheFirmware" and is different from the CommandMode/ConverseMode of more traditional TNCs.

    With this TNC you are essentially always in converse mode and anything you type goes through the communication channel. The one exception is when you want to send a command to the TNC to change some parameter. These are always preceded by the Escape key. So for example to change the mycall in the TNC you type at the TNC prompt...


    ESC I yourcall


    To change the modem speed to, for example, 1200 bps...


    ESC %B 1200


    To make a connection to another TNC over the air...


    ESC C callsignofotherTNC


    It takes a little getting use to, but I have to say I like it.


    I hope this addresses your question. There are lots of fun little things to learn with the Tracker. Give this a try and let me now if I addressed the question."


    Ich dachte, dass ich das mit ESC eigentlich schon geschafft hätte. Aber vielleicht mache ich da doch noch etwas falsch oder interpretiere etwas falsch. Ich werde das nochmal untersuchen.


    73 Andy

  • Hallo Andy,

    :) nicht aufgeben, so weit waren wir ja schon. Er hat jetzt bestätigt, daß man bei Deinem Modell mit ESC aus dem Convers heraus kommt, bzw, auch jedesmal (??) voranstellen muß. Das waren bei den "traditional" TNCs lediglich andere Steuercodes, der beim uralten TNC1 auch wählbar war, aber ansonsten .... convers/command ist normales Tagesgeschäft mit den TNCs.


    Mit der Bestätigung von KX4O kommt natürlich der Verdacht auf, daß Dein Tablet den ESC nicht rüberbringt. Am PC hast Du es ja schon geschafft. Möglicherweise spinnt auch das USB-Kabel oder der USB-COMx Treiber (via Tablet) und unterdrückt (Steuer-)Zeichen. Es ist schon USB2 oder hast Du schon höheren Anschluß ? Wenn Du eine virtuelle Tastatur hast, muß eine Unterbrechung simuliert werden. Evtl. kannst Du ja die Alternativen ausprobieren und auch mal ESC mit CTL oder Umschaltung-Groß (nicht mit ALT) testen. CTL-ö sollte auch gehen. Vielleicht verursacht die CTL-Mitbenutzung dann eine Unterbrechung.


    Hattest Du gleiches USB-Kabel am PC ?? Auf dem Tablet passenden Treiber ?? Da müßtest Du mal bei Android-Spezis nachbohren bzw. zu der Hacker-App nachfragen. ESC wird ja oft auch in Programmen selber verwendet, um u.a. Eingaben wieder zu löschen.


    Alternativ kannst Du an sicher auch am PC alle TNC-Parameter passend setzen, speichern und am Android nur noch convers(ation) betreiben.


    73 Peter

  • Hallo Peter,

    Das Kabel ist dasselbe wie bei der PC-Installation. Ja, ich habe wieder den Hub dazwischen, weil sich das Ladegerät da so schön anschließen lässt. Den werde ich wieder durch das passiven OTG-Adapterkabel ersetzen. Habe auch lockeren Kontakt zum Programmierer der USB Serial Terminal App. Den könnte ich auch nochmal befragen.

    Ich habe keine Ahnung, wie ich prüfen kann, ob ein ESC herauskommt, wenn ich über die Macro-Taste ein darin abgespeichertes Hex 1B Aufrufe und zum TNC übertrage.

    Das Tablet ist schon ein paar Jahre alt, hat aber schon USB-C als Anschluss und kann auch USB3-Sticks lesen und beschreiben.

    Die Parameter sollten korrekt sein, wenn ich die Meldung, due der TNC aussenden, mitschreiben kann. Mag sein, dass auch da Zeichen verschluckt werden. Aber die Meldung sieht relativ vollständig aus.

    73 Andy

  • Dann probiere es nochmals mit Hub am PC, um den Hub auszuschließen. Wenn das auch noch funktioniert, gibt die App das ESC nicht weiter oder Du hast ein Problem mit dem Tablet bzw. Android USB-COMx Umsetzung.


    Zu einer PC-PC Link jetzt unter Win10 und oder Android fällt mir auf Anhieb nichts ein (kein Tool). In der Steinzeit habe ich noch PC-PC via COMx unter DOS gemacht und auch die Tools für DOS dazu, aber ......... :) ...... , selbst Die D-Sub Teststecker (24pol) dazu habe ich noch bei meinen Museums-Teilen. Unter OS/2 kann ich den ganzen Schotter auch noch nutzen, ........................... aber das hilft Dir jetzt auch nicht weiter.


    Kannst Du evtl. in näherer Umgebung noch einen Kollegen erwärmen, der zumindest ähnliches Tablet oder ähnliches hat. ??


    Kriegst Du die Meldung "no serial device detected" gefolgt von "connected to FTDI device" und dem grünen "@'Q'Z eigentlich auf dem PC und/oder auf dem Tablet ?? "@'Q'Z sieht eigentlich nach einer Befehlskette aus. @Q finde ich nicht und Z wäre eigentlich Flow-Control. Die Meldung "kein serial..." und dann "FTDI-Device" irritiert mich ebenfalls. FTDI sollte als serial-Device laufen, wäre dann ein USB/Treiber Problem des Tablets, falls es nur dort auftaucht. Frage doch mal bei KX4O nach, ob sein Startup genau so aussieht.


    73 Peter

  • Habe ich auch vermutet, aber wie sieht das beim PC aus ?? Da muß ja ein vergleichbares Startbild kommen.


    Gelb wird das Tablet/Android sein und grün der TNC. @Q Z wird vermutlich ein Echo vom Tablet sein, d.h. Die Init-String ?? Gibt es am Tablet einen Win - vergleichbaren Device-Manager ?? Wie ist die Msg-Reihenfolge: Du startest die App ohne TNC und bekommst "no serial device detected" und späteres Einsteckem des TNC produziert die "FTDI- Message", oder ist der TNC bei APP Start schon dran und beide Messages kommen ??


    Was passiert beim PC ?? auch mal mit HUB ??


    73 Peter

    Edited 4 times, last by DB6ZH ().

  • Nachtrag: Typo korrigiert. Falls Z gesendet wurde, bist Du evtl. im "X-Flow mode" (default 3) und....... (ist eigentlich ungewöhnlich)....


    If the XON/XOFF-handshake is enabled, the dataflow from the TNC to the terminal can be stopped with Ctrl-S and started again with Ctrl-Q.


    (CTRL-S x'13, Ctrl-Q x'11)


    Neu gepostet, damit Ergänzung als neu sichtbar wird. 73 Peter