[Info] CHDK 1.3 - Änderungen und neue Funktionen

Allgemeine Informationen zum CHDK für Neueinsteiger

Re: CHDK 1.3 - Änderungen und neue Funktionen

Beitragvon msl » 24.08.2014, 10:27

Mit der Revision 3590 wurde eine kleine aber feine Erweiterung der Debug-Möglichkeiten eingeführt. Es können damit die UI-Properties (Eigenschaften der Benutzeroberfläche) ausgelesen werden.

In den Variablen 0x8000 bis 0x8080 werden die Zustände aller Benutzereinstellungen gespeichert, die man über Benutzeroberfläche der Kamera tätigen kann, beispielsweise Einzelbildaufnahme <-> Serienbildaufnahme. Leider geschieht das von Kamera zu Kamera an unterschiedlicher Stelle. Um herauszufinden, welche Variable mit welcher Funktion verknüpft ist, gibt nun in den Debugging-Einstellungen Erweiterungen, die das Auslesen ermöglichen.

CHDK-Menü => Verschiedene Einstellungen => Debugging-Einstellungen

=> Debug-Daten-Anzeige => [UIProps]
Seitenweise Anzeige (10 pro Seite) der Variablen und ihrer Inhalte. Es werden nur die letzten relevanten Stellen der Variablen als Dezimalzahlen gelistet, also 0 - 128. Das entspricht 0x00 - 0x80 in hexadezimaler form.

oder:

=> Debug-Funktionstaste => [CmpUIP]
Vergleichsanzeige. Es werden alle Variablen gelistet, deren Inhalt sich durch die Kamerabedienung seit dem letzten Vergleich verändert haben. Dazu in den ALT-Modus wechseln und die definierte Debug-Taste drücken (bei den meisten Kameras Lösch- oder Display-Taste). Auch hier werden nur die letzten relevanten Stellen der Variablen in dezimaler Form angezeigt.

Welchen Nutzen hat das Auslesen dieser Variablen und deren Inhalt?

Hat man die Zahlen einer interessanten Funktion, z.B. das Umschalten in den Custom-Timer, ermittelt, lässt sich diese Funktion mit zwei Zeilen Code im Skript ausführen. Damit gehört die Methode, eine Funktion per Tastenklick-Simulation aufzurufen, der Vergangenheit an.
■ "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: 4507
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: CHDK 1.3 - Änderungen und neue Funktionen

Beitragvon msl » 30.08.2014, 13:48

Mit großem Aufwand wurde ein wichtiges CHDK-Feature, die erweiterten Verschlusszeiten, nun für alle Kameras einheitlich gestaltet.

Bekanntlich lassen unsere Kameras vom Hersteller her nur Verschlusszeiten bis 15 Sekunden zu. Diese Grenze kann mit CHDK erweitert werden. Bei vielen Kamera war dann bei 64 Sekunden die Grenze erreicht. Andere können bis zu 2 Stunden belichten.

Diese lange Zeit steht nun für alle CHDK-unterstützten Kameras einheitlich zur Verfügung. Es gibt keine Ausnahmen mehr.

Ein großes Dankeschön geht an Nafraf und Koshy aus dem internationalen Forum. Sie haben ca. 30 Kameramodelle überarbeitet und ausführlich getestet.

An dieser Stelle sei noch einmal daran erinnert, dass man die extralangen Belichtungszeiten mit Bedacht einsetzen sollte. Sie belasten den Sensor sehr.
■ "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: 4507
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: CHDK 1.3 - Änderungen und neue Funktionen

Beitragvon msl » 12.10.2014, 10:40

Für Kameras mit Blitzschuh kann dieser nun manipuliert werden. Im Normalfall ist bei Benutzung des Blitzschuhs der interne Blitz deaktiviert. Das ist z.B. bei Benutzung einer Foto/Video-Leuchte ärgerlich. Mit der neuen Menüfunktion Blitzschuh-Ersatz im Menü erweiterte Fotofunktionen besteht die Möglichkeit, die beschriebene Situation zu manipulieren. Folgende Einstellungen sind möglich:

benutzt => Blitzschuh ist in Benutzung.
leer => Blitzschuh wird nicht benutzt.
aus => Blitzschuhfunktion wird nicht manipuliert.

Diese Funktion steht für folgende Kameras zur Verfügung: G7, G10, G12, S5, SX10, SX50

Bei der SX20 klappt die Manipulation noch nicht vollständig. Deshalb wurde diese Funktion für diese Kamera nicht aktiviert.

-------------------------------

Für die Skriptbastler gibt es wieder einen neuen Befehl, der Auskunft gibt, ob man sich im ALT-Modus befindet:

uBASIC => get_alt_mode => 1=Alt-Modus an; 0=Alt-Modus aus
Lua => get_alt_mode() => true=Alt-Modus an; false=Alt-Modus aus

Außerdem wurde der Befehl enter_alt für uBASIC verfügbar gemacht.

--------------------------------

Ich empfehle allen, die es bisher noch nicht getan haben, auf die Version 1.3 zu wechseln. Sie wird demnächst als stabile Version veröffentlicht. In der Version 1.3 wurde ein großer Teil des kameraabhängigen Codes überarbeitet. Damit funktioniert CHDK nun auf vielen Kameras wesentlich stabiler. Aktuelle Skriptentwicklungen bieten viele neue Möglichkeiten, die nur unter CHDK 1.3 verfügbar sind.
■ "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: 4507
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: CHDK 1.3 - Änderungen und neue Funktionen

Beitragvon msl » 25.10.2014, 18:54

Es gibt ein paar Veränderungen, die die Farbtabellen betreffen. In erster Linie sollen die Farben trotz der vielen unterschiedlichen Kameras einheitlicher für die CHDK-Nutzung erscheinen.

Zur Überprüfung der in CHDK verwendeten Farben gibt es einen neuen Menüpunkt, mit dem man sich die verwendeten Farben in drei verschiedenen Übersichten (Systemfarben, Histogramm-Farben, Icon/Skript-Farben) anzeigen lassen kann. Weichen hier die verwendeten Farben deutlich von der Bezeichnung ab, sollte man sich mal im Forum für weitere Schritte melden.

CHDK-Einstellungen => CHDK-OSD-Farben => CHDK-Farbtest

Außerdem wurden ein paar Vorgabefarben für das Menü verändert. Das wird aber nur sichtbar, wenn man CHDK komplett neu einrichtet oder die Konfigurationsdatei OSD__4.cfg löscht.
■ "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: 4507
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: CHDK 1.3 - Änderungen und neue Funktionen

Beitragvon msl » 26.10.2014, 12:50

Die Anpassung der in CHDK verwendeten Farben geht weiter.

Prinzipiell lassen sich alle CHDK-Elemente farblich anpassen. Dazu gibt es ein sehr umfangreiches Einstellungsmenü:

CHDK-Einstellungen => CHDK-OSD-Farben

Wenn man aber nach vielem Probieren doch lieber wieder zu den vorgegebenen Farben zurückkehren möchte, blieb bisher als einziger Weg das Löschen der Konfigurationsdatei osd__4.cfg. Damit verliert man aber auch alle anderen OSD-Einstellungen wie z.B. Positionen von CHDK-OSD-Elementen, die man sich mühsam per Layout-Editor eingestellt. Jetzt gibt es eine Lösung via Menü:

CHDK-Einstellungen => CHDK-OSD-Farben => Zurücksetzen aller Farben

Nach Aufruf erfolgt noch eine Sicherheitsabfrage. Wird diese bestätigt, werden alle Farbeinstellungen auf die Vorgabewerte zurückgesetzt.

---------------------------

Bei neueren Kameras (ab DIGIC4-Prozessor) stehen nur wenige oder keine halbtransparente Farben zur Verfügung, die man für eine einheitliche Verwendung unter CHDK nutzen kann. Eine halbtransparente Farbe ist als Hintergrundfarbe recht nützlich.

Über eine Benutzer-Farbtabelle lassen sich Farben nachrüsten. So wird zukünftig versucht, für alle betroffenen Kameras ein einheitliches halbtransparentes Grau hinzuzufügen.
■ "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: 4507
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: CHDK 1.3 - Änderungen und neue Funktionen

Beitragvon msl » 09.12.2014, 14:18

Der Skriptbefehl enable_remote_hp_timer() wurde noch einmal umbenannt und heißt jetzt set_remote_timing(). Die alte Bezeichnung kann vorläufig parallel noch verwendet werden, sollte aber möglichst zeitnah in verwendeten Skripten geändert werden.

Die Funktionsbeschreibung ist hier nachzulesen: viewtopic.php?f=13&t=3174#p29425


Die Version 1.3 wird in den nächsten Tagen als stabile Version (Release) veröffentlicht. Zeitgleich beginnt die Weiterentwicklung von CHDK in der Version 1.4.
■ "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: 4507
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: CHDK 1.3 - Änderungen und neue Funktionen

Beitragvon Werner_O » 12.12.2014, 01:04

Hallo zusammen,

zunächst mal Danke an msl für diese Info.

Die alte Bezeichnung kann vorläufig parallel noch verwendet werden, sollte aber möglichst zeitnah in verwendeten Skripten geändert werden.

Da hier im Forum m.W. bisher nur ich die genannten Befehle in einigen meiner Skripte verwende ist diese Botschaft vermutlich speziell an mich gerichtet. Mein Skript USB Remote habe ich eben als erstes meiner betroffenen Skripte auch entsprechend upgedated und muß anschließend ehrlich gesagt sagen, daß die erfolgte neue Umbenennung des Befehls die Verwendung desselben erheblich kompliziert hat :(

EDIT 13.12.2014:
Zur möglichen Aktivierung des USB-High-Speed-Mode muß man nun in einem Skript nämlich etliche Fallunterscheidungen machen, was bei einem erkannten CHDK 1.3 zu drei vier verschiedenen Zuständen führen kann, siehe die nachfolgende Tabelle:

Bild
(Neues Bild vom 13.12.2014)

Insofern möchte ich mich recht herzlich bei denen bedanken, die den Befehl enable_remote_hp_timer() nochmals umbenannt haben in nun set_remote_timing() =D>
Jetzt blickt kaum noch jemand mehr durch, und ohne das nötige Wissen zur Abfrage der verwendeten CHDK-Version und -Versionsnummer kann der USB-High-Speed-Mode nun gar nicht mehr in Skripten verwendet werden :(
Skript-Neulinge sind nun auch völlig ausgeschlossen.

Sorry, aber ich sage wie immer meine ehrliche Meinung
Werner_O
Zuletzt geändert von Werner_O am 13.12.2014, 14:01, insgesamt 2-mal geändert.
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1011
Registriert: 22.10.2010, 14:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: CHDK 1.3 - Änderungen und neue Funktionen

Beitragvon msl » 12.12.2014, 14:06

Hallo,

sicherlich ist die nachträgliche (mehrfache) Umbenennung nicht optimal. Man muss aber nicht mehr daraus machen, als es ist. ;)

Es bedarf keiner großartigen Versionsunterscheidung. Man braucht nur zu überprüfen, ob der jeweilige Befehl vorhanden ist. Wenn nicht, wird auf ein CHDK-Update verwiesen. Und das dauert keine 3 Minuten.
Code: Alles auswählen
if type(set_remote_timing) ~= "function" then print("CHDK-Update notwendig") end
Oder wie gehabt die Überprüfung der Revision.

Im Übrigen sind ja alter und neuer Befehl z.Z. parallel verfügbar. Insofern ist die tabellarische Übersicht nicht ganz korrekt.

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

Re: CHDK 1.3 - Änderungen und neue Funktionen

Beitragvon Werner_O » 12.12.2014, 21:33

Hallo msl,

bezüglich CHDK-Skript-Programmierung haben wir anscheinend unterschiedliche Ansichten.
Ich selber bemühe mich da immer um eine größtmögliche Abwärtskompatibilität bei meinen Skripten, sodaß meine Skripte falls möglich auch problemlos mit älteren CHDK-Versionen funktionieren.
Die Installation einer neueren CHDK-Version seitens eines Skript-Users sollte erst dann erforderlich sein, wenn es wirklich unumgänglich ist!

Bei dieser erneuten willkürlichen Änderung der Bezeichnung dieses Befehles brauchen Skript-User mit installiertem CHDK 1.3 ab v3585 v3442 aber keine neue CHDK-Version, um den "USB high precision timer" weiterhin nutzen zu können. Das bin ich den Usern meiner Skripte aus eigenem Anspruch schuldig.

Die in meiner Tabelle als Grenzwert angegebene tagesaktuelle Version 1.3 v3791 ist selbstverständlich zunächst mal rein hypothetisch zu betrachten, aber der Support für den Befehl "enable_remote_hp_timer()" läuft laut Deinen Angaben ja irgendwann aus. Du hast die CHDK-Programmierer ja auch ausdrücklich darum gebeten, ihre Programme möglichst zeitnah anzupassen.
Rein pragmatisch als Programmierer gesehen macht Version 1.3 v3791 aber durchaus als Grenzwert Sinn, weil bei dieser Version garantiert noch beide Befehle funktionieren. Ich kann ja momentan nicht abschätzen, ab wann der CHDK 1.3 Support für den Befehl "enable_remote_hp_timer" ausläuft.

EDIT 13.12.2014:
Ansonsten habe ich inzwischen ein "Rumpf-Lua-Skript" geschrieben, welches als Vorlage für andere Lua-Programmierer dienen soll, die den "USB high precision timer" verwenden möchten.
In den Zeilen 31 und 32 37 und 38 fragt das Skript dabei zunächst die CHDK-Versionsnummer und CHDK-Revisionsnummer ab. Ausgehend von den Ergebnissen wird dann bei erkanntem CHDK 1.3 v3585 bis v3790 der Befehl "enable_remote_hp_timer()" und ab CHDK 1.3 v3791 stattdessen des Befehl "set_remote_timing()" ausgeführt.
< EDIT: Bei einem erkannten CHDK 1.3 v3442 bis v3584 der stattdessen der ursprüngliche Befehl "enable_highspeed_usb()" verwendet. Der USB High Speed Modus wird so bereits ab CHDK 1.3 v3442 statt bisher v3585 verfügbar. >
Die mit integrierte Unterfunktion "restore()" sorgt dabei für das Beenden des "USB high precision timer" bei Skriptende bzw. Skriptabbruch via Taste SHOOT.
Umfangreiche eingefügte Kommentare sollten zudem das Verständnis für dieses Skript erleichtern.

Hier der Code (alternativ auch im Anhang verfügbar):
< EDIT: Nun in der neuen Version 1.01 >
Code: Alles auswählen
--[[
*********************************************
Lua-Skriptvorlage für die korrekte Verwendung
des "USB High Speed Mode" ab einer
erkannten CHDK-Version >= 1.3 v3442
Version: 1.01
Author: Werner_O
Thx msl
*********************************************
@title USB High Speed Mode
@param   t USB Time Limit (100ms)
@default t 5
@range   t 1 15
]]

usb_time_limit = t * 10      --Nötiger Wert, falls kein "USB High Speed Modus" aktivierbar ist (10 entspricht 100ms)
high_speed_mode_1 = 0        --Vordefinition
high_speed_mode_2 = false    --Vordefinition
high_speed_mode_3 = false    --Vordefinition

--Unterfunktion Restore, verwendet in Programmzeile 63 bei Skriptende oder automatisch bei Skriptabbruch mit Taste SHOOT.
--Deaktiviert den "USB High Speed Modus" wieder:
function restore()
    if high_speed_mode_1 > 0 then                      --Wahr bei verwendetem Befehl "enable_highspeed_usb()"
        high_speed_mode_1 = enable_highspeed_usb(0)    --Deaktiviert den "USB high precision timer" mit dem 1. Befehl
        print("High speed mode disabled")
    elseif high_speed_mode_2 == true then              --Wahr bei verwendetem Befehl "enable_remote_hp_timer()"
        high_speed_mode_2 = enable_remote_hp_timer(0)  --Deaktiviert den "USB high precision timer" mit dem 2. Befehl
        print("High speed mode disabled")   
   elseif high_speed_mode_3 == true then              --Wahr bei verwendetem Befehl "set_remote_timing()"
       high_speed_mode_3 = set_remote_timing(0)       --Deaktiviert den "USB high precision timer" mit dem 3. Befehl
      print("High speed mode disabled")
    end
end

--Frage die CHDK-Version und CHDK-Revisionsnummer ab:
chdk_version = tonumber(string.sub(string.gsub(get_buildinfo().build_number, "%p", ""), 1, 3))  --Ermittele die CHDK-Version
chdk_build = tonumber(get_buildinfo().build_revision)                                   --Ermittele die CHDK-Revisionsnummer

--Aktiviere den USB High Speed Modus ab CHDK 1.3 v3442:
if ((chdk_version < 130) or ((chdk_version < 140) and (chdk_build < 3442))) then        --Wahr bei CHDK kleiner als 1.3 v3442
    print("High speed mode n/a")                       --Der "USB high precision timer" ist nicht verfügbar
elseif ((chdk_version < 140) and (chdk_build >= 3442) and (chdk_build < 3585)) then     --Wahr bei CHDK 1.3 von v3442 bis v3584
    high_speed_mode_1 = enable_highspeed_usb(1000)     --Aktiviert den "USB high precision timer" mit dem 1. Befehl
    usb_time_limit = t * 100                           --Ändert den Wert für "USB Time Limit" in ms (100 entspricht 100ms)
   print("High speed mode enabled")
elseif ((chdk_version < 140) and (chdk_build >= 3585) and (chdk_build < 3791)) then     --Wahr bei CHDK 1.3 von v3585 bis v3790
    high_speed_mode_2 = enable_remote_hp_timer(1000)   --Aktiviert den "USB high precision timer" mit dem 2. Befehl
    usb_time_limit = t * 100                           --Ändert den Wert für "USB Time Limit" in ms (100 entspricht 100ms)
   print("High speed mode enabled")
elseif (((chdk_version < 140) and (chdk_build >= 3791)) or (chdk_version >= 140)) then  --Wahr ab CHDK 1.3 v3791 oder CHDK 1.4
    high_speed_mode_3 = set_remote_timing(1000)        --Aktiviert den "USB high precision timer" mit dem 3. Befehl
    usb_time_limit = t * 100                           --Ändert den Wert für "USB Time Limit" in ms (100 entspricht 100ms)
   print("High speed mode enabled")
end

--Start des eigentliches Lua-Skriptes mit den gewünschten Befehlen:
--..............
--..............
--..............

--Aufruf der Unterfunktion restore() bei Skriptende, welche den "USB High Speed Modus" wieder beendet:
restore()

Zusätzlicher Hinweis:
Zeile 31 37 (ermittele chdk_version) ist für Lua-Anfänger kaum zu verstehen, da sie aus vier ineinander verschachtelten Lua-Befehlen besteht. Als Resultat für "chdk_version" kommen dabei die Zahlen 120, 130 oder 140 heraus, abhängig von der verwendeten CHDK-Version (1.2, 1.3 oder 1.4). Näheres dazu auf Anfrage.

Mein Fazit:
Das erneute Umbennen des Befehls für den "USB high precision timer" war m.E. völlig unnötig und macht das Verwenden dieses Befehles für Lua-Programmierer unnötig kompliziert (ganz zu schweigen von den uBasic-Programmierern, die nun vollends die A....-Karte haben).
Als Lua-Programmierer hat man aber immerhin durch geschickte Programmierung die Möglichkeit, eigene Skripte mit dieser Funktion zu erstellen, welche beim Enduser nicht zwingend eine Aktualisierung von CHDK auf die aktuell neueste Version erfordern.
< EDIT: Diese Funktion steht ja bereits ab CHDK 1.3 v3442 zur Verfügung. >

Liebe Grüße
Werner_O
Dateianhänge
Hi_Speed.lua
Hi_Speed.lua Version 1.01
(3.62 KiB) 78-mal heruntergeladen
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1011
Registriert: 22.10.2010, 14:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: CHDK 1.3 - Änderungen und neue Funktionen

Beitragvon Werner_O » 17.12.2014, 22:27

Hallo zusammen,

msl hat zwischenzeitlich eine Alternative für mein Skript USB High Speed Mode v1.01 geschrieben.
Seine Skriptvariante ist dabei wesentlich eleganter programmiert und braucht auch deutlich weniger Lua-Skriptzeilen:

Code: Alles auswählen
--[[
***********
Author: msl
***********
@title USB High Speed Mode
@param   t USB Time Limit (100ms)
@default t 5
@range   t 1 15
]]

function restore()
    if high_speed then
        if type(set_remote_timing) == "function" then set_remote_timing(0) end
        if type(enable_remote_hp_timer) == "function" then enable_remote_hp_timer(0) end
        if type(enable_highspeed_usb) == "function" then enable_highspeed_usb(0) end
        print("High speed mode disabled")
    end
end

high_speed = false
if type(set_remote_timing) == "function" then high_speed = set_remote_timing(1000)
elseif type(enable_remote_hp_timer) == "function" then high_speed = enable_remote_hp_timer(1000)
elseif type(enable_highspeed_usb) == "function" then enable_highspeed_usb(1000) high_speed = true
end
if high_speed then print("High speed mode enabled") else print("High speed mode n/a") end
usb_time_limit = high_speed and t * 100 or t *10

--Starte Hauptskript:
--.......
--.......

restore()

--Skriptende

--[[
mit type(<Variable>) überprüft man die Art der Variable. Ein Funktionsname ist auch nur eine Variable,
der eine Variable zugeordnet wurde.

high_speed wird als 'nicht wahr' definiert. Wenn die Funktion 'set_remote_timing' existiert,
wird sie ausgeführt und high_speed wird 'wahr'. Ist 'set_remote_timing' nicht verfügbar,
erfolgt die gleiche Prozedur mit 'enable_remote_hp_timer' und 'enable_highspeed_usb'.
Sind auch diese Funktionen nicht verfügbar, bleibt high_speed 'nicht wahr'.
Je nach Zustand von high_speed wird eine Textmeldung ausgegeben.
Ist high_speed 'wahr' erhält usb_time_limit den Wert t*100, ansonsten t*10. Diese Konstrukt stellt
eine verkürte If-Anweisung dar. Man könnte auch schreiben:
if high_speed == true then usb_time_limit = t*100 else usb_time_limit = t*10 end

In restore() wird, wenn high_speed 'wahr' ist, nur überprüft ob die jeweilige Funktion verfügbar ist.
Wenn ja, wird sie deaktiviert. Dabei spielt es keine Rolle, ob sie zuvor aktiviert war oder nicht.
]]

Diese deutlich kürzere Skriptvariante bei gleichem Ergebnis möchte ich anderen Usern hier nicht vorenthalten.
Zudem habe ich so einiges von msl bzgl. Lua dazugelernt (siehe die eingefügten Kommentare von msl), wofür ich mich ausdrücklich bedanken möchte.

Liebe Grüße
Werner_O
Dateianhänge
func_chk.lua
Skript func_chk.lua als Ersatz für
mein Skript Hi_Speed.lua
(1.99 KiB) 65-mal heruntergeladen
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1011
Registriert: 22.10.2010, 14:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: CHDK 1.3 - Änderungen und neue Funktionen

Beitragvon msl » 18.12.2014, 18:56

Hallo,

im Augenblick laufen die Umstellungsarbeiten für das Release 1.3.

Im Release bleibt übrigens die Doppelfunktion set_remote_timing/enable_remote_hp_timer bestehen. Für die neue Vorschauversion wurde enable_remote_hp_timer bereits entfernt (Revision 3808).

Ich habe gestern ein Backup (Version 1.2 Revision 3770 und Version 1.3 Revision 3805) eingerichtet: https://chdkde.box.com/shared/kj6qz4rbio (unter Backup)

rudi nutzt die Gelegenheit, den GCC-Compiler auf den neuesten Stand zu bringen, damit wir für zukünftige Aufgaben, z.B. DIGIC6, gewappnet sind. Ein dickes Dankeschön dafür.

Wir hoffen, dass dann kurzfristig wieder alles wie gewohnt angeboten werden kann.

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

Re: CHDK 1.3 - Änderungen und neue Funktionen

Beitragvon msl » 19.12.2014, 00:55

Die Umstellungen sind abgeschlossen,

Bild

CHDK-Version 1.3 ist nun stabile Version. Die hier erhältliche Version wird mit GCC Version 4.7.0 erzeugt. Die neue Vorschauversion 1.4 gibt es hier im Forum unter Verwendung von GCC Version 4.8.3.

Für die neue CHDK-Version 1.4 sind viele neue und verbesserte Funktionen zu erwarten, die CHDK noch einmal deutlich verbessern werden.
■ "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: 4507
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Vorherige

Zurück zu Grundwissen CHDK

Wer ist online?

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