"Klick-Sperre", "Mini-Menü", "Multi-Home-Button" und "Batch-Modus" mit Koord

  • Hallo Zusammen,


    ich habe eine neue Testversion (V1.10.4) meines Koordinatenprogrammes auf den Server gestellt, mit der man nun versehentliche Klicks verhindern kann, wenn man das Navi in die Tasche steckt.


    Das Ganze funktioniert so:
    Koord wird im Servermodus gestartet und erzeugt ein Bildschirm-füllendes Fenster, das sich in den Vordergrund legt. Man kann einen Text darstellen lassen.
    Klickt man in das Fenster, so wird der Klick von diesem Fenster angenommen und es passiert nichts (einstellbar!).
    Jetzt braucht man noch eine Möglichkeit, das Programm zu beenden (bzw. das Fenster zu schließen), damit man ohne Softreset weiterarbeiten kann.
    Ich habe im Beispiel 2 Möglichkeiten aufgezeigt:
    1) Eine kleines "aktives" Zusatzfenster, das beim Klicken das Programm beendet (könnte aber auch zufällig getroffen werden)
    2) Fänchentaste umbelegen. Hie muss man länger als 500ms drücken, damit das Programm endet.


    Koord wird (im Beispiel) mit diesem Parameter gestartet (das kann man leicht auf einen Button legen):

    Code
    Window=0 KoordServ=1 wndrefresh=-1 t=1 rb=0 gb=0 bb=0 ServWnd=text,0,0,-1,-1,5060,255,0,0,-1,-1{bitte warten...}\text,450,0,30,30,-5030,255,255,0,-1,0{x}| ServKey=196,500,0,-1|


    Der letzte (neue) Parameter bei jedem Fenster gibt an, was beim Klick passieren soll.
    Default ist 0 und bedeutet Programmende. Dem großen Fenster (Breite=-1 und Höhe=-1 bedeuten Vollbild!) ist das "Ereignis" -1 zugeordnet, das hier nicht definiert ist und daher passiert nichts.
    Man könnte aber via ServKeyFile= nun auch jedem Ausgabefenster eine Koord-Befehlszeile zuordnen.


    Das geht (noch) nicht:
    - Großbuchstaben als Textausgabe
    - Mehrere Koord-Server-Anwendungen gleichzeitig!


    Bitte mal testen!


    Edit: zu V1.11 Rev.0
    - Großbuchstaben als Textausgabe sind nun möglich
    - BATCH-Modus implementiert



    Gruß,
    Stefan

  • Hi Stefan,
    funktioniert spitzenmässig !!


    VIELEN DANK ! : drink

  • Hallo Stefan,


    das wird ja immer aufregender !


    Ich frage mich, sicherlich pessimistisch ?!, ob etwas gegen versehentliche Hardresets gemacht werden könnte, also ob die ON-Taste umprogrammiert werden könnte, und ob dies überhaupt sinnvoll wäre, d.h. ob in jedem denkbaren Fehlerfall ein Softreset (im Stiftloch) Abhilfe schaffen würde.
    Dann könnte man HR auch (nach SR und im Menu) in einem zweiten Schritt (falls nötig/gewünscht) ausführen lassen.


    Mit anderen Worten: mir passiert es leider bisweilen, dass in der Jackentasche ein unbewusster HR passiert; in der Jacke ist das Navi stets aus...

  • Hallo Leidensgenosse,

    Zitat

    Original von mobutu
    mir passiert es leider bisweilen, dass in der Jackentasche ein unbewusster HR passiert


    ja das kann ich nachvollziehen, aber leider weiß ich keine Lösung. Der Hardreset könnte durchaus (sinnvollerweise) festverdrahtet sein!
    Selbst die Suspend-Funktion kann man so nicht einfach umbelegen, da diese Funktion durch die powerbutton.dll (geladen von der device.exe) vorrangig ausgeführt wird.


    Ich habe es gerade extra getestet:
    powerbutton.dll in der Registry (HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PowerButton) umbenannt und dann einen SR gemacht. -> Suspend via Powerbutton (Code 223 (0xDF)) geht nicht mehr. Aber der HR funktioniert trotzdem noch...


    Also hilft eigentlich nur eine "Hardware-Lösung": Power-Button abkleben und Suspend-Funktion auf Fänchentaste legen!


    Gruß,
    Stefan

  • Grrrraaaoorrrr !!


    Ich hatte zwischenzeitlich im Wiki von der Unmöglichkeit gelesen, aber du setzt immer noch einen drauf - das ist doch genial , diese Umbelegung; ich brauche die Fähnchentaste derzeit nicht wirklich !!
    Wenn also "Suspend" wirklich auch "On" mitumfasst - ist das meine Lösung !!


    Ich probier das mal aus,


    Besten Dank!!

  • Zitat

    Original von mobutu
    Wenn also "Suspend" wirklich auch "On" mitumfasst - ist das meine Lösung !!


    Sch....! an das Einschalten hatte ich natürlich nicht gedacht! Koord-Server wird auch "suspended" und reagiert somit erst nach dem Einschalten wieder...
    In dem Energiezustand "suspend" läuft wahrscheinlich wirklich nur noch u.A. die powerbutton.dll.


    Das ist die berühmte Katze, die sich in den Schwanz beißt!


    Gruß,
    Stefan

  • Hallo zusammen,


    man kann die Funktion auch dazu nutzen, ein Mini-Menü aufzubauen.


    Folgender Aufruf erzeugt die Fenster:

    Code
    Window=0 KoordServ=1 wndrefresh=-1 t=1 rb=0 gb=0 bb=0 ServWnd=text,0,0,120,34,5030,255,0,0,-1,-1{Taskleiste}\text,0,34,120,34,5030,0,255,0,-1,-2{trk->gpx}\text,0,68,120,34,5020,0,0,255,-1,-3{Poiverwaltung}\text,0,102,120,34,5030,255,255,0,-1,0{Ende}| ServKeyFile=\Storage Card\Programme\KOORD\Menu01.txt|


    und in der angegebenen Datei (menu01.txt) sind die Befehle definiert:

    Code
    window=0 SendKey=\fPrototype\m0x0010 taskbar=2
    SendKey=\fPrototype\m0x0010 TrackMaxHDOP=2.1 TrackConv=\Storage Card\UserTracks\
    SendKey=\fPrototype\m0x0010 poiverw=\Storage Card\POIVerwaltung\


    Edit: Man kann natürlich so auch einen "Multi-HOME-Button" realisieren, indem man in dem ServKeyFile einfach mehrere Pfade zu 3na-Dateien definiert und diese dann mit den ServWnd-Einträgen verknüpft!
    Also z.B. könnte man diese Ziele definieren:

    Code
    SendKey=\fPrototype\m0x0010 LKlick=0 goto=\Storage Card\Programme\koord\home.3na
    SendKey=\fPrototype\m0x0010 LKlick=0 goto=\Storage Card\Programme\koord\arbeit.3na
    SendKey=\fPrototype\m0x0010 LKlick=0 goto=\Storage Card\Programme\koord\oma.3na


    Gruß,
    Stefan

  • Hallo zusammen,


    ich habe die V1.10.4 nochmal um eine Speicheranzeige erweitert. Man kann sich also den momentan freien program memory und den freien storage memory (object store) in kB anzeigen lassen. Damit können evtl. Speicherprobleme einfacher erkannt werden, da das Ausgabefenster immer im Vordergrund bleibt.


    Als Beispiel dient wieder die "Klick-Sperre":

    Code
    Window=0 KoordServ=1 wndrefresh=1000 t=1 rb=0 gb=0 bb=0 ServWnd=text,0,0,-1,-1,5060,255,0,0,-1,-1{bitte warten...}\text,450,0,30,30,-5030,255,255,0,-1,0{x}\memory,0,200,-1,50,1025,0,255,255,-1,-1{}|


    \memory,... gibt 2 Integerwerte in kB aus:
    freier Programmspeicher (entspricht RAM am PC) und freier Datenspeicher (entspricht einer RAM-Disk am PC). Diese können also mit {%i - %i} formatiert werden.
    Das Anzeigeintervall wird mit wndrefresh= definiert.


    Die neue Ausgabe kann natürlich auch als Einzelfenster oder gemeinsam mit anderen Ausgaben genutzt werden.


    Gruß,
    Stefan

  • Wow, Stefan ist ja nicht zu bremsen. Jetzt fehlt nur noch die Möglichkeit, einen Prozeß zu starten, der den Speicher in Abständen prüft und bei drohendem Speichermangel eine Warnung ausgibt (oder gleich eine Speicheroptimierung vornimmt).


    Irgendwann kommt die Zeit, und wir brauchen gar kein GoPal mehr...
    (Ach nein, dann gibt's ja auch das Speicherproblem nicht mehr :D )

  • Fantastisch.


    Stefan, kannst du mir den/die Parameter für deinen rechten Screenshot schicken.


    edit: steht ja alles oben drüber


    g

    Einmal editiert, zuletzt von Dosenpfand ()

  • Zitat

    Original von Dosenpfand
    edit: steht ja alles oben drüber

    Gut...!
    Als nächstes will ich auch Serverfunktionen per Mini-Menü (bzw. Koord-Befehlen) starten und beenden können, denn eigentlich sollte ja Koord-Server immer im Hintergrund laufen und nur die Fenster wahlweise angezeigt und ausgeblendet werden.
    Das ist wichtig, wenn ich Koord-Server "Überwachungsfunktionen" (autom. NWP-Button, geschwindigkeitsabhängige Lautstärkenregelung, Trackingfunktion mit Höhe und Geschwindigkeit, etc.) beibringe.


    Zitat

    Original von tomate66
    Jetzt fehlt nur noch die Möglichkeit, einen Prozeß zu starten, der den Speicher in Abständen prüft und bei drohendem Speichermangel eine Warnung ausgibt (oder gleich eine Speicheroptimierung vornimmt).

    Wie könnte die Warnung aussehen? Was soll da optimiert werden? GoPal beenden oder gleich ein SR?


    Zitat

    Irgendwann kommt die Zeit, und wir brauchen gar kein GoPal mehr...

    Na ja NaviPOWM muss noch ein bisschen weiterentwickelt werden, ist aber für offroad schon nicht schlecht!


    Gruß,
    Stefan

  • Hallo Stefan,


    die Speicheranzeige ist schon mal der Oberhit, gerade jetzt für die Testphasen !
    Was tracking angeht: ich melde allergrößten Bedarf an für ein schlankes Aufzeichnen von Höhe und Geschwindigkeit .....

  • Zitat

    Wie könnte die Warnung aussehen? Was soll da optimiert werden? GoPal beenden oder gleich ein SR?...
    Gruß,
    Stefan


    Hallo Stefan,


    ich könnte mir das 2-stufig vorstellen:
    -Beim Unterschreiten eines 1. Schwellwertes wird z.B. ein rotes Quadrat eingeblendet (Größe und Position frei definierbar).
    -Beim Unterschreiten eines 2. Schwellwertes kommt eine Messagebox und bietet einen Softreset an.


    Speicheroptimierung war nur so ein Gedanke für eine Goldrandlösung. Da habe ich aber keinerlei Ahnung, ob mit Speicherdefragmentirung o.ä. etwas zu machen ist.

  • Hallo zusammen,


    ich habe nun die Fenstereigenschafen so ändern können, dass man quasi transparente Fenster überlagern kann, die aber selbst aktiv sind, d.h. Klicks annehmen. Außerdem scheint nun die Anzeige auch bei laufenden GoPal weniger zu flackern.
    Gesteuert wird die Funktion durch das 1. bit des Wertes von t=... , also sinnvollerweise t=3.
    Als Beispiel eine transparente Höhenausgabe, auf die man auch klicken kann und sich dann beendet:

    Code
    Window=0 KoordServ=1 wndrefresh=1000 t=3 ServWnd=height,52,208,100,18,-18,0,0,127,-1,0\| GPSPort=com5:


    Will man das Beenden beim Klicken unterbinden, so gibt man als letzten Wert -1 statt 0 an, also:

    Code
    Window=0 KoordServ=1 wndrefresh=1000 t=3 ServWnd=height,52,208,100,18,-18,0,0,127,-1,-1\| GPSPort=com5:

    dann wird der Klick ins "Nirvana" geschickt. Man könnte natürlich auch einen Koord-Parameter damit verknüpfen, so wie ich es oben schon beschrieben hatte.


    Den Wert von wndrefresh= bitte nicht zu groß wählen, sonst bleibt der alte Hintergrund zu lange in transparenten Fenster stehen.


    Bitte mal testen, ob das so besser funktioniert.


    Die Funktion ist nun in der neuesten Testversion (V1.10 Rev.4) enthalten. Bitte nochmal laden.



    Gruß,
    Stefan

  • Hallo zusammen,


    mit der neuesten Testversion (V1.11.0) kann man nun einfache Batch-Dateien mit Koord abarbeiten. Dazu muss nur eine Textdatei mit zeilenweisen Koordbefehlen gefüllt werden.
    Ein Beispiel dazu gibt es hier. Es gibt sicher hierfür noch viele andere Anwendungen...


    Gruß,
    Stefan