Mit den neuen Befehlen get/set_config_value haben wir ein neues mächtiges Werkzeug zur Verfügung. Damit können wir die CHDK-Konfigurationsdaten auslesen und neu setzen. Diese Daten sind neben weiteren Daten auch in der Datei cchdk.cfg enthalten.
Im Anhang befindet sich ein intuitive selbsterklärendes Skript zum Sichern und Wiederherstellen der CHDK-Konfiguration.
Es gibt dabei mehrere denkbare Anwendungsfälle. So lässt sich eine bestimmte Konfiguration per Skript speichern oder laden. In einem Skript könnten bestimmte Konfigurationseinstellungen temporär geändert werden. Wir haben nun per Skript Zugriff auf die Einstellungen der Ersatzwerte (Overrides). Wir können bestimmte OSD-Elemente (z.B. DOF-Rechner) im Skript ein- und ausschalten.
Der Set-Befehl sollte aber mit Bedacht eingesetzt werden. Falsche Werte könnten die CHDK-Konfiguration unbrauchbar machen. Dann wird ein Löschen der Konfigurationsdatei cchdk.cfg notwendig. Der Versuch, Einstellungen zu aktivieren, die nicht im CHDK-Menü einstellbar sind, ist zwecklos. Es wird nur der Konfigurationswert gesetzt. Optionen, die darüber hinaus noch Aktionen ausführen, kann man damit nicht beeinflussen.
Für Insider: Die Befehle beziehen sich auf diese Funktion im Konfigurationsabschnitt von CHDK.
Syntax:
Lua
int1[,int2][,str1][,table1]=get_config_value(<ConfigID>[,<Default>]*)
Rückgabewerte:
int1 bei Integer-Werten
int1, int2 bei OSD-Element-Positionen
str1 bei Zeichenketten
table1 bei Feldern
nil bei Fehler (ID nicht gefunden und keine Defaultwerte angegeben)
<Default> wird von get_config_value() zurückgegeben, falls der Wert für die <ID> nicht gelesen werden konnte.
set_config_value(<ConfigID>[,int1][,int2][,str1][,table1])
Rückgabewerte:
true bei Erfolg
false bei Fehler
<ConfigID> ist die Nummer der Konfigurationsposition. [int] ist der Wert als Ganzzahl mit der Basis 10 oder 16. [str1] ist eine Zeichenkette für den Datei-Pfad. [table1] ist eine Tabelle IDs, die Wertetabelle beinhalten.
uBasic
<Value>=get_config_value <ID> <DefaultValue>
oder
get_config_value <ID> <DefaultValue> <Value>
<DefaultValue> darf kein führendes Minuszeichen enthalten. Will man z.B. -1 eingeben, muss man 0-1 oder besser (-1) schreiben.
Beispiel: v=get_config_value 165 (-1) oder get_config_value 165 0-1 v gibt für v den Farbwert des Menütitels aus. Falls die ID 165 nicht gelesen werden konnte, wird v=-1.
set_config_value <ID> <Value>
<ID> ist die Nummer der Konfigurationsposition. <Value> ist der Wert als Ganzzahl mit der Basis 10 oder 16.
Beispiel: set_config_value 165 4437 setzt die Menutitelfarbe auf den dezimalen Wert von 4437.
Farbwerte:
Die Farbwerte setzen sich aus den Werten für Hintergrundfarbe und Vordergrundfarbe zusammen.
dezimal: Hintergrundfarbe*256+Vordergrundfarbe
hexadezimal: Hintergrundfarbe+Vordergrundfarbe
Da sowohl in Lua als auch in uBasic hexadezimale Werte anwendbar sind, ist bei den Farbwerten die hexadezimale Angabe zu bevorzugen. Hier erspart man sich eine manuelle Umrechnung. Die Werte lassen sich bei Aufruf der Farbpalette im CHDK-Menü und Auswahl der Farbe bequem als zweistellige hexadezimale Zahl ablesen.
Beispiel (uBasic): set_config_value 165 0x11FF - 165 ist die ID für Menütitelfarbe. 0x1155 enthält 0x als Kennung für hexadezimale Zahlen, 11 für die Hintergrundfarbe und 55 für die Vordergrundfarbe.
Anwenderskript:
Im Anhang befindet sich ein Skript, dass alle unten stehenden Konfigurationsdaten in eine Datei speichern bzw. aus einer Datei die Daten zurück in die Konfiguration schreiben kann.
Das Skript wird komfortabel über ein Auswahl-Menü gesteuert. Die Daten werden unter CHDK/LOGS in eine Datei cfg_x.cfg gespeichert. x steht für eine Ziffer, die man im Menü bestimmen kann, um mehrere unterschiedliche Konfigurationen zu speichern.
Bei den Skript-Parametern kann die Sprachauswahl eingestellt werden. 0 bedeutet automatische Erkennung der eingestellte Sprache im Kamera-Menü. Ist nicht deutsch eingestellt, erfolgt die Menü-Führung im Skript englisch.
Übersicht der auslesbaren und veränderbaren Konfigurationsdaten und deren gültige Werte für get/set_config_value:
Farbwert - siehe oben
Pfad - Pfadangabe z.B. "A/CHDK/SCRIPTS/test.bas"
Tabelle - Lua-Tabelle
x, y - Koordinaten für OSD-Elemente (x: 0 - 360, y: 0 - 240)
- Code: Alles auswählen
ID Bedeutung Werte nur Lua
------------------------------------------------------------------------
1 OSD-Anzeige 0/1
2 RAW-Speicherung 0/1
3 Auslöseverzögerung im Skript 0 – 9999
4 Histogrammanzeige 0/1
5 Skript-Parameter-Variablen Tabelle Lua
6 Skriptparameter-Set 1 – 9
7 DOF-Anzeige-Art 0 - 4
8 Batterie Max -1000 bis 1000 Lua
9 Batterie Min -1000 bis 1000 Lua
10 Batterie-Anzeige-Schritte 0/1
11 Batterie-Anzeige Prozent 0/1
12 Batterie-Anzeige Volt 0/1
13 Batterie-Anzeige Icon 0/1
14 Statusanzeige 0/1
15 Anzeige verschiedene Werte 0/1
16 Anzeige Ãœberbelichtung 0/1
17 Histogramm-Anzeige 0/1/2
18 Histogramm automatische Skalierung 0/1
19 Histogramm ignoriere Spitzen 0 – 32
20 Histogramm Layout 0 – 8
21 Position Histogramm x,y Lua
22 Position DOF x,y Lua
23 Position Batterie-Icon x,y Lua
24 Position Batterie-Text x,y Lua
25 Postion Statusanzeige x,y Lua
26 Postion Diverse-Werte-Anzeige x,y Lua
27 Histogramm-Farbe Farbwert
28 OSD-Farbe Farbwert
29 n/a n/a
30 Menü-Farbe Farbwert
31 Textreader-Farbe Farbwert
32 Ricoh-Ca1-Mode 0/1
33 Taschenlampe 0/1
34 Debugging Anzeige-Art 0 – 3
35 RAW in JPG-Verzeichnis 0/1
36 RAW-Präfix 0/1/2
37 RAW-Endung 0 – 4
38 Aktuelle Textdatei für den Reader Pfad Lua
39 Textreader Position num. Textposition
40 Sokoban-Level num. Wert
41 Uhr-Anzeige 0/1/2
42 Position Uhranzeige x,y Lua
43 Textreader Autoscroll 0/1
44 Textreader Autoscroll Verzögerung 0 – 60
45 Textdatei für den Reader Pfad Lua
46 Textreader Codepage 0/1
47 Zeige Splashscreen 0/1
48 Histogramm Farbe 2 Farbwert
49 Zebra-Mode an/aus 0/1
50 Zebra-Mode Modus 0 – 5
51 Zebra-Mode Bildschirm erneuern 0/1
52 Zebra-Mode OSD erneuern 0/1
53 Zebra-Mode Grenze Überbelichtung 0 – 32
54 Zebra-Mode Grenze Unterbelichtung 0 – 32
55 Zebra-Mode Farbe Farbwert
56 Zebra-Mode Ãœberlagerung 0/1/2
57 Benutzer-Menü als Haupt-Menü 0/1
58 Zoom-Anzeige-Art 0/1/2
59 Zoom-Taster für MF 0/1
60 Nur erstes RAW speichern 0/1
61 Textreader wortweiser Zeilenumbruch 0/1
62 Menü-Symbole 0/1
63 Alt-Mode-Taste 0 – 7
64 Sprachdatei Pfad Lua
65 Menü-Font Codepage 0 – 5
66 RBF-Font-Datei Pfad Lua
67 Stromsparmodus 0/1/2/3
68 Zeige Grids 0/1
69 Grid-Datei Pfad Lua
70 Rausch-Reduktion 0/1/2
71 ersetze Grid-Farben 0/1
72 Grid-Farbe Farbwert
73 n/a n/a
74 n/a n/a
75 n/a n/a
76 n/a n/a
77 n/a n/a
78 n/a n/a
79 n/a n/a
80 Motiv-Entfernung als Nahlimit 0/1
81 Exif als Motiv-Entfernung 0/1
82 Verschiedenes: Motiv-Entfernung 0/1
83 Verschiedenes: Nahlimit 0/1
84 Verschiedenes: Fernlimit 0/1
85 Verschiedenes: hyperf. Entfernung 0/1
86 Anzeige DOF 0/4
87 Anzeige bei Rückblick 0/1
88 Anzeige Zoom 0/1
89 Anzeige reale Blende 0/1
90 Anzeige reale ISO 0/1
91 Anzeige Market ISO 0/1
92 Anzeige ISO nur bei Auto-ISO 0/1
93 Anzeige Ev gesetzt 0/1
94 Anzeige Ev gemessen 0/1
95 Anzeige Bv gemessen 0/1
96 Anzeige Bv gesetzt 0/1
97 Anzeige Ãœberbelichtung 0/1
98 Anzeige Luminanz 0/1
99 Video-Mode 0/1
100 Video-Qualität 1 – 99
101 Video-Bitrate 0 – 9
102 Tv-Override Wert ID 141=0 0 – 99 | ID 141=1 0 – 68
103 Tv-Override Faktor ID 141=0 0 – 8 | ID 141=1 0/1
104 Av-Override Wert 0 – 16
105 ISO-Override Wert 0 – 800
106 ISO-Override Faktor 0/1/2
107 MF-Override Wert 0 – 65535
108 MF-Override Faktor 0 – 4
109 Tv-Bracketing Wert 0 – 12
110 Av-Bracketing Wert 0 – 12
111 ISO-Bracketing Wert 0 – 100
112 ISO-Bracketing Faktor 0 – 3
113 MF-Bracketing Wert 0 – 100
114 MF-Bracketing Faktor 0 – 4
115 Bracketing Typ 0/1/2
116 n/a n/a
117 n/a n/a
118 n/a n/a
119 n/a n/a
120 Skript Autostart 0/1/2
121 Fernbedienung an/aus 0/1
122 Zeige Canon-Ãœberbelichtung 0/1
123 Lösche Overrides 0/1
124 Zeige OSD im Rückblick 0/1
125 n/a n/a
126 Lösche Bracketing 0/1
127 Zebra-Mode Mehrkanal 0/1
128 Override ND-Filter-Status 0/1/2
129 Ev-Schritte in Histogramm-Anzeige 0/1
130 OSD-Warn-Farbe Farbwert
131 Speicherplatz Farbe Farbwert
132 Speicherplatz Icon 0/1
133 Position Speicherplatz-Icon x,y Lua
134 Speicherplatz Prozentanzeige 0/1
135 Speicherplatz MB-Anzeige 0/1
136 Postion Speicherplatz-Text x,y Lua
137 Anzahl verbleibende RAW-Dateien 0/1
138 Postion Anzahl RAW x,y Lua
139 RAW-Status 0/1
140 Zeige Werte im Video-Modus 0/1
141 Tv-OverrideTyp 0/1
142 Benutzer-Menü 0 – 3
143 Benutzer-Menü-Einträge Tabelle Lua
144 Zoom-Skalierung 0 – 1000
145 Speicherplatzbalken 0/1/2
146 Größe Speicherplatzbalken 0/1/2
147 Postion Speicherbalken vertikal x,y Lua
148 Postion Speicherbalken horizontal x,y Lua
149 Breite Speicherplatzbalken 0 – 10
150 Warnung Speicherplatz in Prozent 1 – 99
151 Warnung Speicherplatz in MB 1 – 4000
152 Art der Warnung Speicherplatz 0/1
153 Verbleibende RAW Schwellwert 0 – 200
154 Unlock optischer Zoom in Video 0/1
155 Uhr-Format 0/1
156 Uhr-Indikator 0/1
157 Uhr halbgedrückter Auslöser 0/1/2
158 Auto-ISO 0/1
159 Auto-ISO Verschlusszeit 0 – 3
160 Auto-ISO Benutzer-Faktor 1 – 8
161 Auto-ISO IS-Faktor 1 – 8
162 Auto-ISO max. Hi-ISO 20 – 160
163 Auto-ISO max 10 – 80
164 Auto-ISO min 1 – 20
165 Menütitel Farbe Farbwert
166 Menücursor Farbe Farbwert
167 Menü zentriert 0/1
168 Stummschaltung bei Zoom 0/1
169 Badpixel entfernen 0/1/2
170 Video AF-Taste 0/1
171 OSD Farbe Statusanzeige Farbwert
172 Overrides aus 0/1/2
173 Override alle aus 0/1
174 Verstecke OSD-Anzeige 0 – 3
175 Speichere RAW im Video-Modus 0/1
176 Zeige Zeit Video 0 – 3
177 Wiederholrate Zeitanzeige Video 1 – 20
178 Postion Zeitanzeige Video x,y Lua
179 Lösche Video-Einstellungen 0/1
180 Schnelle Ev-Korrektur 0/1
181 Schrittweite schnelle Ev-Korrektur 0 – 23
182 Postion schnelle Ev-Korrektur x,y Lua
183 RBF-Font_Datei Symbole Pfad Lua
184 Menüsymbole Farbe Farbwert
185 Kurvendatei Pfad Lua
186 Kurven-Funktion 0/1
187 Konturenüberlagerung 0/1
188 Konturenüberlagerung Schwellwert 0 – 255
189 Konturenüberlagerung Farbe Farbwert
190 Synchronisation 0/1
191 Synchronisation Verzögerung 0/1
192 Synchro Verzögerung Wert 0,1 ms 0 – 99999
193 Synchro Verzögerung Wert 0,1 s 0 – 99999
194 Skript-Datei Pfad Lua
195 mem_view_addr_init nicht verändern!
196 Speichere RAW im Sportmodus 0/1
197 Speichere RAW im Serienmodus 0/1
198 Speichere RAW bei Ev-Bracketing 0/1
199 Speichere RAW im Timer-Modus 0/1
200 Warnung RAW-Ausnahmen 0/1
201 Auswahl erster Eintrag im Menü 0/1
202 Schnelle Video-Kontrolle 0/1
203 Zeige Temperatur 0 – 4
204 Postion Temperaturanzeige x,y Lua
205 Schnelle Video-Kontrolle Qualität 0/1
206 Fernsteuerung Zoom 0/1
207 Fernsteuerung Zoom Timeout 2 – 10
208 Start-Sound 0/1
209 RAW-Verarbeitung Präfix 0/1/2
210 RAW-Verarbeitung Endung 0 – 4
211 n/a n/a
212 n/a n/a
213 Debug Anzeige 0 – 3
214 Skript-Parameter speichern 0/1
215 Postition Video-EV-Korrektur x,y Lua
216 n/a n/a
217 n/a n/a
218 n/a n/a
219 RAW-Endung Bracketing 0/1
220 Temperatur-Einheit 0/1
221 n/a n/a
222 Konturenüberlagerung Wiedergabemodus 0/1
223 Konturenüberlagerung Panoramamodus 0 – 6
224 Konturenüberlag. Zoom setzen/laden 0/1
225 RAW-Cache 0/1
226 DNG 0/1
227 Blitz-Synchronisation 0/1
228 RAW Anzeige Speicherzeit 0/1
229 Plattform-ID siehe CHDK-Wiki
230 Speichere RAW bei Konturenüberl. 0/1
231 Speichere RAW im Auto-Modus 0/1
232 Override Blitz bei Video 0/1
233 Override Blitz bei Video Blitzstärke 0/1
234 DNG als Endung 0/1
235 DNG sichtbar via USB 0/1
236 Blitz manueller Override 0/1
237 Bild-Qualität 0 – 3
238 Neustart bei Lua-Fehler 0/1
239 USB-Info 0/1/2
240 Postion USB-Info-Anzeige x,y Lua
241 Propcase-Seite 0 – 128
242 Debug zeige verschiedene Werte 0/1
243 Konturenüberlagerung Filter 0/1
244 Konturenüberl. kontinuierl. Anzeige 0/1
245 Konturenüberlappung im Pano-Modus 0 – 100
246 Anzeige Partitions-Nr. 0/1