[Info] CHDK 1.4 - Änderungen und neue Funktion

Allgemeine Informationen zum CHDK für Neueinsteiger

Re: CHDK 1.4 - Änderungen und neue Funktion

Beitragvon msl » 31.03.2015, 10:38

Wie schon an anderer Stelle geschrieben werden im Augenblick alle Tastaturfunktionen überarbeitet. Dazu benötigen wir Rückmeldungen, ob die Kamera sich wie gewohnt verhält. Alles weitere zum Test ist hier nachzulesen: viewtopic.php?f=7&t=3461

Ich bitte um rege Beteiligung, da die Ergebnisse für die Weiterentwicklung von CHDK sehr wichtig sind!

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: CHDK 1.4 - Änderungen und neue Funktion

Beitragvon c_joerg » 31.03.2015, 15:24

Hallo,

ist der Rückgabewert von set_mf(true) jetzt eigentlich auch true oder false oder ist der bei 0 und 1 geblieben?

Grüße Jörg
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

Re: CHDK 1.4 - Änderungen und neue Funktion

Beitragvon Werner_O » 31.03.2015, 18:33

Hallo Jörg,

unter CHDK 1.4 sollte der Rückgabewert dann m.W. ebenfalls true/false und nicht 1/0 sein.

Ist man sich unter CHDK 1.4 nicht sicher, können kleine Testskripte zu einzelnen Befehlen schnelle Antworten geben, bspw. folgendes kleine Lua-Skript zum Befehl set_mf():

Code: Alles auswählen
--[[
*****************************
Testskript für CHDK 1.4
Getestet: Befehl set_mf(true)
*****************************
@title Test Command
@chdk_version 1.4
]]

x = set_mf(true)
if x == true then
    print("x == true")
elseif x == 1 then
    print("x == 1")
elseif x == nil then
    print("x == nil")
else
    x = tostring(x)
    print(string.format("x == %s", x))
end
set_mf(false)


Ansonsten ist es m.W. bei verkürzten Abfragen wie:
Code: Alles auswählen
if x then
    ..Tue das eine wenn wahr..
else
    ..Tue das andere wenn falsch..
end

zudem egal, ob als "Wahr" für x true oder 1 zurückgegeben werden bzw. ansonsten false oder 0.

Liebe Grüße
Werner_O
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: CHDK 1.4 - Änderungen und neue Funktion

Beitragvon c_joerg » 31.03.2015, 20:08

Hallo Werner_O,

ich hätte jetzt auch true oder false erwartet...
Allerdings kommt bei deinem Testprogram x == 1 heraus....

Ok, die verkürzten Abfragen funktioniert zuverlässig. Werde ich dann wohl allgemein so machen.
Vielen Dank für deine Hilfe.

Grüße Jörg
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

Re: CHDK 1.4 - Änderungen und neue Funktion

Beitragvon msl » 31.03.2015, 20:34

Hallo,

hier unterliegt ihr beide einem Irrtum. In der verkürzten Form würde als Resultat immer wahr erscheinen, da in Lua auch Null wahr ist. Deshalb funktioniert die verkürzte Form in dem Fall nicht, da set_mf() wie hier beschrieben 0 oder 1 zurück gibt.

Zitat aus Programmieren mit Lua, 2. Ausgabe von Roberto Ierusalimchy:
2.2. Boolesche Werte
... Beachten Sie, dass Lua in Testbedingungen, anders als manch andere Skriptsprachen, sowohl Null als auch einen leeren String als wahr betrachtet.


Für set_mf() ist in CHDK 1.4 neu hinzugekommen, dass man unter Lua entweder set_mf(1|0) oder set_mf(true|false) verwenden kann. Das gilt auch für andere sogenannten Schalterfunktionen.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: CHDK 1.4 - Änderungen und neue Funktion

Beitragvon Werner_O » 31.03.2015, 23:37

Hallo msl,

Danke für Deine Infos.

Allerdings fasse ich mit gerade an den Kopf, wenn unter CHDK 1.4 der Befehl x = set_mf(true) als Ergebnis x == 1 und nicht x == true herausbringt und (fast noch schlimmer) unter Lua-Testbedingungen sogar eine 0 als "Wahr" interpretiert werden kann.

Für set_mf() ist in CHDK 1.4 neu hinzugekommen, dass man unter Lua entweder set_mf(1|0) oder set_mf(true|false) verwenden kann. Das gilt auch für andere sogenannten Schalterfunktionen.

Bleibt nur die Frage, inwieweit das überhaupt als wirkliche "CHDK-Verbesserung" angesehen werden kann:
Ich setzte false/true als Argument für einen Befehl, als Ergebnis kommt aber 0/1 raus.
Das muss man sich erst mal auf der Zunge zergehen lassen...

Wie von mir schon bereits vorher in diesem Thread beschrieben, werde ich darum falls möglich weiterhin einen großen Bogen um CHDK 1.4 machen, falls ich dessen neuen Möglichkeiten (wie etwa "big number") nicht wirklich unbedingt brauche.

Nicht ohne Grund sind alle meine eigenen Skripte hier im Forum noch für CHDK 1.3 geschrieben mit @chdk_version 1.3 unterhalb des Skripttitels:
Damit habe ich dann stets stabile Bedingungen und kann dann bspw. nach x = set_mf(1) auch gezielt nachfragen via "if x == 1 then..." ohne verkürzte Abfragen wie "if x then...".
Dann funktioniert alles auch unter "Testumgebungen" - aber es ist schon erschreckend, dass dann laut Deinen Aussagen bei Abfragen wie "if x then..." auch eine 0 als wahr erkannt wird...

Liebe Grüße
Werner_O
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: CHDK 1.4 - Änderungen und neue Funktion

Beitragvon c_joerg » 01.04.2015, 07:27

Hallo,

auch von meiner Seite vielen Dank für die Infos.

Allerdings fasse ich mit gerade an den Kopf, wenn unter CHDK 1.4 der Befehl x = set_mf(true) als Ergebnis x == 1 und nicht x == true herausbringt und (fast noch schlimmer) unter Lua-Testbedingungen sogar eine 0 als "Wahr" interpretiert werden kann.


Dem kann ich nur zustimmen. Das ist wirklich sehr gewöhnungsbedürftig…

Für set_mf() ist in CHDK 1.4 neu hinzugekommen, dass man unter Lua entweder set_mf(1|0) oder set_mf(true|false) verwenden kann.


Also wenn das mit dem ‚entweder‘ so ist, dann braucht man für CHDK 1.4 ja eigentlich gar nichts ändern.

Ich möchte schon allein wegen der langen der Parameternamen nicht mehr auf CHDK 1.4 verzichten…

Grüße Jörg
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

Re: CHDK 1.4 - Änderungen und neue Funktion

Beitragvon msl » 01.04.2015, 11:48

Hallo zusammen,

ehrlich gesagt, verstehe ich die ganze Aufregung nicht so recht. :?

Geht mal davon aus, dass die Leute, die diese Funktionen programmiert haben, sich etwas dabei gedacht haben. Sicherlich hätte man bei set_mf() als Rückgabe einen Booleschen Wert ausgeben können. Das Thema Umschalten in den manuellen Fokus und das Setzen einer Fokusdistanz ist aber sehr komplex. Einige werden sich noch an die umfangreichen Tests erinnern. Das universelle Setzen der Fokusdistanz (unabhängig von der Kamera) klappt nun schon ganz gut, ist aber noch nicht perfekt. Möglicherweise könnte der Befehl set_mf() zukünftig mehr als die Information 1 oder 2 zurückgeben. Hätte man nun schon Boolesche Werte vereinbart, wäre die Funktion nicht mehr abwärtskompatibel. Das nur mal so als theoretischer Gedanke.

Dass in Lua auch Null wahr ist, ist wie schon zitiert eine allgemeine Lua-Regel und keine CHDK-Erfindung. Man kann sich sicherlich trefflich über Sinn oder Unsinn dieses Umstandes streiten. Das bringt aber nichts. Man sollte eher lernen, damit umzugehen. Lua bietet so viele Möglichkeiten, viele Dinge an die gewünschten Anforderungen anzupassen. Da muss man nicht immer mit den gegebenen Dingen hadern.

Man kann z.B. set_mf() auch so anpassen, dass Boolesche Werte zurückgeben werden:
Code: Alles auswählen
x = set_mf(true) == 1 and true or false
Verwendet man set_mf() öfters im Skript, empfiehlt sich eine eigene Funktion:
Code: Alles auswählen
function mf(input)
    return set_mf(input) == 1 and true or false
end


Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: CHDK 1.4 - Änderungen und neue Funktion

Beitragvon Werner_O » 02.04.2015, 21:06

Hallo zusammen,

Jörg schrieb:
Ich möchte schon allein wegen der langen der Parameternamen nicht mehr auf CHDK 1.4 verzichten…

Auch unter CHDK 1.3 ist es leicht möglich, in Skripts "user friendly names" für Parameter zu verwenden. Dazu müssen nur direkt nach Skriptstart die möglichen Vorgabe-Parameter für a-z in aussagekräftigen Variablennamen gespeichert werden.

Unter CHDK 1.4 geht das zwar etwas komfortabler, aber dafür geht die Abwärtskompatibilität zu CHDK 1.3 verloren. Jeder Skriptentwickler sollte sich dabei aber m.E. momentan fragen, ob dieser Preis nicht zu hoch ist insbesondere bei Skripten, die auch für andere CHDK-User zugänglich gemacht werden sollen.

Ein speziell für CHDK 1.4 entwickeltes Skript macht zudem m.E. erst dann Sinn, wenn man Funktionen benötigt, die es erst seit CHDK 1.4 gibt. Dazu fällt mir selber aber recht wenig wesentlich wichtiges ein ausser den neuen "grossen Zahlen" (siehe hier) für Vorgabeparameter - sowas geht unter CHDK 1.3 noch nicht. Ansonsten sind m.E. auch noch die neu eingeführten "Tables" für Parameterdefinitionen eine durchaus interessante Bereicherung - bei allen von mir hier im Forum bereitgestellten Skripten komme ich aber noch prima ohne dieses neue Feature aus.

Aus all den genannten Gründen sind darum speziell für CHDK 1.4 konzipierte Skripte in den CHDK-Foren (deutsch/international) bisher absolute Mangelware. Insofern würde ich auch Dir anraten, zumindest vorläufig noch Skripte für CHDK 1.3 zu schreiben. Dann kannst Du Dich auch auf die Angaben dieser echt tollen CHDK-Referenz-Seite verlassen:
http://chdk.wikia.com/wiki/CHDK_Scripting_Cross_Reference_Page

msl schrieb:
ehrlich gesagt, verstehe ich die ganze Aufregung nicht so recht. :?

Du verstehst es vermutlich deshalb nicht, weil wir nur Lua-Anfänger sind und Du dagegen ein Lua-Profi bist.
Deine bspw. freundlicherweise bereitgestellte Codezeile:
x = set_mf(true) == 1 and true or false
nützen mir (und vermutlich auch Jörg) bisher wenig, weil wir diese Zeile schlichtweg nicht verstehen können!
Solange ich diese seltsam anmutende Code-Konstruktion nicht zu 100% nachvollziehen kann werde ich sie auch nicht in meinen Skripten verwenden.

Insofern solltest Du an dieser Stelle endlich auch unsere Programmierängste ernst nehmen, weil wir beide ja offensichtlich sehr verunsichert sind:
x = set_mf(true) führt zu x == 1
Eine 0 wird von Lua als wahr interpretiert
Mit solchen Sachen hatten wir ja beileibe nicht gerechnet...

Dankenswerterweise hast Du das alles ja jetzt hier klargestellt und wir können uns nun überlegen, auf welche Weise wir dieses neue Wissen in eigenen Lua-Skripten anwenden können - Danke nochmals für Deine Infos!

Liebe Grüße
Werner_O
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: CHDK 1.4 - Änderungen und neue Funktion

Beitragvon Knarf » 03.04.2015, 13:13

Könnte das hier helfen? :

deutsche Dokumentation Lua

Habe bei meinen Versuche feststellen dürfen das Lua 5.2 unterstützt wird.
Knarf
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 472
Bilder: 2
Registriert: 28.12.2011, 17:42
Kamera(s): SX130IS 101c
CHDK-DE-Modulversion

Re: CHDK 1.4 - Änderungen und neue Funktion

Beitragvon Werner_O » 03.04.2015, 17:17

Hallo Knarf,

vielen Dank für den Link.

Allerdings ändert sich dadurch nichts an der Tatsache, daß die bei CHDK nötige Kombination aus "generischen Lua-Befehlen" und "CHDK-spezifischen Lua-Befehlen" eine besondere Herausforderung darstellen, welche weniger versierte Lua-Programmierer (dazu zähle ich auch mich) schnell in Situationen bringen kann, wo man dann ganz schnell "mit seinem Latein" am Ende ist.

Will man dazu auch noch neue CHDK 1.4-Funktionen verwenden wird es besonders schwierig, weil die aktuell verfügbare Referenzseite zu CHDK-Befehlen auf die Neuerungen zu CHDK 1.4 bisher noch gar nicht eingeht.

Das macht es für Lua-Einsteiger schwierig, korrekte Skripte insbesondere für CHDK 1.4 schreiben zu können.
GsD hilft dazu hier im Thread aber msl und bietet Lösungen zu gefundenen Problemen an, wofür ich sehr dankbar bin.

Liebe Grüße
Werner_O
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: CHDK 1.4 - Änderungen und neue Funktion

Beitragvon c_joerg » 04.04.2015, 17:16

Hallo Werner_O,

Dazu müssen nur direkt nach Skriptstart die möglichen Vorgabe-Parameter für a-z in aussagekräftigen Variablennamen gespeichert werden.


Dabei sind mir schon einige Fehler passiert...

Was ich viel wichtiger finde, sind die Parametersätze. Die sind nun viel besser lesbar. Teilweise kopiere ich sie am PC und editiere sie dann. Das war vorher echt schwierig.
Was das Ganze noch krönen würde wären Namen wie Parameter Sunset, Sunreise….


Grüße Jörg
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

Re: CHDK 1.4 - Änderungen und neue Funktion

Beitragvon Werner_O » 04.04.2015, 23:37

Hallo Jörg,

um Dir hoffentlich weiterhelfen zu können verwende ich nachfolgend Zitate von meinem Skript MF-Mode mit verweisenden Zeilenangaben.
Als prima Editor für Lua-Skripte hat sich zudem Notepad++ erwiesen, was ich selber übrigens in der ebenfalls verfügbaren "portable version" installiert habe. Die bei diesem Programm aktivierbare "Sprache Lua" ist in der Praxis Gold wert bei der Entwicklung eigener Lua-Skripte.

...Dazu müssen nur direkt nach Skriptstart die möglichen Vorgabe-Parameter für a-z in aussagekräftigen Variablennamen gespeichert werden...
Dabei sind mir schon einige Fehler passiert

Damit hatte ich selber noch (fast) keine Probleme. Allerdings habe ich dabei stets zwei Dinge beachtet:
1) Für Variablen-Namen verwende ich grundsätzlich nur Kleinbuchstaben (weshalb genau habe ich leider vergessen).
Namen wie sunset oder sunreise sollten also m.W. unproblematisch sein.
2) Für Variablen dürfen grundsätzlich keine Namen verwendet werden, welche bereits als Lua-Befehle definiert sind.
Diesen Anfängerfehler hatte ich selber schon mal gemacht, und msl hatte mich darauf anschließend GsD hingewiesen.

Was ich viel wichtiger finde, sind die Parametersätze.

Der "Skriptheader" ist eigentlich nur zur Auswahl von Skript-Vorgabeparametern im CHDK-Menü gedacht.

Der einfachste Parameter ist dabei ein simples On/Off im CHDK-Menü wie der Parameter "USB instead SET to shoot".
Der zugewiesene Parameter u bzw. Variable usb_mode kann so nur Werte von 0 oder 1 bekommen, was in der Hauptschleife zu unterschiedlichen Verhaltensweisen führt:
Code: Alles auswählen
Zeile 21-23:
@param    u USB instead SET to shoot
 @default u 0
 @range   u 0 1
Zeile 31:
usb_mode = u
Zeile 179:
if usb_mode ~= 1 then
Zeile 190:
else...


Einen numerischen Vorgabeparameter verwende ich im Skript für "Man. Focus Distance (mm)"
Code: Alles auswählen
Zeile 18-20:
@param    d Man. Focus Distance (mm)
 @default d 2000
 @range   d 0 65000
Zeile 47:
distance = d

Die möglichen Vorgabewerte sind dabei auf 0-65000 beschränkt.

Die zusätzlich verwendete reine Auswahlmethode über die Anzeigen MAN, HYP oder INF im CHDK-Skript-Menü erfolgen über folgende Codezeilen mit dabei @values statt @range:
Code: Alles auswählen
Zeilen 15-17:
@param    f Foc-Mode (HYP Av/M only)
 @default f 0
 @values  f MAN HYP INF
Zeile 30:
fixfoc = f
Zeilen 46-55:
    if fixfoc == 0 then
        distance = d  --Set focus distance in mm
        fix_mode = "Manual focus"
    elseif fixfoc == 1 then
        distance = get_dofinfo().hyp_dist
        fix_mode = "Hyperfocal distance"
    else
        distance = -1
        fix_mode = "Infinite distance"
    end

Die Auswertung von Paramter f bzw. Variable fixfoc erfolgt also erst anschließend im Skriptverlauf.

Der "Skript-Header" ist somit primär nur für die Anzeigen im CHDK-Skript-Menü gedacht.
Umfangreiche "Tables" sollten generell erst im eigentlichen Skript definiert werden und nicht schon im "Skript-Header".
Als nachlesenswertes Skript dazu möchte ich hier auf das Skript AV-Plus2 von msl hinweisen.

Liebe Grüße
Werner_O
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: CHDK 1.4 - Änderungen und neue Funktion

Beitragvon c_joerg » 05.04.2015, 08:52

Hallo Werner_O

erst mal frohe Ostern.

Vielen Dank für deine ausführliche Erklärung.

Der "Skriptheader" ist eigentlich nur zur Auswahl von Skript-Vorgabeparametern im CHDK-Menü gedacht.


Vielleicht haben in diesem Punkt aneinander vorbei geredet.
Mit Parametersätze meinte ich die Dateien, die unter \Data mit der Endung *.0 bis *.9 abgelegt werden.
Diese sind nun mit CHDK 1.4 deutlich lesbarer.
Hier wäre es nun interessant, wenn man denen Namen wie *.sunreise zuweisen könnte.

Grüße Jörg
c_joerg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 456
Registriert: 14.08.2014, 06:50
Wohnort: Bremen
Kamera(s): S110 103a
S45
2 * G1X 101a, 100e
G9xII 1.00c,
SX230 101a
SX50hs 100c
EOS M3 101a
EOS M100 100a

Re: CHDK 1.4 - Änderungen und neue Funktion

Beitragvon msl » 05.04.2015, 10:23

Hallo,
c_joerg hat geschrieben:Was das Ganze noch krönen würde wären Namen wie Parameter Sunset, Sunreise….
Das ist eine Überlegung wert. Für mich stellt sich aber vor der Frage der technischen Realisierung die organisatorische Frage. Wo sollen die Namen definiert werden? Vorstellbar wäre ein zusätzlicher Skriptparameter, in dem die gewünschten Namen eingetragen werden. Wie geht man dann damit um, wenn beispielsweise nur drei Namen definiert werden? Was ist mit den restlichen sieben Parametersätzen? Zu beachten ist auch, dass maximal 7 Zeichen in der Menüauswahl angezeigt werden.

Unterm Strich muss dann ausgewertet werden, wie es mit dem Verhältnis Aufwand und Nutzen aussieht.

Werner_O hat geschrieben:...Der "Skriptheader" ist eigentlich nur zur Auswahl von Skript-Vorgabeparametern im CHDK-Menü gedacht.
...Umfangreiche "Tables" sollten generell erst im eigentlichen Skript definiert werden und nicht schon im "Skript-Header".
Solche Thesen sind sehr gewagt und im Grunde falsch. Gerade der neue alternative Skriptkopf soll die rudimentären Möglichkeiten der bisherigen Technik deutlich verbessern. Diese waren ursprünglich nur für uBASIC vorgesehen und dafür ausreichend. Mit der neuen Variante lassen sich gerade Skripte, die sehr umfangreiche Parameter besitzen, extrem verkürzen. Dazu zählt auch die Möglichkeit, sofort ohne nachträgliche Umwege Tabellen zu generieren. Das hilft insbesondere, wenn man nicht lineare Werte oder Zeichenketten aus den Parametervorgaben verarbeiten möchte.

Noch eine Bitte:

Dieses Thema dient der Information über Neuerungen für die Version 1.4, über deren Sinn/Unsinn man hier auch trefflich streiten kann. Grundsätzliche Skripttechniken rund um Lua sollten an anderer Stelle diskutiert werden, zum Beispiel hier: viewtopic.php?f=7&t=3369

An genannter Stelle könnte man dann u.a. auch über Boolesche Operationen reden.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

VorherigeNächste

Zurück zu Grundwissen CHDK

Wer ist online?

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