USB Fernb. Zoom synchronisieren?

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

USB Fernb. Zoom synchronisieren?

Beitragvon NEONBLACK » 29.05.2012, 13:42

Hallo,

ich schalte den USB Kontakt mit einer SPS und einem Relais direkt vor der Kamera, die Pulsdauer ist etwa auf 5ms genau.
Zuerst habe ich versucht mit den Befehlen click"zoom_in" bzw. click"zoom_out" zu arbeiten, allerdings hat sich rausgestellt, dass einige von meinen 12 Kameras scheinbar hierbei eine andere Schrittweite benutzen und somit die Zoomstufe nicht überall gleich ist.
Daher bin ich auf folgendes Script umgestiegen:

Code: Alles auswählen
@title USB Remote

sleep 5000
click"shoot_half"
sleep 2000
click"left"
sleep 500
click"right"
sleep 500
click"set"
sleep 500
set_zoom 0

while 1
do

a = get_usb_power
until a>0
if a <= 10 then gosub "shoothalf"
if a >= 10 and a < 30 then gosub "shootfull"
if a >= 30 and a < 50 then gosub "zoomin"
if a >= 50 and a < 70 then gosub "zoomout"
if a >= 70 then gosub "shutdown"
wend
end

:shoothalf
click"shoot_half"
sleep 800
return

:shootfull
click"shoot_full"
sleep 800
return

:zoomin
get_zoom z
set_zoom z+1
sleep 800
return

:zoomout
click"zoom_out"
sleep 800
return

:shutdown
shut_down
sleep 1500
end


Bei der Startprozedur mit set_zoom 0 konnte ich nichts falsches feststellen.
Beim Einzoomen macht er wohl einen Schritt, schält aber dann die Kamera aus!? :?

Außerdem würde ich gerne noch eine Logik einbauen, die bevor auf eine neue Zoomstufe gefahren wird die aktuelle überprüft und wenn die am "Anschlag" ist, nichts weiter tut. Allerdings enden hier meine Programmkenntnisse.

Bin für jede Hilfe sehr dankbar!
NEONBLACK
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 11
Registriert: 04.04.2012, 10:13
Kamera(s): SX130IS

Re: USB Fernb. Zoom synchronisieren?

Beitragvon NEONBLACK » 01.06.2012, 08:45

Keiner?!
NEONBLACK
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 11
Registriert: 04.04.2012, 10:13
Kamera(s): SX130IS

Re: USB Fernb. Zoom synchronisieren?

Beitragvon rudi » 01.06.2012, 12:05

Hallo NEONBLACK,

NEONBLACK hat geschrieben:Außerdem würde ich gerne noch eine Logik einbauen, die bevor auf eine neue Zoomstufe gefahren wird die aktuelle überprüft und wenn die am "Anschlag" ist, nichts weiter tut.
Im Handbuch (Danke msl!) auf Seite 100 kannst du die Funktion "get_zoom_steps" nachschlagen (beachte kleinster Wert für "set_zoom" ist 0). Grundsätzlich sollte ein falscher Wert bei "set_zoom" nicht zu einem Fehler führen, sondern den min. oder max. Wert anfahren.

NEONBLACK hat geschrieben:Beim Einzoomen macht er wohl einen Schritt, schält aber dann die Kamera aus!? :?
In der Annahme, dass CHDK keinen Fehler hat würde ich es mit einem längeren "sleep" versuchen. Auch kannst du die Funktion "set_zoom_rel" testen. Zur Kontrolle ist es sinnvoll dir die Argumente mit "print" auf der Konsole anzeigen lassen.
Bei Funktionen wie "get_..." verwende ich lieber die Funktionsschreibweise
Syntax: [ Download ] [ Verstecken ]
Benutze uBasic Syntax Highlighting
z=get_zoom
Erstellt in 0.004 Sekunden, mit GeSHi 1.0.8.9
Man kann sofort noch Berechnungen damit durchführen und gegenüber der Befehlsschreibweise erfolgt die Abarbeitung im uBasic-Interpreter an einer anderen Stelle.

Gruß rudi
Benutzeravatar
rudi
CHDK-Spezialist
CHDK-Spezialist
 
Beiträge: 510
Registriert: 11.09.2009, 11:27
Kamera(s): A590IS_101B, SX260_100B

Re: USB Fernb. Zoom synchronisieren?

Beitragvon waterwingz » 01.06.2012, 13:11

waterwingz
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 27
Registriert: 12.02.2011, 03:12
Kamera(s): IXUS120 G10

Re: USB Fernb. Zoom synchronisieren?

Beitragvon msl » 03.06.2012, 21:38

@NEONBLACK

Erst drängeln und dann keine Reaktion, inwieweit die Antworten hilfreich waren. Das gehört sich einfach nicht. Und es war nicht das erste Mal! So trägst du dazu bei, dass hier keiner mehr Lust hat, Unterstützung zu geben.

Nur nehmen, funktioniert auf die Dauer nicht. ;)
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: USB Fernb. Zoom synchronisieren?

Beitragvon NEONBLACK » 04.06.2012, 08:44

Vielen Dank für die Antworten!
So ich habe jetzt zuerst auf "z=get_zoom" umgestellt, einen höheren set_zoom wert (10) versucht und 2000 sleep eingestellt.
Das Ergebnis bleibt, nach dem Zoomen schält sie sich ab.
Ebenso hab ich set_zoom_rel versucht, weiterhin der selbe Fehler.
Dann hab ichs nochmal mit set_aflock 1 veruscht, keine Veränderung.

Code: Alles auswählen
:zoomin
z=get_zoom
set_aflock 1
if z<128 then set_zoom z+10
sleep 2000
end
return
NEONBLACK
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 11
Registriert: 04.04.2012, 10:13
Kamera(s): SX130IS


Zurück zu Code-Ecke

Wer ist online?

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