[Info] Skriptbefehle get/set_config_value

CHDK-Skripte, CHDK-Entwicklung, PC-Zusatzprogramme, Informationen für Tüftler

Skriptbefehle get/set_config_value

Beitragvon msl » 21.06.2010, 15:19

CHDKLover hat ein paar sehr interessante neue Skript-Funktionen entworfen.

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
Dateianhänge
conf_rw.lua
Skript zum Speichern und Einlesen Konfigurationseinstellungen
(8.21 KiB) 607-mal heruntergeladen
Zuletzt geändert von msl am 11.04.2013, 23:11, insgesamt 17-mal geändert.
Grund: Skript umgestellt auf Mehrsprachigkeit
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4501
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon silas » 22.06.2010, 11:13

Mal ohne zu getestet haben, das hört sich fast zu gut an.:D

Es öffnet bestimmt auch neue Möglichkeiten.
Habe ich mal etwas zeit übrig dann denke ich mir was aus und mache es.

Silas
a550,IXUS 80IS (1.01a)
aktuelle version
Flickr
Benutzeravatar
silas
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 150
Registriert: 23.04.2008, 14:11
Wohnort: Schweden

Danke für die spannenden neuen Möglichkeiten

Beitragvon Sinter » 23.06.2010, 17:17

Hallo,

mit Neuerungen dieser Art hatte ich gar nicht gerechnet. Vielen Dank dafür!

Nachdem man nun so viele Einstellungen beeinflussen kann ist es nun wieder eine Gelegenheit, sich über neue Möglichkeiten Gedanken zu machen. Auch wenn man mit den Einstellungen etwas vorsichtig umgehen muss.

Ich überlege gerade ob sich damit plötzlich eine Chance ergibt, während eines laufenden Skripts Grids sichtbar zu wechseln. ID 68 könnte vielleicht mit etwas Glück der Schlüssel sein.

Viele Grüße,
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 14:16
Wohnort: München

Beitragvon msl » 23.06.2010, 17:34

Hallo Sinter,

ja, das lässt sich damit auf alle Fälle realisieren.

Es wäre nun noch zu klären, wie sich Skriptkonsole und Grids anzeigentechnisch zueinander verhalten. Die Konsolen-Befehle bieten da aber sicherlich Möglichkeiten für eine störungsfreie Anzeige.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4501
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Unverhoffte Rettung :-)

Beitragvon Sinter » 23.06.2010, 17:50

Hallo msl,

vielen Dank für Dein Feedback.

Es ist immer wieder eine angenehme Überraschung hier: Vor einigen Wochen musste man sich noch bescheiden, und plötzlich schwebt nun die Lösung heran. Eine saubere Leistung!

Viele Grüße,
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 14:16
Wohnort: München

Beitragvon CHDKLover » 24.06.2010, 08:25

Hallo Sinter,
es freut mich, dass die neuen Sktiptbefehle deine Kreativität anregen. Ich will dir nicht das Erfolgserlebnis vor wegnehmen, aber hier ein kleines Demo Skript, was das Grid toggelt. Die Besonderheit ist das über set_console_autoredraw(0) das Flimmern mit dem Grid unterbunden wird. Ausgaben können danach aber nur in Zusammenhang mit console_redraw() gemacht werden.

Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
gridstat=get_config_value(68,-1);

print("Gridstatus: ",gridstat)

set_config_value(68,(gridstat-1)*-1) -- toggle show_grid_lines

gridstat=get_config_value(68,-1);

print("neuer Gridstatus: ",gridstat)

set_console_autoredraw(0)

-- ...

sleep(2000)

-- ...

set_console_autoredraw(1)
Erstellt in 0.003 Sekunden, mit GeSHi 1.0.8.9


Viel Spaß, CHDKLover
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 19:25
Wohnort: Dresden
Kamera(s): a610 100e

Ein Raum voller Geschenke

Beitragvon Sinter » 25.06.2010, 13:27

Hallo CHDKLover,

vielen Dank!

Wenn ich wieder mehr Zeit habe werde ich gerne ausprobieren ob sich da noch irgendwelche Tücken ergeben. Falls keine Probleme auftreten, dann lassen sich möglicherweise elegante nice-to-have-Features realisieren.

Und wenn man sich die überaus vielen verschiedenen ID ansieht, dann kommt man schon ins Grübeln, was sich mit Deinen Geschenken hier noch so alles anstellen lässt wenn man mit einer „Und nun?“-Neugierde die Dinge genauer betrachtet.

Viele Grüße
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 14:16
Wohnort: München

Beitragvon fe50 » 26.06.2010, 19:31

Hi CHDKLover,

gute Funktion !
Ich hatte vor längerem mal geplant, eine ähnliche Funktionalität als Lua Script zu basteln - faul wie ich bin wurde das aber nichts 8)

Was mich interessieren würde: wie schaut's bzgl. Speicherbedarf aus ?

Wir haben ja ein paar Kameramodelle mit sehr knappem Speicherbudget, z.B. die SX20; da muss man ja schon jedes halbe Byte in die Waagschale werfen...u.a. der Grund, warum ich manche Features nur zögerlich in den internationalen trunk einbaue.

Da - gerade bei der SX20 - das Rückmeldeaufkommen bzw. die Bereitschaft der User (und auch der Entwickler ;) ) zur konstruktiven Testarbeit recht bescheiden ist, wären hier brauchbare (!) Rückmeldungen sehr hilfreich.

...oder sollen wir mal wieder eine Diskussion bezüglich der Spiele anzetteln ? Bild
"The grass was greener, The light was brighter"►  ◄fe50 home►  ◄TRAIL-Magazin►  ◄RTFM !
Benutzeravatar
fe50
CHDK-Legende
CHDK-Legende
 
Beiträge: 1105
Registriert: 25.04.2008, 15:28
Wohnort: B'Württemberg
Kamera(s): Ixus50 101b, Ixus860 100c, SX10 101a

Beitragvon msl » 27.06.2010, 15:28

Hallo fe50,

ich habe mal den Speicherbedarf ausgewertet.

Es sind 584 Byte (compiliert für die SX20 mit gcc 4.4.0, was dem Ergebnis des CHDK-De-Autobuild-Compilers in etwa entspricht). Verzichtest du auf die uBasic-Befehle, kannst du 184 Byte abziehen.

Ich denke, die Befehle sollten noch machbar sein.

Im Trunk dümpeln noch die Zoom-Override-Fragmente von PhyrePhoX herum. Diese habe ich in unserer DE-Version in conf.c und conf.h mit Präprozessor-Optionen versehen. Dadurch lassen sich auch im int. Trunk einige Bytes einsparen.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4501
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon fe50 » 27.06.2010, 21:02

Danke für die Info !

Selbst ohne Spiele etc. scheint die SX20 bei aktivem Zebra wegen Speichermangel zu crashen...mal abwarten, was da für Rückmeldungen der SX20-User kommen...

Im Trunk dümpeln noch die Zoom-Override-Fragmente von PhyrePhoX herum. Diese habe ich in unserer DE-Version in conf.c und conf.h mit Präprozessor-Optionen versehen. Dadurch lassen sich auch im int. Trunk einige Bytes einsparen.

Muss ich mir mal anschauen, eine Aufgabe für trübe Regentage...
"The grass was greener, The light was brighter"►  ◄fe50 home►  ◄TRAIL-Magazin►  ◄RTFM !
Benutzeravatar
fe50
CHDK-Legende
CHDK-Legende
 
Beiträge: 1105
Registriert: 25.04.2008, 15:28
Wohnort: B'Württemberg
Kamera(s): Ixus50 101b, Ixus860 100c, SX10 101a

Re: neue Skriptbefehle get/set_config_value

Beitragvon msl » 28.01.2011, 17:15

Hallo CHDK-Bastler,

CHDKLover hat die Skriptbefehle get/set_config_value soweit angepasst, dass wir jetzt auch die bisher fehlenden Konfigurationsdaten für Postionen, Pfade und Tabellen auslesen und schreiben können. Diese Änderungen können nur in Lua verwendet werden. Funktionsweise und eine überarbeitete Tabelle zu den möglichen Konfigurationswerten sind im ersten Beitrag zu finden.

Somit ist jetzt eine vollständige Sicherung der persönlichen CHDK-Einstellungen möglich. Das ist sehr vorteilhaft, wenn bei einer Neuinstallation oder einem Update von CHDK die Konfigurationsdatei cchdk.cfg gelöscht werden musste. Wir können jetzt per Skript eine Sicherung durchführen und diese Sicherung bei Bedarf wieder herstellen.

Ein entsprechendes Skript befindet sich im Eröffnungsbeitrag. Das Skript bietet ein bedienerfreundliches Konzept, was die Bedienung selbsterklärend macht. Es besteht sogar die Möglichkeit, die Konfiguration von einer Kamera zur anderen zu übertragen. Einen einfachen Test kann man machen, in dem man eine Sicherung durchführt [Sichere Konfiguration]. Das Skript beendet. Dann die Datei cchdk.cfg mit Hilfe des Datei-Browsers löscht. Kamera aus- und einschalten. Skript erneut starten und [Schreibe Konfiguration] aufrufen. Jetzt sollte wieder alle persönlichen Einstellungen verfügbar sein. (Zur Sicherheit mal vor der ganzen Aktion die Datei cchdk.cfg sichern.)

Mit diesen Funktionen haben wir ein sehr mächtiges Werkzeug, um CHDK per Skript gezielt anpassen zu können.

Testberichte zum Skript sind erwünscht. Dazu ist eine aktuelle CHDK-DE-Version ab Revision 562 notwendig. Mit Revision 563 werden auch Änderungen zum Benutzer-Menü sofort wirksam und nicht erst nach einem Neustart.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4501
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re:

Beitragvon f_m_b » 27.04.2011, 23:07

fe50 hat geschrieben:Wir haben ja ein paar Kameramodelle mit sehr knappem Speicherbudget, z.B. die SX20; da muss man ja schon jedes halbe Byte in die Waagschale werfen...u.a. der Grund, warum ich manche Features nur zögerlich in den internationalen trunk einbaue.
Da - gerade bei der SX20 - das Rückmeldeaufkommen bzw. die Bereitschaft der User (und auch der Entwickler ;) ) zur konstruktiven Testarbeit recht bescheiden ist, wären hier brauchbare (!) Rückmeldungen sehr hilfreich.

Der Test kommt spät... aber er kommt.
Die Menüführung... Erste Sahne... Intuitiv, selbsterklärend, einfach Klasse.
( Blinkt ein wenig, aber das kenne ich bereits von der SX20. )

Ich habe ein wenig damit "herumgespielt" funktioniert sehr brauchbar.
Allerdings habe ich mit EXMEM 2MB getestet. Falls notwendig kann ich auch noch einen Test ohne nachschieben.

Kann ich wirklich gut gebrauchen. Ich spiele oft an allen möglichen "CHDK-Schräubchen" und musste danach meine Default-Konfiguration wieder extern auf die Karte spielen.

PS: Ich hätte nichts dagegen, wenn das Skript per Default unter CHDK/SCRIPTS/??? eingebucht wäre. ;-)
f_m_b
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 148
Registriert: 30.05.2010, 22:59
Kamera(s): -

Re: Skriptbefehle get/set_config_value

Beitragvon msl » 02.05.2011, 12:47

Hallo Frank,

Danke fürs Testen. Das Blinken sollte nun auch der Vergangenheit angehören, da es einem temporären Fehler in wait_click() zuzuordnen ist, der sich mit Rev. 608 ungewollt eingeschlichen hatte und mit Revision 653 abgestellt wurde.

Stimmt, das Skript könnte man in den CHDK/SCRIPTS-Ordner stecken. Bei der bisherigen geringen Resonanz hatte ich das aber noch nicht in Erwägung gezogen.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4501
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: Skriptbefehle get/set_config_value

Beitragvon f_m_b » 02.05.2011, 23:35

msl hat geschrieben:Das Blinken sollte nun auch der Vergangenheit angehören...
Ein kurzer Test mit Rev. 653 hat bestätigt, dass das Blinken der Vergangenheit angehört. :-)
f_m_b
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 148
Registriert: 30.05.2010, 22:59
Kamera(s): -

Re: Skriptbefehle get/set_config_value

Beitragvon gehtnix » 16.07.2011, 02:39

moin,

den Beitrag habe ich ja vor einem Jahr nur überflogen Bild
Entdecke ich doch erst jetzt dass ich ja einzelne Komponenten ein/aus-schalten kann :-`

CHDKLover Bild

Hab das nun mal in HDR-Hyper eingesetzt.

Anmerkung zu den Werten:
7 DOF-Anzeige 0/1
sollte
7 DOF-Anzeige 0-4
heißen.
-------
86 Anzeige DOF 0 – 4
hier nun
86 Anzeige DOF 0 /4
das betrifft nur die einzelne Zeile in der gesamten DOF-Anzeige

gruss gehtnix Bild
Bild
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 13:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS50 101b

Nächste

Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste