[Lua] Skript CanoRemo.lua

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

Skript CanoRemo.lua

Beitragvon Werner_O » 13.07.2014, 20:13

Hallo zusammen,

ich möchte hiermit mein neues Skript "CanoRemo.lua" für die IR-FB "CanoRemote" von Dirk Eichel (siehe hier) vorstellen, welches eine Weiterentwicklung des von f_m_b entwickelten Skriptes "Remote.lua" ist (siehe diesen Thread).

Was hat sich mit diesem neuen Skript geändert:
1) Nicht geändert hat sich die grundlegende Funktionsweise der bisherigen Skript-Vorgängerversion von f_m_b.
2) Meine neue Skriptversion beseitigt aber die bisherigen Blitzprobleme bei Verwendung eines integrierten Blitzes.
3) Desweiteren wird nun falls möglich (ab CHDK 1.3 v3442) automatisch der neu eingeführte "USB High Speed Mode" verwendet, welcher insbesondere bei älteren Kameras wie etwa meiner S3 mit noch DIGIC-2 Prozessor eine ausreichend genaue Erkennung der vom USB-Receiver gesendeten USB-Impulslängen ermöglichen sollte.
4) Über neu eingeführte Skript-Vorgabeparameter können alle Zeitlimits zu USB-Impulszeiten nun individuell angepasst werden, was insbesondere für Kameras mit einem älteren Prozessor wie etwa noch einem Digic-2 wichtig ist, damit immer die richtigen Funktionen ausgeführt werden.
5) Bei Start des Skriptes über den neuen möglichen "USB Test-Mode" können auch nur die real gemessen USB-Impulszeiten angezeigt werden, um so anschließend die Skript-Vorgabeparameter zu den USB-Impulszeiten für die jeweils verwendete Kamera optimieren zu können.
6) Die Taste MENU der IR-FB zeigt nun zusätzlich den vollständigen Skriptstatus an und kann übrigens zudem auch rein zum "Aufwecken" des USB-Empfängers eingesetzt werden, falls dieser zwischenzeitlich nach längeren Pausen bzgl. gesendeter IR-Impulsen in den Sleepmode gefallen sein sollte.
7) Die Taste DOWN kann über einen neuen Vorgabeparameter nun alternativ zu HALFSHOOT auch nur einen AF-LOCK machen.
8) Über den neuen Vorgabeparameter "Wait for Flash" kann das neue Skript bei Bedarf vor einer neuen Aufnahme immer erst eine volle Blitzbereitschaft abwarten. Das Skript fragt dabei ständig von der Kamera den Blitzstatus ab. Bei Kameras mit ausklappbarem Blitz wird auch dessen Stellung permanent abgefragt, wobei eine aktivierte Vorgabe "Wait for Flash" in eingeklappter Stellung automatisch skriptintern deaktiviert wird.

Hier alle Funktionen des Skriptes im Überblick:

1) "Einzelklicks" an der FB auf LEFT oder RIGHT führen zu einzelnen Zoomschritten Zoom-Out oder Zoom-In, welche zeitlich über den Vorgabeparameter "Zoom Step Time" an die jeweilige Kamera individuell angepasst werden können, um die optischen Schrittweiten dieser Einzel-Zoomschritte an eigene Vorlieben anzupassen.

2) Sogenannte "Doppelklicks" an der FB auf LEFT oder RIGHT führen zu einem kontinuierlichen Zoom-Out bzw. Zoom-In.
Über den neuen Vorgabeparameter "Timeout Cont. Zoom" kann die Zeitgrenze, was noch als "Doppelklick" interpretiert werden soll, individuell an eigene Vorlieben angepasst werden.
Ein laufender "kontinuierlicher Zoom" kann dabei durch Drücken einer jeglichen Taste der USB-FB sofort gestoppt werden.

3) Die Taste UP startet bzw. stoppt eine Video-Aufnahme.
Wichtige Hinweise dazu:
a) Der mögliche Modus "Wait for Flash" wird während Video-Aufnahmen automatisch deaktiviert.
b) Während einer Videoaufnahme aktiviert/deaktiviert die Taste DOWN an der FB immer nur einen AF-Lock unabhängig davon, was in den Skriptvoreinstellungen zu Parameter "AFL-Mode for Key Down" voreingestellt wurde.
Während einer Videoaufnahme ist ein "Halfshoot" also generell nicht möglich!

4) Die Taste DOWN macht normalerweise einen "Halfshoot", welcher sowohl einen AF ausführt als auch eine Belichtungsmessung, wobei beide Werte gespeichert bleiben.
Ein nachfolgender Druck auf die FB-Taste PLAY/PAUSE verwendet dann diese sozusagen "eingefrorenen" Einstellungen, sodaß die Auslösung sofort erfolgen kann. Nach einer Aufnahme gibt das Skript die Fokus- und Belichtungseinstellungen wieder frei.

Eine alternative Funktionsweise der Taste DOWN kann durch Aktivierung der Skript-Vorgabeoption "AFL-Mode for Key Down" erreicht werden:
Dann macht Taste DOWN nur einen AF mit anschließendem AF-Lock, sodaß nur der Fokus dauerhaft gespeichert wird.
Nachfolgende Aufnahmen via FB-Taste Play/Pause müssen dann nur noch die Belichtung neu ermitteln, was normalerweise sehr schnell geht und so schnelle Auslösezeiten ermöglichen sollte.
Ein erneuter Druck auf Taste DOWN deaktiviert dabei einen gemachten AF-Lock wieder.

5) Die Taste PLAY/PAUSE ermöglicht die Auslösung eines Bildes.
Normalerweiser wird dabei ein AF und eine Belichtungsmessung durchgeführt und erst danach ausgelöst.
Bei vorher via Taste DOWN erfolgtem "Halfshoot" wird dagegen sofort ausgelöst.
Bei vorher via Taste DOWN erfolgtem "AF-Lock" wird nur die Belichtung gemessen und danach sofort ausgelöst.

6) Die Taste MENU zeigt nach kurzem Druck (!) den aktuellen Skriptstatus mit sämtlichen Details für ~ 6 sec an.
Hinweise zu dieser Taste:
a) Diese Taste kann immer erst nach 2 sec Verzögerungszeit vom Skript ausgewertet werden! Das ist technisch bedingt und somit keine Fehlfunktion.
b) Die Taste MENU kann auch dazu verwendet werden, einfach nur einen eingeschlafenen CanoRemo USB-Empfänger wieder aufzuwecken :-)
c) Ein langer Druck auf Taste MENU aktiviert das Menü des USB-Empfängers. Im Skriptbetrieb ist das normalerweise völlig unerwünscht!

7) Der per Default aktivierte Vorgabeparameter "Wait for Flash" sorgt dafür, daß vor einer Aufnahme immer erst eine volle Blitzbereitschaft abgewartet wird, bevor die Auslösung erfolgt. Diese Voreinstellung sollte darum m.E. normalerweise auch nicht geändert werden.
Hinweis: Diese Funktion kann nur bei der Verwendung des internen Blitzes der jeweiligen Kamera verwendet werden!
Bei auf den Zubehörschuh aufgesetzten externen Blitzen wird diese Funktion automatisch deaktiviert, da CHDK deren Blitzbereitschaft nicht abfragen kann.

8) Die vom Skript vorgegebenen Zeitgrenzen bzgl. "High Limit" für diverse USB-Impulslängen sind so gewählt, daß man da bei einer aktuellen CHDK-Version 1.3 normalerweise nichts ändern sollte. Die Vorgabewerte habe ich für meine ältere S3 mit nur DIGIC-2-Prozessor optimiert, und bei meiner neueren SX20 mit bereits DIGIC-4-Prozessor sind da erst recht keinerlei Änderungen nötig.

Wichtige Info Nummer 1:
Normalerweise sollte für dieses Skript CHDK 1.3 ab mindestenst Version 3585 verwendet werden!
Nur so sind akzeptabel genaue Messungen der gesendeten USB-Impulszeiten über den neuen USB-Highspeed-Modus möglich!
Bei Verwendung von CHDK 1.3 ab v3585 sollte es dabei normalerweise auch nicht nötig sein, die Skript-Voreinstellungen zu den USB Time-Limits zu den Tasten der USB-FB zu ändern!

Wichtige Info Nummer 2:
Dieses Skript ist für den sogenannten "CHDK Standard Mode" des IR-Empfängers der "CanoRemote" ausgelegt (siehe hier).
Dieser Modus verwendet für die Tasten LEFT, RIGHT, UP, DOWN, PLAY/PAUSE und MENU die USB-Impulslängen 80, 160, 240, 320, 400 bzw. 480 ms.
Dieser "USB-Delay" ist dabei nicht zu umgehen. Ein SHOOT kann also bspw. nach Druck auf die FB-Taste "Play/Pause" immer erst nach 400ms Delay ausgeführt werden. Am schlimmsten trifft es die Taste MENU mit 480ms Impulslänge, welche immer erst nach 2 sec Pause den USB-Impuls schickt.

Wichtige Info Nummer 3:
Im nachfolgendem Posting gibt es eine alternative Skriptvariante von mir für Kameras mit mindestens DIGIC-3-Prozessor und zwangsweise nötigem CHDK 1.3.
Diese Variante verwendet den sogenannten "CHDK Fast Mode" des IR-Empfängers der "CanoRemote" mit kürzen USB-Impulslängen:
30, 60, 90, 120, 150 und 180 ms für die Tasten LEFT, RIGHT, UP, DOWN, PLAY/PAUSE und MENU.
Eine Auslösung kann so mit nur 150ms Delay ausgeführt werden.

Weitere Infos:

Aus Gründen der "Abwärtskompatibilität" läuft dieses Skript auch noch unter CHDK 1.2, unter welchem es es dann aber generell noch keinen "USB-Highspeed-Modus" gibt!
Die diversen "High Limits" für die USB-FB-Tasten in den Skriptvoreinstellungen müssen dann aber ggfs. angepasst werden, damit dieses Skript überhaupt ordnungsgemäß funktionieren kann.
Als Hilfe dazu kann dieses Skript darum auch im "USB Test Mode" gestartet werden mit voreinstellbarer Anzeigedauer ("Sleep Time Test-Mode (sec)"). Die Skriptvoreinstellungen für die "High Limits" je FB-Taste könnten dann entsprechend angepasst werden.


Übersicht der möglichen Skript-Voreinstellungen:

Bild

Interna zu diesem Skript für interessierte User:

Das Urprungskonzept von f_m_b nach dem sehr aufwändigen und komplizierten Programmierkonzept "State machine" habe ich übernommen, weil es bei diesem Skript unverzichtbar ist.
Das Konzept "State machine" bedeutet dabei eine Endlosschleife, welche aber nicht bereits vorher eindeutig festgelegt ist, sondern sich "chamäleonartig" automatisch ändert/anpasst und abhängig von den Skriptvorgaben, gemachten Tastendrücken an der FB, ständigen Abfragen im Skriptbetrieb zum Blitzstatus und den Zoompositionen, Zeitmessungen zu gedrückten Tasten uvam. zu sich ständig ändernden "Skript States" führt (siehe u.a. die sich ständig ändernde Variable "state" im Skript).

Neu sind dabei die von mir wesentlich erweiterten Skriptabfragen an die Kamera, welche das Konzept "State machine" optimieren sollen. Im Ursprungsskript "Remote.lua" von f_m_b können bspw. Kameratasten via Skript ja dauerhaft gedrückt bleiben, obwohl es gar nicht mehr sinnvoll ist.
Als erstes Beispiel dazu möchte ich hier mal die Funktion "Zoom In Continous" erwähnen:
Mein neues Skript fragt bereits bei Skriptstart nach den möglichen Zoomschritten nach und beendet zudem automatisch eine gedrückte Taste Zoom-In wenn das Objektiv bereits die max. Zoomposition erreicht hat.
Als zweites Beispiel möchte ich die ausklappbaren Blitze meiner S3 und SX20 erwähnen:
Auch die werden vom Skript ständig überwacht und führen bei Ein-/Ausklappen automatisch zu Änderungen im Skriptablauf.
Auf ähnliche Weise werden auch diverse andere Parameter ständig vom Skript überwacht uvam.

Hier noch ein Bild von der von mir verwendeten neueren Apple Fernbedienung, wobei aber auch die älteren Apple Fernbedienungen mit PLAY/PAUSE als Centertaste mit diesem Skript funktionieren sollten:
Bild

History:

13.07. 2014 - Skriptversion 1.00 ist verfügbar

20.07.2014 - Skriptversion 1.01 ist verfügbar
Dieses unbedingt notwendige Update korrigiert dabei vor allem die Konsolen-Ausgaben, welche bisher noch fehlerhaft waren.
Bei aktiviertem "Video-Record" macht die USB-FB-Taste DOWN zudem nun automatisch nur noch einen "Enable/Disable AF-Lock" aber keinen "Halfshoot" mehr unabhängig davon, was in den Skriptvoreinstellungen bzgl. Parameter "AFL-Mode for Key Down" vorher eingestellt wurde.
Desweiteren wurde der Skriptcode allgemein optimiert und ist nun für andere CHDK-Programmierer einfacher nachvollziehbar, auch wenn das von f_m_b eingeführte und von mir übernommene Programmierprinzip "State machine" für weniger erfahrene Programmierer kaum noch nachvollziehbar ist, weil zusätzlich auch noch die Funktionen zu den FB-Tasten in Lua-Unterfunktionen definiert wurden. Bezüglich "Übersichtlichkeit" zu den programmierten Abläufen der "State machine" ist dieses Skript deshalb eine "mittlere Katastrophe", wo ich selber nur noch mit Mühe durchblicke.
Die vielen eingefügten Kommentarzeilen im Skript sollten es anderen Programmierern aber erleichtern, dieses komplizierte Skript noch nachvollziehen zu können.

21.07.2014 - Skriptversion 1.02 ist verfügbar
Diese neue Version verbessert das zeitliche Handling zum Vorgabeparameter "Timeout Cont. Zoom" durch genauere Zeitmessungen.
Geänderte Vorgabe-Bereichsgrenzen für "Zoom Step Time" und "Timeout Cont. Zoom" sorgen zudem für einen stabileren Skriptablauf.

23.07.2014 - Skriptversion 1.03 ist verfügbar
Diese Version beseitigt zwei Fehler bei aktiviertem Video-Recording:
Die FB-Taste "Play/Pause" kann jetzt keine Bildaufnahme mehr machen, weil das bisher zu einem Skriptabsturz führte, und die Taste "Down" macht in diesem Modus nun immer nur einen Enable oder Disable AF-Lock, unabhängig von den Skript-Voreinstellungen zu dieser Taste (Halfshoot oder AFL).

21.08.2014 - Skriptversion 1.04 ist verfügbar
Diese Version berücksichtigt die seit CHDK-Version 1.3 v3585 vorgenommen Änderungen für die Verwendung des sogenannten "USB High Speed Modus".
Dazu kommen kommen einige kleinere Änderungen in den Skript-Details.

13.12.2014 - Skriptversion 1.05 ist verfügbar
Abhängig von der erkannten CHDK-Version (1.3 >= v3791 oder 1.4) wird für die Aktivierung/Deaktivierung des USB-High-Speed-Mode nun der neuere Befehl "set_remote_timing()" anstelle von bisher "enable_remote_hp_timer()" verwendet.
Details zu der Notwendigkeit dieser Änderung gibt es hier.

Liebe Grüße
Werner_O
Dateianhänge
CanoRemo.lua
Skript CanoRemo.lua in Version 1.05
(21.54 KiB) 146-mal heruntergeladen
Zuletzt geändert von Werner_O am 29.04.2016, 18:20, insgesamt 11-mal geändert.
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1013
Registriert: 22.10.2010, 14:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: Skript CanoRemo.lua

Beitragvon Werner_O » 09.08.2014, 19:03

Hallo zusammen,

Ich möchte an dieser Stelle auch noch meine alternative Skript-Variante "CanoRemo Fast" publizieren.
Diese Skript-Variante benötigt dabei zwingend ein CHDK 1.3 ab mindestens Version 3442 sowie auch mindestens einen DIGIC-4-Prozessor. Möglicherweise (das konnte ich leider nicht testen) reicht aber bereits auch ein DIGIC-3-Prozessor aus.

Was ist anders bei dieser Skriptversion:
1) Diese Skript-Variante verwendet den "CHDK Fast Mode" des CanoRemote-IR-Empfängers mit wesentlich kürzen USB-Impulslängen:
30, 60, 90, 120, 150 und 180 ms für die Tasten LEFT, RIGHT, UP, DOWN, PLAY/PAUSE und MENU anstelle von 80, 160, 240, 320, 400 und 480 ms.
Dieses Skript reagiert somit viel schneller auf Drücke an der FB. Eine Auslösung kann so bereits nach 150 ms statt bisher 400 ms Delay erfolgen!
2) Da die mit einem DIGIC-4-Prozessor bei CHDK 1.3 mit aktiviertem "USB-High-Speed-Mode" erreichbaren USB-Impulslängen-Messungen üblicherweise auf etwa 5 ms genau sind mit der eindeutigen Tendenz, bei Abweichungen quasi immer nur zu kurze Werte zu messen, habe ich bei dieser Skriptversion ganz auf die bisherigen Skriptvorgabeparameter zu den USB-Impulszeiten verzichtet.
Die im Skript nun fest hinterlegten Zeitgrenzen sollten immer zu korrekten Funktionen der FB-Tasten führen.
3) Den bisher möglichen "USB Test-Modus" habe ich ebenfalls wegrationalisiert, da er m.E. nicht mehr nötig ist.

Ansonsten verhält sich diese Skriptversion genauso wie die Standardversion im Posting zuvor - bezüglich der Funktionalität hat sich nichts geändert.

Das Skript-Vorgabemenü wurde durch die genannten Änderungen natürlich deutlich verkürzt:

Bild

History:

09.08.2014 - Skriptversion 1.00 ist verfügbar

21.08.2014 - Skriptversion 1.01 ist verfügbar
Diese Version berücksichtigt die seit CHDK-Version 1.3 v3585 vorgenommen Änderungen für die Verwendung des sogenannten "USB High Speed Modus".
Dazu kommen kommen einige kleinere Änderungen in den Skript-Details.

13.12.2014 - Skriptversion 1.02 ist verfügbar
Abhängig von der erkannten CHDK-Version (1.3 >= v3791 oder 1.4) wird für die Aktivierung/Deaktivierung des USB-High-Speed-Mode nun der neuere Befehl "set_remote_timing()" anstelle von bisher "enable_remote_hp_timer()" verwendet.
Details zu der Notwendigkeit dieser Änderungen gibt es hier.

26.02.2015 - Version 1.03 ist verfügbar
Dieses kleine Update vermeidet im Skriptmenü die bisherige Warnmeldung:
No @chdk_version, assuming CHDK 1.3

22.03.2015 - Version 1.04 ist verfügbar
Dieses wichtige Update macht dieses Skript auch für die Verwendung unter CHDK 1.4 lauffähig.
Wichtige Info:
Da es die Seite http://www.canoremote.de leider nicht mehr gibt, enthält die angehängte Dateiversion nun zusätzlich eine PDF-Datei mit den nötigen Infos zum Einstellen des USB-CanoRemote-Empfängers.

23.03.2015 - Version 1.05 ist verfügbar
Durch freundliche Hilfen von msl konnte habe ich den Lua-Code heute durch eleganteres Programmieren des Ein-/Ausschalten des USB-High-Speed-Modus von 19.503 auf nun 17.820 Bytes reduzieren können.
Dazu kamen kleine Änderungen zu den Konsolenausgaben, wo nun für einen Skriptabbruch genauer darauf hingewiesen wird, dass dafür ein Druck auf MENU an der CAM (!) und nicht auf MENU an der FB nötig ist.

Liebe Grüße
Werner_O
Dateianhänge
Version 1.05 with Manual.zip
Skript CanoRemF.lua in Version 1.05
Mit enthalten: Ein Manual-PDF zum USB-CanoRemote-Empfänger
(17.54 KiB) 74-mal heruntergeladen
Zuletzt geändert von Werner_O am 23.03.2015, 23:08, insgesamt 16-mal geändert.
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1013
Registriert: 22.10.2010, 14:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: Skript CanoRemo.lua

Beitragvon msl » 19.08.2014, 13:03

Hallo,

Leider hat Änderungen im CHDK 1.3 gegeben, die eine Überarbeitung der schnellen Skriptvariante notwendig machen.

Die Skriptfunktion enable_highspeed_usb wurde in enable_remote_hp_timer umbenannt. Außerdem wird unter Lua jetzt ein boolescher Wert zurückgegeben. Mehr dazu hier: viewtopic.php?f=13&t=3174#p29425

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: 4512
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: Skript CanoRemo.lua

Beitragvon Werner_O » 21.08.2014, 23:19

Hallo msl,

vielen lieben Dank für diese wichtigen Infos.

Ich habe beide Skripte diesbezüglich entsprechend geändert und neue Versionen bereitgestellt.

Ansonsten wäre es m.E. auch sinnvoll, hier unter Code Ecke/Lua-Skriptsammlung im Absatz "Fernbedienung" auf diese beiden Skripte zu verlinken.

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

Re: Skript CanoRemo.lua

Beitragvon msl » 22.08.2014, 12:00

Hallo Werner_O,

Danke für die schnelle Realisierung.

Skript und Thread wurden in die Skriptsammlung aufgenommen. Das war die gute Nachricht. Die schlechte Nachricht ist, dass ich wegen der Umbenennung der Skriptfunktion ein Veto eingelegt habe.

Für mich ist die Umbenennung an sich kein Problem. Allerdings finde ich den neuen Namen grenzwertig. Da kann der normale Anwender nicht einmal andeutungsweise assoziieren, um was es bei dem Befehl geht.

Deshalb bitte ich bei evt. geplanter Weiterentwicklung des Skriptes um etwas Zurückhaltung, bis das Problem abschließend geklärt ist.

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: 4512
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: Skript CanoRemo.lua

Beitragvon Werner_O » 22.08.2014, 19:05

Hallo msl,

schon mal Danke für die Vorwarnung. Weitere Änderungen zu diesen beiden Skripts sind aber weder in Arbeit noch geplant, sodaß ich in Ruhe abwarten kann, wie sich das hier weiterentwickelt.

Der neue Befehlsname ist zwar sperrig, aber ich kann mir den mit enable remote high precision timer noch einigermaßen merken.

Ich finde eher das Umbennen von eingeführten Lua-Funktionen generell als extrem problematisch:

1) Aus Programmierer-Sicht mußte ich dadurch jetzt nicht nur diese beiden Skripte ändern, sondern mir ist GsD noch eingefallen, daß ich nun auch noch mein Skript AuRiCo CHDK2 ändern muß, woran ich momentan arbeite. Auch diese neue Skriptversion muß ich dabei noch zusätzlich an meinen Kameras testen, was Zeit und Nerven kosten kostet.
EDIT 19:15 Uhr:
Auch mein Skript MF-Mode mußte ich überprüfen, ob es möglicherweise ebenfalls den USB High Speed Modus verwendet, was aber (in diesem Falle GsD!) nicht der Fall ist.
Als Lua-Programmierer kann ich also nur hoffen, möglichst selten von solchen Änderungen zu Lua-Funktionen betroffen zu sein...

2) Aus Anwendersicht funktionieren dann betroffene Skripte, die bisher immer einwandfrei liefen, nach einem CHDK-Update urplötzlich nicht mehr :-(
Nach "Murphys Gesetz" passiert das dann gerne im Urlaub, vor welchem man sicherheitshalber noch ein CHDK-Update durchgeführt hatte. Ist dann etwa sogar ein Internet-Cafe in der Nähe, kann man dann ggfs. sogar nach einer neueren Skriptversion suchen. Auch dann kann man aber nur hoffen, daß überhaupt bereits eine angepasste Skriptversion verfügbar ist. Die Programmierer von Skripten werden ja normalerweise nicht über Änderungen von Lua-Befehlen persönlich informiert...
Auch ein Anwender kann darum nur hoffen, daß eingeführte Lua-Funktionen nachträglich nicht wieder geändert werden und gerne verwendete Skripte auch nach CHDK-Updates weiterhin funktionieren.

Ich lehne darum das nachträgliche Umbenennen bereits eingeführter Lua-Funktionen generell ab!
Ein nachträgliches Ändern der Ergebnisse von Funktionen (etwa von 0/1 zu true/false) ist m.E. ebenfalls tabu!


Ich kann bisher nach meinem bisherigen Wissensstand auch keine Gründe ausmachen, warum bereits eingeführte Lua-Funktionen überhaupt umbenannt werden müssen/sollten - mir fallen einfach keine positiven Argumente dafür ein.

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


Zurück zu Code-Ecke

Wer ist online?

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