{"id":42,"date":"2007-09-05T19:57:58","date_gmt":"2007-09-05T17:57:58","guid":{"rendered":"http:\/\/joergnapp.de\/2007\/09\/05\/tomtom-cap-dateien\/"},"modified":"2008-02-12T08:49:22","modified_gmt":"2008-02-12T07:49:22","slug":"tomtom-cap-dateien","status":"publish","type":"post","link":"https:\/\/joergnapp.de\/blog\/tomtom-cap-dateien\/","title":{"rendered":"TomTom CAP-Dateien"},"content":{"rendered":"<p>Um eigene Programme aus dem Men\u00fc aufrufen zu k\u00f6nnen, muss eine CAP-Datei (CAP steht dabei f\u00fcr \u201eCapability\u201c) erzeugt werden.<\/p>\n<p><!--more--><\/p>\n<p>Dabei ist der Dateiname beliebig, w\u00e4hrend die Endung &#8222;<code>.cap<\/code>&#8220; lauten muss. Die Datei legt man dann ins Verzeichnis <code>\/sdkregistry<\/code> auf der SD-Karte (gegebenenfalls muss dieses erst angelegt werden).<\/p>\n<h3>Aufbau einer CAP-Datei<\/h3>\n<p><dp> Eine typische CAP-Datei sieht wie folgt aus: <\/dp><\/p>\n<pre><code>\r\nVersion|\u00abVersionsnummer\u00bb|\r\nAppName|\u00abName der Programmdatei\u00bb|\r\nAppPath|\u00abPfad zur Programmdatei\u00bb|\r\nAppMainTitle|\u00abTitel des Programms\u00bb|\r\nAppPort|\u00abPort\u00bb|\r\n\u00abBefehlszeile 1\u00bb\r\n\u00abBefehlszeile 2\u00bb\r\n...\r\n\u00abBefehlszeile n\u00bb\r\n<\/code><\/pre>\n<h3>Erl\u00e4uterung der Eintr\u00e4ge<\/h3>\n<table>\n<tr>\n<th>Versionsnummer<\/th>\n<td>Die Versionsnummer des CAP-Formats\u2026 das ist momentan immer 100<\/td>\n<\/tr>\n<tr>\n<th>Name der Programmdatei<\/th>\n<td>Der Name der ausf\u00fchrbaren Datei<\/td>\n<\/tr>\n<tr>\n<th>Pfad zur Programmdatei<\/th>\n<td>Der Pfad zur ensprechenden Datei, inklusive <code>\/mnt\/sdcard<\/code> f\u00fcr die SD-Karte<\/td>\n<\/tr>\n<tr>\n<th>Titel des Programms<\/th>\n<td>Der Programmtitel \u2013 dieser wird nirgendwo angezeigt<\/td>\n<\/tr>\n<tr>\n<th>Port<\/th>\n<td>W\u00fcrde TCP\/IP unterst\u00fctzt werden, w\u00e4re dies der Port, auf dem die Anwendung lauscht \u2013 momentan ist der Eintrag irrelevant\u2026<\/td>\n<\/tr>\n<tr>\n<th>Befehlszeile<\/th>\n<td>Die Beschreibung des Befehls, s. unten<\/td>\n<\/tr>\n<\/table>\n<p>Die Befehlszeilen selbst sehen wie folgt aus:<\/p>\n<pre><code>\r\nCOMMAND|\u00abBefehlstyp\u00bb|\u00abZusatzinfo\u00bb|\u00abSymbol\u00bb|\u00abMen\u00fceintrag\u00bb|\r\n<\/code><\/pre>\n<p>und dabei bedeuten<\/p>\n<table>\n<tr>\n<th>Befehlstyp<\/th>\n<td>Die Art des Befehls, <code>CMD<\/code> oder <code>GEO<\/code>:<br \/>\n<code>CMD<\/code> bedeutet, dass der Befehl im Men\u00fc auftaucht.<br \/>\nIst der Befehl <code>GEO<\/code>, so tauscht der Befehl nicht im Men\u00fc, sondern im Kartenmen\u00fc (\u201eKarte rollen\u201c) auf. Der ausf\u00fchrbaren Datei werden dabei L\u00e4ngen- und Breitengrad als Parameter \u00fcbergeben.<\/td>\n<\/tr>\n<tr>\n<th>Zusatzinfo<\/th>\n<td>Zus\u00e4tzliche Informationen f\u00fcr das Programm<br \/>\nHiermit kann dem Programm eine zus\u00e4tzliche Information mitgegeben werden, die seitens des Programms \u00fcber die <acronym title=\"Application Programming Interface\">API<\/acronym> ausgewertet werden kann (diese Funktionalit\u00e4t wird z.B. von Tripmaster verwendet). Wenn es hierf\u00fcr keine Verwendung gibt, kann der Name auch leer bleiben<\/td>\n<\/tr>\n<tr>\n<th>Symbol<\/th>\n<td>die <a href=\"http:\/\/joergnapp.de\/2007\/09\/02\/icons-fur-eigene-programme\/\">Symboldatei<\/a>, die im Men\u00fc angezeigt wird<\/td>\n<\/tr>\n<tr>\n<th>Men\u00fceintrag<\/th>\n<td>Der Text, der unter dem Symbol im Men\u00fc angezeigt wird<\/td>\n<\/tr>\n<\/table>\n<h3>Beispiel<\/h3>\n<p>Hier mal eine CAP-Datei als Beispiel:<\/p>\n<pre><code>\r\nVersion|100|\r\nAppName|Calculator|\r\nAppPath|\/mnt\/sdcard\/Calculator\/|\r\nAppMainTitle|Calculator|\r\nAppPort|2001|\r\nCOMMAND|CMD||Calculator.bmp|Taschenrechner|<\/code><\/pre>\n<h3> Mehrere Befehlszeilen<\/h3>\n<p>Wie oben angedeutet, kann eine CAP-Datei mehrere Befehszeilen enthalten. Mal angenommen, unser fiktiver Taschenrechner hat eine \u201eStandard\u201c- und eine \u201ewissenschaftliche\u201c Ansicht. Wenn das Programm so geschrieben wurde, dass es den Zusatzparameter ausliest, k\u00f6nnte die zugeh\u00f6rige CAP-Datei wie folgt aussehen:<\/p>\n<pre><code>\r\nVersion|100|\r\nAppName|Calculator|\r\nAppPath|\/mnt\/sdcard\/Calculator\/|\r\nAppMainTitle|Calculator|\r\nAppPort|2001|\r\nCOMMAND|CMD|standard|Calculator.bmp|Taschenrechner (standard)|\r\nCOMMAND|CMD|scientific|Calculator.bmp|Taschenrechner (wissenschaftlich)|\r\n<\/code><\/pre>\n<p>Tats\u00e4chlich gen\u00fcgt diese eine CAP-Datei, um zwei Symbole im Men\u00fc zu erzeugen:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/joergnapp.de\/wp-content\/uploads\/2007\/10\/cap_mehrere_befehlszeilen.png\" alt=\"Mehrere Befehlszeilen\" \/><\/p>\n<p>Die ausf\u00fchrbare Datei, die dabei gestartet wird, ist allerdings stets dieselbe (durch AppName und AppPath festgelegt)<\/p>\n<h3>Anzahl der CAP-Dateien<\/h3>\n<p>Der TomTom verarbeitet maximal 10 CAP-Dateien. Legt man mehr als diese Anzahl an, so st\u00fcrzt der TomTom beim Zugriff auf das Men\u00fc ab, sodass nur noch der Reset-Knopf helfen kann.<\/p>\n<p>Diese Grenze gilt nur die die Anzahl der CAP-Dateien, nicht aber f\u00fcr die angezeigten Programme; es ist also durchaus m\u00f6glich, in 10 CAP-Dateien jeweils mehrere Symbole unterzubringen\u2026<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um eigene Programme aus dem Men\u00fc aufrufen zu k\u00f6nnen, muss eine CAP-Datei (CAP steht dabei f\u00fcr \u201eCapability\u201c) erzeugt werden.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[23,135,45,5],"class_list":["post-42","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-icons","tag-karte","tag-menue","tag-tomtom"],"_links":{"self":[{"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/posts\/42","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/comments?post=42"}],"version-history":[{"count":0,"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/posts\/42\/revisions"}],"wp:attachment":[{"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/media?parent=42"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/categories?post=42"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/tags?post=42"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}