Zurück   NaviBoard GPS Forum > CompeGPS / TwoNav > CompeGPS Land/Air (CGPSL)
Hinweise

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1  
Alt 06.06.2013, 14:13
hedgehog hedgehog ist offline
NaviBoard Mitglied
 
Registriert seit: 07.12.2010
Beiträge: 599
Compescript-cgs

Auf der Suche nach einer Möglichkeit, externe Programme aus TwoNav-menüs heraus aufzurufen bin ich auf einmal über etwas gestolpert:
Compescript
In diesem Blog erläutert der Autor, wie man via Scriptaufruf von CGPSL die Erstellung von OSM-Maps in CGPSL automatisieren kann.
Angehängte Grafiken
Dateityp: pdf Manual_CompeScripts_ES_100.pdf (203,2 KB, 56x aufgerufen)
__________________
TwoNav auf Loox N110, Evadeo X50, Sportiva (3.2.7 Papaluna Edition), Ultra (3.3.4 Special Edition)
Grüsse, Uwe

Geändert von hedgehog (19.02.2018 um 10:23 Uhr) Grund: Offizielle Doku angefügt
Mit Zitat antworten
  #2  
Alt 06.06.2013, 14:45
papaluna papaluna ist offline
NaviBoard Mitglied
 
Registriert seit: 12.06.2006
Beiträge: 5.061
Wenn du spanisch kannst wirf mal HIER einen Blick rein

Sofern sich inzwischen nichts geändert hatist anzumerken das nur CompeLand/Air Compescript versteht, nicht aber Twonav
__________________
Anima 3.* Ultra 3.* CGPSL 8.* TTQV 4.0.133 Mapsource 6.13.7 6.16.3 MapTk 3.3
Garda-Gps-for-TwoNav TwoNav-Wissen
Meine_ANIMA_Custom_Version
Mit Zitat antworten
  #3  
Alt 06.06.2013, 15:10
hedgehog hedgehog ist offline
NaviBoard Mitglied
 
Registriert seit: 07.12.2010
Beiträge: 599
Derselbe Blog aber ein anderer Eintrag zu Compescript listet sämtliche Funktionen auf, die sich auch in den Menüs verbauen lassen. Jetzt kann ich endlich (fast) alles personalisieren. Interessant z.B. 758 Play, damit müßten sich eigentlich Aufrufe von externen Programmen ins Menü basteln lassen.
__________________
TwoNav auf Loox N110, Evadeo X50, Sportiva (3.2.7 Papaluna Edition), Ultra (3.3.4 Special Edition)
Grüsse, Uwe
Mit Zitat antworten
  #4  
Alt 06.06.2013, 16:02
papaluna papaluna ist offline
NaviBoard Mitglied
 
Registriert seit: 12.06.2006
Beiträge: 5.061
Der Aufruf ist nicht das Problem.
Die gegebenenfalls notwendige Parameterübergabe schon.
__________________
Anima 3.* Ultra 3.* CGPSL 8.* TTQV 4.0.133 Mapsource 6.13.7 6.16.3 MapTk 3.3
Garda-Gps-for-TwoNav TwoNav-Wissen
Meine_ANIMA_Custom_Version
Mit Zitat antworten
  #5  
Alt 06.06.2013, 16:33
hedgehog hedgehog ist offline
NaviBoard Mitglied
 
Registriert seit: 07.12.2010
Beiträge: 599
Da hänge ich auch gerade fest.
Kann über einen Wegpunkt für den Loox die Helligkeitssteuerung aufrufen, nicht aber über ein Menü. Ach wär das schön gewesen!
__________________
TwoNav auf Loox N110, Evadeo X50, Sportiva (3.2.7 Papaluna Edition), Ultra (3.3.4 Special Edition)
Grüsse, Uwe
Mit Zitat antworten
  #6  
Alt 06.06.2013, 17:42
papaluna papaluna ist offline
NaviBoard Mitglied
 
Registriert seit: 12.06.2006
Beiträge: 5.061
<Item toolgroup="24" name="{H967}">

<Submenu>
<Item command="702" name="{H7}"/>
<Item command="405" name="{H14}"/>
<Item command="342" name="{H971}"/>
<Item command="2462" name="Recalculate"/>
<Item command="561" name="ScreenRotate degrees" param="WindowsScreenRotation"/>
<Item command="561" name="{H1003}" param="map_settings"/>
<Item command="561" name="{H990}" param="fieldsnbuttons"/>
<Item command="12" name="{G86}"/>
<Item command="554" name="custom" param="SD card\Tools\meinprogramm.exe"/>

</Submenu>
</Item>

Mit dem roten Eintrag habe ich einen "Button" in meinem Custom-Werkzeugbutton-Menu auf der Kartenseite eingefügt, welcher meinprogramm.exe ausführt.
Was mir wie gesagt nicht gelungen ist, ist es dem aufgerufenen Programm als Parameter z.B. eine zu öffnendes Objekt mitzugeben.

Hinweis: ich habe das nur am Sportiva getestet. Andere Geräte/Platformen mögen sich da anders verhalten
__________________
Anima 3.* Ultra 3.* CGPSL 8.* TTQV 4.0.133 Mapsource 6.13.7 6.16.3 MapTk 3.3
Garda-Gps-for-TwoNav TwoNav-Wissen
Meine_ANIMA_Custom_Version

Geändert von papaluna (06.06.2013 um 17:46 Uhr)
Mit Zitat antworten
  #7  
Alt 06.06.2013, 19:20
hedgehog hedgehog ist offline
NaviBoard Mitglied
 
Registriert seit: 07.12.2010
Beiträge: 599
Wenn Dein Aufruf geht, ist die Parameterübergabe kein Problem, da kann man Mortscript zwischenschalten. Irgendwo hatte ich mal ein Mortscript zur Parameterübergabe geschrieben. Soll ich das Raussuchen?
__________________
TwoNav auf Loox N110, Evadeo X50, Sportiva (3.2.7 Papaluna Edition), Ultra (3.3.4 Special Edition)
Grüsse, Uwe
Mit Zitat antworten
  #8  
Alt 06.06.2013, 19:44
hedgehog hedgehog ist offline
NaviBoard Mitglied
 
Registriert seit: 07.12.2010
Beiträge: 599
Es geht!
Herzlichen Dank, jetzt hab ich endlich eine ordentliche integrierte Helligkeitsregelung.
Gruß Uwe
__________________
TwoNav auf Loox N110, Evadeo X50, Sportiva (3.2.7 Papaluna Edition), Ultra (3.3.4 Special Edition)
Grüsse, Uwe
Mit Zitat antworten
  #9  
Alt 06.06.2013, 19:46
papaluna papaluna ist offline
NaviBoard Mitglied
 
Registriert seit: 12.06.2006
Beiträge: 5.061
Richtig mit mortskript sollte das gehen.
Das habe ich allerdings nicht weiterverfolgt, da wenn man es nicht ständig gebraucht dann doch etwas viel Zeit braucht mich jedes Mal aufs neue einzuarbeiten.
Wenn du über das Skript stolperst, wäre es in der Tat nett wenn du es zur Verfügung stellen könntest.
__________________
Anima 3.* Ultra 3.* CGPSL 8.* TTQV 4.0.133 Mapsource 6.13.7 6.16.3 MapTk 3.3
Garda-Gps-for-TwoNav TwoNav-Wissen
Meine_ANIMA_Custom_Version
Mit Zitat antworten
  #10  
Alt 06.06.2013, 20:31
hedgehog hedgehog ist offline
NaviBoard Mitglied
 
Registriert seit: 07.12.2010
Beiträge: 599
Ich weiß nicht ob das weiterhilft.
Anbei 3 Scripts und die Mortscriptvariante mit der die damals liefen.
Parametertest selbst ist ein Script zum Auslesen von übergebenen Parametern (Test). Ist schon ein Weilchen her, das ich da fit drin war.
Angehängte Dateien
Dateityp: zip Scripts.zip (145,7 KB, 93x aufgerufen)
__________________
TwoNav auf Loox N110, Evadeo X50, Sportiva (3.2.7 Papaluna Edition), Ultra (3.3.4 Special Edition)
Grüsse, Uwe
Mit Zitat antworten
  #11  
Alt 21.06.2013, 18:10
hedgehog hedgehog ist offline
NaviBoard Mitglied
 
Registriert seit: 07.12.2010
Beiträge: 599
Da ich gern Sachen automatisiere habe ich mir die Scriptsprache noch einmal vorgenommen.
Ziel war es, WPT-Dateien, die einem Muster entsprachen, automatisch in BWPT umzuwandeln.

Dieses Skript macht das schon ganz gut. // deaktiviert übrigens die Zeile
Zitat:
//CompeGPS.CloseAll();
list = CompeGPS.DirScan ("E:\\Dateien\\Caching\\TwoNav\\_*.wpt");
n = list.Count();
for (i=0;i<n;i=i+1){
wptname = list.Elem(i);
wpts = CompeGPS.Open (wptname);
wptname.Replace(".wpt",".bwpt");
wpts.SaveAs(wptname);
// wptname.Replace(".bwpt",".wpt");
// CompeGPS.Exec(598,wptname);
wpts.Close();
};
CompeGPS.Quit();
Leider klappt das Löschen der WPT-Dateien am Ende nicht ohne Eingriff, da Compe hier eine Nachfrage einprogrammiert hat. Daher habe ich die Zeilen, die für ein Löschen der WPT-Dateien verantwortlich sind, auskommentiert:
Zitat:
// wptname.Replace(".bwpt",".wpt");
// CompeGPS.Exec(598,wptname);

NACHTRAG:
Der Aufruf über eine entsprechende BAT-Datei unter Windows könnte übrigens so aussehen:
Zitat:
"D:\Programme\CompeGPS Land\compegpsland.exe" "D:\Programme\CompeGPS Land\scripts\Waypoint_load_and_Save_as_BWPT.cgs"
if not errorlevel 1 del E:\Dateien\Caching\TwoNav\_*.wpt
:
__________________
TwoNav auf Loox N110, Evadeo X50, Sportiva (3.2.7 Papaluna Edition), Ultra (3.3.4 Special Edition)
Grüsse, Uwe

Geändert von hedgehog (22.06.2013 um 09:34 Uhr)
Mit Zitat antworten
  #12  
Alt 23.06.2013, 11:40
papaluna papaluna ist offline
NaviBoard Mitglied
 
Registriert seit: 12.06.2006
Beiträge: 5.061
Zitat:
Zitat von hedgehog Beitrag anzeigen
Leider klappt das Löschen der WPT-Dateien am Ende nicht ohne Eingriff, da Compe hier eine Nachfrage einprogrammiert hat.
//CompeGPS.CloseAll();
list = CompeGPS.DirScan ("e:\\GPS_Daten\\wpt2bwpt\\*.wpt");
n = list.Count();
for (i=0;i<n;i=i+1){
wptname = list.Elem(i);
wpts = CompeGPS.Open (wptname);
wptname.Replace(".wpt",".bwpt");
wpts.SaveAs(wptname);
wptname.Replace(".bwpt",".wpt");
CompeGPS.Delete(wptname);
wpts.Close();
};
//CompeGPS.Quit();


so gehts es auch ohne Abfrage
__________________
Anima 3.* Ultra 3.* CGPSL 8.* TTQV 4.0.133 Mapsource 6.13.7 6.16.3 MapTk 3.3
Garda-Gps-for-TwoNav TwoNav-Wissen
Meine_ANIMA_Custom_Version
Mit Zitat antworten
  #13  
Alt 23.06.2013, 18:29
hedgehog hedgehog ist offline
NaviBoard Mitglied
 
Registriert seit: 07.12.2010
Beiträge: 599
Danke, das war es. Nun geht es auch besser aus GSAK heraus. Im Nachhinein betrachtet erscheint das ja auch logisch. Hast Du das einfach ausprobiert oder gibt es Dokumente außer dem ominösen spanischen Compesciptmanual, wo ein wenig mehr am Schleier des Mysterium gezupft wird?
Gruß, Uwe
__________________
TwoNav auf Loox N110, Evadeo X50, Sportiva (3.2.7 Papaluna Edition), Ultra (3.3.4 Special Edition)
Grüsse, Uwe
Mit Zitat antworten
  #14  
Alt 23.06.2013, 18:39
papaluna papaluna ist offline
NaviBoard Mitglied
 
Registriert seit: 12.06.2006
Beiträge: 5.061
Hi Uwe,

ich habe einfach mal ein paar naheliegende Begriffe ausprobiert.

Was ist an dem Manual ominös?. Es handelt sich dabei um eine Doku von der Compepage.

Mehr habe ich selbst nicht gefunden.
Allenfalls in den Skriptdateien mit denen aus CGPSl die Website aufgerufen wird finden sich hier und da noch ein paar Kommandos.
__________________
Anima 3.* Ultra 3.* CGPSL 8.* TTQV 4.0.133 Mapsource 6.13.7 6.16.3 MapTk 3.3
Garda-Gps-for-TwoNav TwoNav-Wissen
Meine_ANIMA_Custom_Version
Mit Zitat antworten
  #15  
Alt 23.06.2013, 19:11
hedgehog hedgehog ist offline
NaviBoard Mitglied
 
Registriert seit: 07.12.2010
Beiträge: 599
Zitat:
Zitat von papaluna Beitrag anzeigen
Was ist an dem Manual ominös?. Es handelt sich dabei um eine Doku von der Compepage.
Als Doku finde ich es recht unzureichend. Noch nicht einmal der Delete-Befehl ist drin. Es macht Appetit auf viel mehr. Glücklicherweise gibt es ja in CGPSL den Scriptdebugger, der zumindest ein wenig die Probiererei erleichtert. Ich hatte zum Beispiel arge Probleme beim Abspeichern mit Wildcard (_*.bwpt) obwohl die dokumentiert sind. Daher auch die Trickserei mit Rename.

Ist aber auf jeden Fall eine tolle Sache. Während ich früher beim Export von Geocaches aus GSAK noch mehrere händische Schritte unternehmen mußte, um am Ende die fertige bwpt aufs Gerät schieben zu können, klappt das jetzt komplett ohne mein Zutun. CGPSL läßt sich sogar mehrfach zur selben Zeit aufrufen und wartet geduldig bei der Erstellung der bwpt, bis die Grundinitialisierung (Erstellung der "main" des ersten bwpt) abgeschlossen ist, ohne mit sich selbst in Konflikt zu kommen.
Gruss, Uwe
__________________
TwoNav auf Loox N110, Evadeo X50, Sportiva (3.2.7 Papaluna Edition), Ultra (3.3.4 Special Edition)
Grüsse, Uwe
Mit Zitat antworten
  #16  
Alt 25.06.2013, 11:23
papaluna papaluna ist offline
NaviBoard Mitglied
 
Registriert seit: 12.06.2006
Beiträge: 5.061
Hi Uwe,

ich habe mal nachgefragt und weder gibt es eine aktuellere Version noch wird es wohl eine auf absehbare Zeit wenn denn überhaupt geben.
Das Dokument ist zwar zugänglich aber eigentlich nur für den internen Gebrauch gedacht gewesen.
__________________
Anima 3.* Ultra 3.* CGPSL 8.* TTQV 4.0.133 Mapsource 6.13.7 6.16.3 MapTk 3.3
Garda-Gps-for-TwoNav TwoNav-Wissen
Meine_ANIMA_Custom_Version
Mit Zitat antworten
  #17  
Alt 25.06.2013, 12:30
hedgehog hedgehog ist offline
NaviBoard Mitglied
 
Registriert seit: 07.12.2010
Beiträge: 599
Danke Gert, auch wenn die Antwort wirklich unbefriedigend ist. Ich habe versucht im Compeforum diesbezüglich einen Thread zu starten aber ich hänge irgendwie fest in der Admin-Zustimmungs-Warteschleife.
Das nervt gewaltig und der Admin wurde auch schon darüber informiert (über 2 Wochen Wartezeit [bei einem anderen Thema] killt jeden Wunsch sich aktiv zu beteiligen).
__________________
TwoNav auf Loox N110, Evadeo X50, Sportiva (3.2.7 Papaluna Edition), Ultra (3.3.4 Special Edition)
Grüsse, Uwe
Mit Zitat antworten
  #18  
Alt 21.10.2014, 14:39
hedgehog hedgehog ist offline
NaviBoard Mitglied
 
Registriert seit: 07.12.2010
Beiträge: 599
Script: Verbinde alle Tifs im Verzeichnis zu einer RMAP

Ich wollte diesen Thread hier nutzen, um Erfahrung mit Compescript und ein paar Compescripts zu sammeln. Das folgende Scripte öffnet alle GeoTiff-Dateien in einem definierten Verzeichnis und fügt sie dann zu einer Rmap zusammen.
Code:
// Open the Tiff-maps. 
 CompeGPS.CloseAll(); 
 list = CompeGPS.DirScan ("D:\\Projekt\\Denmark\\Test\\*.tif");
 n = list.Count(); 
 for (i=0;i<n;i=i+1){ 
 mapname = list.Elem(i); 
 CompeGPS.Open(mapname);
 };
 //UnifyMaps Maps - selbes Ergebnis wie Menü Join Maps [CompeGPS.Exec(317)] aber fehlerfrei
 // params: Name imp,Name bmp,Maßstab(m/pixel) 0=Maßstab der größten Map -1=aktueller Zoom,Compression (nur ecw),einschließen anderer geöffneter Dateien (wpts,tracks,etc).[0/1] 
 CompeGPS.UnifyMaps ("D:\\Projekt\\Denmark\\Test","D:\\Projekt\\Denmark\\Test.rmap",0,20,0);
Achtung:
Leider ist der Befehl CompeGPS.UnifyMaps nicht sauber programmiert. Folgende Einschränkungen konnte ich eruieren:
1) Imp-Name muß angegeben werden, wird als Imp-Name "" angegeben, ist die erstellte rmap nicht lesbar.
2) Wird beim Imp-Namen der Rmap-Name ohne Endung angegeben, wird keine Imp erstellt und die erstellte Rmap ist gültig.
3) Wird beim Imp-Name die Endung imp angegeben, dann wird eine Imp-Datei erstellt. Die automatisch erstellte Imp-Datei ist aber ungültig, da hier im Feld:
Code:
Bitmap=
der Imp-Name und nicht der Rmap-Name eingetragen wird
(Im Beispiel steht dort:
Code:
Bitmap=Test.imp
anstelle von:
Code:
Bitmap=Test.rmap
Daraus resultiert eine Fehlermeldung am Ende des Scripts.
__________________
TwoNav auf Loox N110, Evadeo X50, Sportiva (3.2.7 Papaluna Edition), Ultra (3.3.4 Special Edition)
Grüsse, Uwe

Geändert von hedgehog (21.10.2014 um 18:29 Uhr)
Mit Zitat antworten
  #19  
Alt 04.04.2017, 14:42
hedgehog hedgehog ist offline
NaviBoard Mitglied
 
Registriert seit: 07.12.2010
Beiträge: 599
Zuordnen von Höhendaten und Umwandeln einer wpt in eine bwpt Datei

Hier einmal ein Beispiel zum Zuordnen von Höhendaten zu Wegpunkten und Umwandeln einer wpt-Datei in eine bwpt-Datei:

Ziel:
Öffnen der wpt Datei, Zoom auf die Wegpunkte, automatisches Öffnen der dazugehörigen Reliefdatei, automatisches Auslesen der Höhenwerte und Zuordnen zu den einzelnen Wegpunkten, automatisches Speichern im bwpt-Format:

Zitat:
CompeGPS.Exec(403);//close waypoints
wptname = "E:\\Dateien\\Caching\\TwoNav\\Germany\\Test.w pt";
wpts = CompeGPS.Open (wptname);
CompeGPS.ZoomTo(wpts,10);//zoom to waypoints
CompeGPS.Exec(651);//find best relief here
CompeGPS.Exec(405,wptname);//open waypointlist
CompeGPS.Exec(412);//calculate altitude
wptname.Replace(".wpt",".bwpt");
wpts.SaveAs(wptname);
wptname.Replace(".bwpt",".wpt");
wpts.Close();
//this is the end;
Was nicht einwandfrei klappt:
Zitat:
CompeGPS.Exec(405,wptname);//open waypointlist
Scheinbar übernimmt CGPSL nicht den zugeordneten Wepunktnamen. Es klappt hier nur, wenn nur eine Wegpunktdatei geöffnet ist, daher am Anfang:
Zitat:
CompeGPS.Exec(403);//close waypoints
Edit: Getestet unter CGPSL 7.7.2
__________________
TwoNav auf Loox N110, Evadeo X50, Sportiva (3.2.7 Papaluna Edition), Ultra (3.3.4 Special Edition)
Grüsse, Uwe

Geändert von hedgehog (04.04.2017 um 17:53 Uhr)
Mit Zitat antworten
  #20  
Alt 20.04.2018, 10:21
hedgehog hedgehog ist offline
NaviBoard Mitglied
 
Registriert seit: 07.12.2010
Beiträge: 599
Script zur Berechnung der durchschnittlichen Zeit in Bewegung

Da ich eine Weile über die Umwandlung von Stringwerten in Integer nachgrübeln mußte, hier mal ein Script als Beispiel:

Zitat:
trackname = "D:\\CGPSLTEST\\20171118_102404_running.tcx";
trk = CompeGPS.Open(trackname);
str2=(trk.GetPropertyStr(153,1,0));
movetime=(trk.GetPropertyStr(162,0,0));
movetimelength=movetime.strlen();
hours=movetime.SubString(0,1);
minutes=movetime.SubString(3,4);
seconds=movetime.SubString(6,7);
time=seconds.atoi()+minutes.atoi()*60+hours.atoi() *3600;
meanspeed=str2.atoi()*3.6/time;
str1="Compare calculation:";
str1<< ("\n") << ("\n");
str1<< ("Compe has calculated:");
str1<< ("\n");
str1<< (CompeGPS.PropertyName(227));
str1<< (" = ");
str1<< (trk.GetPropertyStr(227,0,1));
str1<< ("\n");
str1<< ("\n");
str1<< ("Self calculated:");
str1<< ("\n");
str1<< (CompeGPS.PropertyName(227));
str1<< (" = ");
str1<< (meanspeed);
str1<< (" km")<<("/")<<("h");
CompeGPS.MessageBox(str1);
__________________
TwoNav auf Loox N110, Evadeo X50, Sportiva (3.2.7 Papaluna Edition), Ultra (3.3.4 Special Edition)
Grüsse, Uwe
Mit Zitat antworten
Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.



Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 Uhr.


Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Template-Modifikationen durch TMS