Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Kamera-Hardware, Selbstbaufernbedienung und sonstige Hardware-Erweiterungen

Re: Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Beitragvon Karmaschinken » 09.02.2011, 19:30

Hmmm, so richtig schlau werde ich aus require/dofile/loadfile nicht....

Ich habe jetzt ein Script mit einer einzigen Funktion, die ich aus einem anderen Skript heraus starten möchte. Ich setze also im startenden Skript an der Position, an der der Code aus der anderen Datei ausgeführt werden soll das reqire("blabla.lua").

Wenn ich nun mein Hauptskript starte, läuft der Code bis zur "require"-Stelle ab. Dann kommt folgender Fehler: "attempt to yield across metamethod/C-call boundary". Und das, was ich dazu im Netz bringt mich auch nicht weiter, weil es da wohl um LUA-Aufrufe aus C heraus geht...

Ãœberhaupt verstehe ich nicht, wie ich denn nun einzelne Funktionen aus einem Skript heraus aufrufe?
50 Stück SX 200 IS
Karmaschinken
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 114
Registriert: 13.08.2010, 09:24
Wohnort: Woltersdorf
Kamera(s): 50 Stck. SX200IS

Re: Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Beitragvon CHDKLover » 09.02.2011, 19:53

Hallo Karmaschinken,
require("<Lua-Skript ohne Endung>") fungiert wie ein #include in C. Damit lassen sich ein Sack voll Funktionen hinzuladen.
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
--util.lua
function bla(a)
    return a+2;
end
Erstellt in 0.005 Sekunden, mit GeSHi 1.0.8.9


Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
--main.lua
require("util")
print(bla(5))
Erstellt in 0.004 Sekunden, mit GeSHi 1.0.8.9


Die LUA-Datei, die du mit require() einbinden willst muss sich entweder im Verzeichnis "CHDK\LUALIB" oder "CHDK\SCRIPTS" befinden!

Mit dofile() führst du ein komplettes Skript bis zu dessen Beendigung zwischenzeitlich aus.

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

Re: Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Beitragvon Karmaschinken » 09.02.2011, 20:36

Jau, habs! Danke! Ich habe zwar nicht genau verstanden, warum es jetzt geht, aber das finde ich noch raus...

Meine Routine zum setzen der Brennweite kann ich nun aufrufen, aber nun stehe ich wieder da: Ich wollte in mein Hauptskript dasjenige zum Lesen/Schreiben der CHDK-Konfiguration einbauen, msl hatte mir den Link gepostet.

Wenn ich nun einfach dofile("conf_rw.lua") am Ende meines eigenen Scripts einfüge, schaltet sich die Kamera an dieser Stelle einfach aus!?!????

Gibt es da eine Erklärung für?
50 Stück SX 200 IS
Karmaschinken
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 114
Registriert: 13.08.2010, 09:24
Wohnort: Woltersdorf
Kamera(s): 50 Stck. SX200IS

Re: Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Beitragvon msl » 09.02.2011, 21:48

Erklären kann ich es nicht, aber vielleicht ein paar Hinweise geben.

Teste dofile() erst mal mit einem einfachen "Blabla"-Skript, um zu sehen, ob dofile funktioniert. Möglicherweise versteht sich dein Skript auch nicht mit conf_rw.lua.

Eine weitere Variante wäre, das gesamte Skript conf_rw.lua in eine Funktion zu stecken und dann entweder direkt in dein Skript oder per require wie beschrieben einzubinden.

Ich würde das Skript aber überhaupt nicht einbinden. Meiner Meinung nach ist es schon wegen der Menü-Führung schwierig zu integrieren. Man kann es vorab laufen lassen. Die Einstellungen bleiben doch bestehen. Und wenn überhaupt würde ich nur die Funktion zum Schreiben der Daten in die CHDK-Konfiguration in dein Skript einbauen. Der andere Teil zum Schreiben in eine Datei und das Menü sind überflüssig. Natürlich müsste die Funktion etwas angepasst werden.

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: Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Beitragvon Karmaschinken » 09.02.2011, 23:14

Aus eben diesem Grunde habe ich es auch jetzt nicht gemacht, stattdessen habe ich die Werte für mein Skript parametrisiert und setze sie direkt mit set_config_value. Die "Sichern-Funktionen" hatte ich schon deaktiviert. Jetzt setzt mein Script die Kamera erst auf Werkseinstellungen zurück, stellt dann mit den click-Befehlen die Kamera auf anzupassende Werte ein (Review-Time, MF, Weißabgleich und so) und mit den Parametern meines Skript werden dann die Overrides eingestellt. Dazu kann ich noch die 10 in CHDK vorgesehenen Parametersets benutzen. In den Parametern gibt man nun auch die Fokusdistanz in cm an. Die Kamera stellt sich damit jetzt vollkommen vollautomatisch ein. Nur das Ausrichten muss noch per Hand gemacht werden :-D

Das einzige, was ich irgendwann noch programmieren muss, ist, dass man "echte" Werte in den Parametern definieren kann, bis jetzt basiert das noch auf den Indizes, d.h. man muss in einer Tabelle nachgucken, welchen Index welcher Wert hat, also beispielsweise 1/160tel = 55 usw. Aber das fällt unter MachMichSchön, und außerdem bin ich alleiniger Operator des ganzen Systems.

Damit ist die Programmierung erstmal abgeschlossen. Jetzt kommt noch die Einbindung von fünf Eye-Fi-Karten (als Preview) und dann das automatische Generieren und Deshaken der Filme. Dazu müssen erstmal die Fotos sortiert und gruppiert werden. Bin mal gespannt, wie sich das angehen lässt....

Ich muss an dieser Stelle auch mal sagen, dass das, was da in CHDK steckt, wirklich unglaublich viel Hirnschmalz sein muss. Ich bin ja auch Programmierer, ich komme noch vom ollen MFC und so. Auf jeden Fall ist CHDK echt der Hammer! SO, SO, und NUR SO müssten die Betriebssysteme der Kameras sein! Was wäre das GEIL, wenn ich das in meiner 5D2 installieren könnte... Die Entscheidung, die SX200IS für das Array zu benutzen, ist auch ein bisschen auf CHDK zurückzuführen.

Hoffentlich ist jetzt die Qualität der Kameras ausreichend. Zumindest die Auflösung liegt ja über HDTV, mal sehen, wie es mit der Bildwirkung und der Dynamik ist. Bis jetzt habe ich ja nur diesen kleinen 9-Framer zustande gebracht. Jetzt wird es ein 50-Framer, der sich vielleicht noch auf doppelte Länge strecken lässt. Da lässt sich dann erst die Qualität wirklich beurteilen. Mal sehen...

Nochmals ganz vielen herzlich Dank an Euch! Ich werde versuchen, noch ein Spendengeld einzutreiben...
50 Stück SX 200 IS
Karmaschinken
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 114
Registriert: 13.08.2010, 09:24
Wohnort: Woltersdorf
Kamera(s): 50 Stck. SX200IS

Re: Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Beitragvon CHDKLover » 10.02.2011, 09:57

Hallo Karmaschinken,
schön dass es jetzt funktioniert!
Als Zusatz könnte man auch Versuchen einen kleinen 3D Film zu erstellen. Dazu müssten die Kameras nur sehr eng nebeneinander montiert werden (möglicherweise sogar hochkant). Damit könntest du bei n Kameras einen n-1 Frame Film in 3D erzeugen. Nur leider verringert sich entweder der Drehwinkel erheblich oder man müsste den Radius der Kamerahalterungsschiene verringern und sich somit auf größenmäßig kleine Motive beschränken. Ich weiß auch nicht in wie weit die Kameras parralel ausgerichtet werden müssten.

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

Re: Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Beitragvon Belichter » 10.02.2011, 23:18

Hallo Karmaschinken,
ich habe hier interessiert mitgelesen.
Karmaschinken hat geschrieben:Achso, noch etwas: Hat von Euch jemand eine Idee, wie man auf den Kameras sekundengenau die Uhrzeit gleich einstellen kann?

Karmaschinken hat geschrieben:Dazu müssen erstmal die Fotos sortiert und gruppiert werden. Bin mal gespannt, wie sich das angehen lässt....


Die "Verwaltungsarbeit" würde mich auch mal interessieren.
Zur Uhrzeit:
Du könntest einfach vor der Session eine Uhr mit dem Array fotografieren.
Die später auf diesem Bild von der Uhr abgelesene Uhrzeit in einem Batch auf dem PC mit der Zeit aus den EXIF-Daten verrechnen,
dass gibt Dir für jede Kamera die individuelle Zeitabweichung.
Dann damit systematisch die Exif-Dateien anpassen.
Man braucht also für alle Bilder aller Kameras nur einmal die fotografierte Uhr ablesen, find ich jetzt akzeptabel.

bis dann
IXUS 970 IS 100b
Belichter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 170
Bilder: 11
Registriert: 21.05.2009, 09:21
Wohnort: Solingen
Kamera(s): ixus 970 IS 100b

Re: Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Beitragvon Karmaschinken » 11.02.2011, 00:04

Das nenne ich ja mal schlau! Coole Idee! Wenn es an die Feinheiten geht, werde ich mich Deiner Idee erinnern! Vielen Dank! Und auch die 3D-Geschichte hört sich SEHR interessant an. Bei der SX200IS braucht man wohl nur jeweils eine eines Paares um 180 Grad zu drehen, dann dürften die Objektive ungefähr Augenabstand haben. Hmhmhm! Das verkürzt die Filmzeit natürlich wiederum um die Hälfte, bei 50 Kameras fällt dann gerade mal eine Sekunde Zeit ab... Aber "frozen time" UND 3D, das wäre natürlich echt elefantös!

Zur Verwaltungsarbeit: Ich denke schon, dass sich die Fotos schon jetzt anhand der Uhrzeit gruppieren lassen. Die maximale Differenz zwischen den Kameras beträgt zur Zeit etwa 5 Sekunden, genauer habe ich es per Hand nicht hingekriegt. Das wird aber schon gehen. Da das Array sowieso ein bisschen braucht, bis es nach einem Foto wieder einsatzbereit ist (2-3 Sekunden), denke ich, dass zwischen den Shots grundsätzlich genügend Zeit bleibt. Und wenn es keine Aussetzer in der Abfolge gibt, kann man die Fotos ja einfach der Reihe nach abarbeiten.

Jedenfalls habe ich vorhin tatsächlich das erste Mal eine Vollzündung aller Kameras erreicht! Uffuffuff! Scheint alles primstens zu funzen. Allerdings habe ich eine schreckliche Entdeckung gemacht, die mir vorher an meinem Mini-Probearray nicht aufgefallen war und die imho gar nicht vorhanden sein dürfte, und zwar:

Ich habe gemäß msls Hinweis natürlich sämtliche Stromsparfunktionen abgeschaltet, also in CHDK "Power Options - Disable Display off" auf "Always". Und im Canon Menü habe ich es auf die längste Zeit, 3 Minuten eingestellt, man kann es dort gar nicht vollständig ausschalten. Ich hatte nun vermutet, dass durch CHDK das Abschalten des Display vollständig unterbunden würde. Aber das ist nicht so! :shock: :shock: :shock:

Es wäre ja nicht so schlimm, wenn nicht gleichzeitig mit dem Abschalten es Displays der MF-Modus abgeschaltet würde. Wenn man also drei Minuten keinen Auslöser tätigt, wird der manuelle Fokus ab- und der Autofokus angeschaltet. Damit funktioniert dann aber das Override des MF auch nicht mehr, dh., einige der Kameras fokussieren vermutlich irgendwo ins Nirwana, wenn nicht gerade das Hauptmotiv im Zentrum ist. Das geht natürlich gar nicht. Gibt es hier bitte, bitte, bitte eine Lösung für? Schwitz! Es wäre zwar kein Schlagmichtot für das Array, aber schon ein ziemlicher Knackpunkt! Wäre cool, wenn Euch dazu was einfiele!?!

Nun gut, hier erstmal wieder was fürs Auge (die Videos sind erst um ca. 03:00 Uhr von Vimeo konvertiert):

Initialisieren des Arrays
Auslösen des Array

Beste Grüße an Euch!
50 Stück SX 200 IS
Karmaschinken
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 114
Registriert: 13.08.2010, 09:24
Wohnort: Woltersdorf
Kamera(s): 50 Stck. SX200IS

Re: Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Beitragvon CHDKLover » 11.02.2011, 01:10

Hallo Karmaschinken,
leider sind die Videos noch nicht konvertiert. Du kannst diese auch direkt im Forum einbetten:
Code: Alles auswählen
[BBvideo 425,350]http://vimeo.com/19809111[/BBvideo]


Zu der Stromsparfunktion:
Ich hab es gerade nochmal bei mir getestet. Die Option "Verschiedenen Einstellungen" -> "Stromsparmodus aus" steht auf "Always" und meine Kamera hält schon 10min durch. Möglicherweise wird von der Kamera, nach dem laden der CHDK-Config, intern die Funktion SetAutoShutdownTime aufgerufen, die dafür sorgt, dass die CHDK-Einstellung wieder überschrieben wird.
Es könnte helfen folgende Zeile an den Anfang deines Remoteskriptes zu schreiben:
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
set_config_value(67,3) --"Stromsparmodus aus" auf "Always"
Erstellt in 0.004 Sekunden, mit GeSHi 1.0.8.9

Dies führt dazu, dass die Kamera zum Ausführungszeitpunkt des Skriptes die Einstellung noch einmal anwendet und hoffentlich auch beibehält.
Die Funktionspointer des CHDK's für LockMainPower und UnlockMainPower stimmen.

Ich hoffe es Hilft dir weiter, CHDKLover
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Re: Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Beitragvon Karmaschinken » 11.02.2011, 02:03

Hmmm.... Funzt hier leider nicht!? Im CHDK-Manual heißt es:

Disable LCD OffEdit
[ No, Script, Alt ]

No: LCD disabled, Script: LCD on during script execution, Alt: LCD on
<ALT> mode. For long intervals you should disable the Power Saving options of the camera. This can be done in the <ALT> menu. In the Miscellaneous Stuff menu item set the Disable LCD Off value to Script, so the display won't turn off while in <ALT> mode or while a script is running.

In meinem CHDK gibt es noch eine Option, die im Manual gar nicht erwähnt ist: "Always", das dürfte der von Dir mit set_config_value geschriebene Wert "3" sein, nicht? "Always" habe ich eingestellt. Auch Dein Script verändert nichts, das Display schaltet sich nach wie vor nach 3 Min aus und beim Aufwecken der Cam ist der MF flöten gegangen. Was kann das sein?

Wenn die Cam im <ALT>-Mode ist, oder besser im OSD-Menü ist, schaltet sie sich anscheinend nicht ab. Meine Kameras befinden sich, wenn sie in Bereitschaft sind, aber nicht im <ALT> Modus und auch nicht im Skript-Modus... Aber bei Dir ist es tatsächlich so, dass die Kamera an bleibt, auch ohne <ALT>?
Dateianhänge
P1050159.JPG
50 Stück SX 200 IS
Karmaschinken
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 114
Registriert: 13.08.2010, 09:24
Wohnort: Woltersdorf
Kamera(s): 50 Stck. SX200IS

Re: Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Beitragvon CHDKLover » 11.02.2011, 02:21

Hallo Karmaschinken,
ich habe gerade gesehen, dass du die Einstellung für "Display off" im Canon Menü in deinem Skript auf 3 min. stellst. Ich denke damit überschreibst du dir den im CHDK eingestellten Wert. Oder funktioniert es auch nicht, wenn du das Skript nicht startest und nur die Kamera einschaltest?

Die Videos finde ich sehr beeindruckend. Ich habe noch nie so viele Kameras mit CHDK auf einmal gesehen. Auch die gleichzeitige Auslösung der 50 Kameras scheint gut zu funktionieren. Klasse Arbeit!

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

Re: Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Beitragvon Karmaschinken » 11.02.2011, 02:47

Ich habe es jetzt nochmal ausprobiert, jetzt gerade hält die Kamera schon mehrere Minuten durch. Komisch, wieso geht es jetzt plötzlich? Muss ich noch mehr probieren...

Noch besser jedenfalls, als dass man das Ausschalten verhindern könnte, wäre, dass sich zwar das Display ausschaltet, aber nach dem Wiedereinschalten der manuelle Fokus nicht verloren gegangen ist. Denn dann könnte sich der Sensor abkühlen....

-- 11.02.2011, 02:52 --

Ja, ist schon ein krasses Setup, das Ding... Wenn der "Frozen"-Effekt steht, werde ich mich auch noch ans SlowMotion machen, also die Kaeras ganz leicht zeitversetzt auslösen...

CHDKLover hat geschrieben:Hallo Karmaschinken,
ich habe gerade gesehen, dass du die Einstellung für "Display off" im Canon Menü in deinem Skript auf 3 min. stellst. Ich denke damit überschreibst du dir den im CHDK eingestellten Wert.


Aber welche Einstellung soll ich im Canon Menü vornehmen? Es gibt da ja kein "never"... Aber ich probiere es mal aus. denn es sieht tartsächlich so aus, als würde sich die Kamera nur nach neuem Anschalten und nachfolgendem Skript von selber ausschalten. Wenn ich danach hingegen nochmal ins "Misc"-Menü gehe und dann da aus "Always" stelle, bleibst sie wohl tatsächlich an... Aber jetzt bin ich etwas zu müde, um es noch wirklich zu durchschauen. Vielen herzlichen Dank einstweilen nochmal...
50 Stück SX 200 IS
Karmaschinken
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 114
Registriert: 13.08.2010, 09:24
Wohnort: Woltersdorf
Kamera(s): 50 Stck. SX200IS

Re: Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Beitragvon CHDKLover » 11.02.2011, 02:58

Karmaschinken hat geschrieben:Noch besser jedenfalls, als dass man das Ausschalten verhindern könnte, wäre, dass sich zwar das Display ausschaltet, aber nach dem Wiedereinschalten der manuelle Fokus nicht verloren gegangen ist. Denn dann könnte sich der Sensor abkühlen....

Da hast du recht, nur leider liegt das Verhalten nicht in der Hand des CHDK's. Die Conon-Firmware schaltet mit dem Display auch den manuellen Fokus ab. Nur leider reaktiviert sie ihn nicht, wenn das Display wieder an geht. Diesen "bug" kann das CHDK zur Zeit leider nicht entgegenwirken, außer man schaltet ganz bewusst im Skript das Display und damit den manuellen Fokus ab und reaktiviert ihn bei einem Ereignis wieder.

Karmaschinken hat geschrieben:Aber welche Einstellung soll ich im Canon Menü vornehmen? Es gibt da ja kein "never"...

Ich würde da nichts einstellen. Einfach auf der Standardeinstellung belassen. Beim Starten des CHDK's wird wird die Einstellung einfach überschrieben und ist somit außer Kraft gesetzt. Nur wenn du dort irgendwas anderes nachträglich einstellst übernimmt die Kamera die neue Einstellung.

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

Re: Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Beitragvon Karmaschinken » 11.02.2011, 03:07

Ja, so ist es tatsächlich... Wenn ich mein Skript laufen lasse, schaltet das Display nach der im Canon-Menü definierten Zeit ab, ob mit oder ohne Aufruf von set_config_value(67,3) im Skript. Es nützt auch nichts, die "Power" Werte von Canon auf den defaults stehen zu lassen...

Gehe ich hingegen direkt nach Ablauf meines Skripts auf die CHDK-Misc-Seite und stelle nochmal händisch "Always" ein, obwohl es bereits gewählt ist, dann bleibt die Kamera an... Das sieht mir denn nun aber doch nach einem Bug in CHDK aus, wäre das möglich?
50 Stück SX 200 IS
Karmaschinken
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 114
Registriert: 13.08.2010, 09:24
Wohnort: Woltersdorf
Kamera(s): 50 Stck. SX200IS

Re: Fernbedienung für 25 und mehr SX200IS gleichzeitig?

Beitragvon CHDKLover » 11.02.2011, 03:14

Karmaschinken hat geschrieben:Das sieht mir denn nun aber doch nach einem Bug in CHDK aus, wäre das möglich?
Nein, das ist kein Bug. Das CHDK bekommt ja von den Veränderungen im Conon-Menü zunächst nichts mit. Das CHDK läuft asynchron zur original Firmware.
Für die Kamera gilt einfach die Einstellung, die als letztes getätigt wurde. Da das CHDK die Energiespareinstellungen nur bei Aufruf/verlassen des CHDK-Menüs, bei set_config_value() und beim Starten der Kamera setzt kann nicht garantiert werden das der im CHDK eingestellte Wert immer aktuell gültig ist.

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

VorherigeNächste

Zurück zu Technik-Ecke

Wer ist online?

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

cron