[PTP] ptpCamGui - USB-Kamerasteuerung inkl. Datei-Download/Upload

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

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon whim » 29.01.2011, 18:00

ne das ist der dienst des canon treibers. Daher muss er beendet werden bevor libusb starten kann..

Leicht machbar: da brauchte mann nur die genaue Name des Dienstes; wenn du kein Angst hast vor Kommandozeile:
"net start" ergibt eine Liste aller Dienste. Kennen wir die, dan könnte man sie mit 1 Zeile AutoIt am Anfang bzw. Ende des
Programms anhalten bzw. reaktivieren .. (aber unter Vista / 7 wird's da wohl UAC Aerger geben)

PS Da auto it eine sleep funktion hat, wäre es schön wenn man damit eine verzögerte schleife für den shoot befehl machen könnte.

Wäre das nich etwas redundant ? Es gibt doch schon Zeitraffer ?
Zuletzt geändert von whim am 29.01.2011, 20:13, insgesamt 1-mal geändert.
Benutzeravatar
whim
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 88
Registriert: 21.01.2011, 14:20
Kamera(s): A590(101b) - A620 - A630 - ixus70_sd1000(101b) - ixus870_sd880(101a) - ixus300_sd4000

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon msl » 04.02.2011, 22:22

Hallo CHDK-Bastler,

es gibt nun wieder eine neue GUI-Version.

Mit dieser Version kommt die von rudi entwickelte DLL zum Einsatz. Sie stellt das Verbindungsglied zwischen Benutzeroberfläche und Kamera dar. Die DLL-Datei sorgt für eine sichere und schnellere Verbindung.

Die Bedienelemente der GUI wurden neu organisiert.

292
Neu:
  • Videoaufnahme-Funktion inkl. Stopp-Funktion
  • Fotoaufnahme-Funktion mit 3 Optionen: kein Foto, sofort Foto, Auslösen bei Bewegungserkennung
  • einfache Ev-Belichtungsreihe für 3,5 oder 7 Bilder mit einstellbarer Schrittweite von 1/3 bis 2 Ev
Bitte entsprechende Hinweise zur Benutzung der Elemente im Start-Beitrag beachten.

@wim
Die notwendigen zusätzlichen Komponenten, Verzeichnis "icons" und Datei ptpcam.dll, sind auf Assembla verfügbar.
http://subversion.assembla.com/svn/rudi ... unk/icons/
http://subversion.assembla.com/svn/rudi ... ptpcam.dll

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: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon rudi » 04.02.2011, 23:45

Hallo GUI-Benutzer,

whim hat geschrieben:ptpCamGui.exe hat mein COMODO Alarm geschlagen
wegen der 'keyboard hook' Funktion
Der Tastatur-Hook wird seit Changeset #38 nicht mehr verwendet. Die Auswertung der Enter-Taste erfolgt jetzt über WM_COMMAND.

Gruß rudi
Zuletzt geändert von rudi am 05.02.2011, 12:22, insgesamt 1-mal geändert.
Benutzeravatar
rudi
CHDK-Spezialist
CHDK-Spezialist
 
Beiträge: 510
Registriert: 11.09.2009, 11:27
Kamera(s): A590IS_101B, SX260_100B

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon whim » 05.02.2011, 00:59

Hallo rudi, msl !

Vielen Dank, da gibt's eine ganze Menge zu spielen und arbeiten dieses Wochenende !

Gruß wim
Benutzeravatar
whim
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 88
Registriert: 21.01.2011, 14:20
Kamera(s): A590(101b) - A620 - A630 - ixus70_sd1000(101b) - ixus870_sd880(101a) - ixus300_sd4000

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon TZocker » 05.02.2011, 14:09

Gute arbeit!

Bei mir funktioniert der print button nicht und es fehlt noch der button zum ändern des iso-wertes xD

________________________

Ich wollte die aktuelle disk boot auf die Kamera kopieren doppelklick auf die diskboot datei und schubs verabschidete sich das gui. (XP sp3)
Canon A 650 IS
TZocker
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 51
Registriert: 12.06.2009, 16:20
Kamera(s): A 650

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon msl » 12.02.2011, 15:40

Hallo GUI-Tester,

neues Wochenende - neue GUI-Version. :D

rudi war fleißig und hat den Datei-Download, den wir uns alle gewünscht haben, realisiert. Zu dem ist die Bedienoberfläche jetzt komplett zweisprachig, deutsch und englisch.

Der Datei-Download bezieht sich auf alle Bild- und Video-Dateien, die sich in den Unterordnern des DCIM-Verzeichnisses befinden. Dabei kann ausgewählt werden, ob nur neue Dateien oder alle Dateien heruntergeladen werden sollen. Es muss ein Zielverzeichnis auf dem Rechner angegeben werden. In diesem werden dann die Dateien geordnet nach Datum in Unterverzeichnisse abgelegt. Alle notwendigen Informationen inkl. Vorschaubild! findet man in einem Extra-Fenster. Der Download-Vorgang kann jederzeit abgebrochen werden.

297

Download wie immer im Startbeitrag. In diesem Beitrag sind auch alle GUI-Elemente und die grundsätzliche Installation beschrieben.

wim war auch fleißig und hat die neue Version in die CHDK-Shell integriert. Wer die Shell nutzt, kann mit der aktuellen Version 3.04 per Kontext-Menü unter guests ptpCamGui aufrufen.

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: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon flash » 12.02.2011, 17:47

Junge, Junge,

ich staune immer wieder, was Ihr Euch so ausdenkt. =D>

Kurze Statusmeldung für SX30 -100L:

Verbindung klappt
Umschaltung der Modi (auto, P, Tv...) klappt
Zoom-ok
Shoot-ok
Bewegungserkennung-ok
Wiedergabe-ok
Video-Umschaltung-ok, dann Absturz: >> luar get_mode() << execution failed! (Length: 17) [ERROR: Could not close session! unexpected return code 0x2ff (Length: 61)]
Zeitraffer-ok
Belichtungsreihen: Fotos werden manchmal gemacht, aber die Belichtung wird nicht geändert, meisst stürzt die Cam nach dem 2. Foto ab
Aus + Neustart-ok
Kamera-Bedienung: erwartungsgemäß keine Reaktion, da wohl wie in uBasic die Click-Befehle für die SX30 nicht funktionieren.
Dateidownload-keine Funktion

Gruß
Lutz
Benutzeravatar
flash
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 50
Registriert: 18.12.2010, 14:36
Wohnort: Greifswald
Kamera(s): SX30IS 100.L

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon msl » 13.02.2011, 10:22

Hallo flash,

Danke für den umfangreichen Testbericht.

flash hat geschrieben:Dateidownload-keine Funktion
Das finde ich etwas merkwürdig. Du hättest zumindest eine Fehlermeldung auf der Kamera- und/oder GUI-Seite bekommen müssen. Bist du sicher, dass du die aktuelle Version getestet hast?

Das "Click"-Problem ist auch merkwürdig. Es gibt keinen weiteren Hinweis auf dieses Problem. Da diese Funktion mit den Tasten-Befehlen "press" und "release" erzeugt wird, muss da ein Fehler vorliegen. Das müssen wir anderer Stelle mal testen.

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: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon flash » 13.02.2011, 10:55

Hallo msl,

habe soeben nochmal neu getestet.

Win XP, trunk572, ptpCamGui 0.2.55 aus CHDK Compiler Shell v.3.04 gestrartet. Ich glaube neuere Versionen gibt's nicht.

Zielverzeichnis habe ich ausgewählt. Nach dem Start von ptp nur "Download alle" ausgeführt.

Es passiert ca. 2-3 Min. gar nichts, dann schaltet die Cam ab, hier das gesamte Protokollfenster:

>> reset << (Length: 0)
** init() start ...
>> version << ptpcam: 0.2
camera: 0.2 (Length: 24)
>> script-support << script-support:1 (Length: 16)
>> luar get_buildinfo().platform .. '\n' .. get_buildinfo().version .. '\n' .. get_buildinfo().build_number << sx30
CHDK-DE
1.1.0-572 (Length: 24)
CHDK-DE=True
>> luar get_config_value(67) << 1 (1) (Length: 5)
aktueller Stromsparmode: 1
>> help << q quit quit program
h help list commands
r reset reconnect to camera
version get CHDK PTP version (ptpcam and camera)
shutdown-hard shutdown camera (hard)
reboot reboot camera
reboot <filename> reboot camera using specified firmware update
reboot-fi2 reboot camera using default firmware update
m memory <address> get byte at address
m memory <address>-<address> get bytes at given range
m memory <address> <num> get num bytes at given address
set <address> <long> set long value at address
c call <address> <arg1> ... call function at address with given arguments
u upload <local> <remote> upload local file to camera
d download <remote> <local> download file from camera
mode <val> set mode (0=playback,1=record)
lua <code> execute lua code
luar <code> execute "return <code>" and retreive result
script-support which script interfaces does this build support (bit 0 set = lua)
script-status script execution status (bit 0 set = lua) (Length: 1255)
** init() successful
>> luar get_mode() << false (Length: 5)
>> upload ptpgui.lua A/ptpgui.lua << (Length: 0)
>> luar dofile("A/ptpgui.lua") << 0
A/ptpgui.txt
1 (Length: 18)
>> script-status << script-running:0 (Length: 16)
>> script-status << script-running:0 (Length: 16)
>> script-status << script-running:0 (Length: 16)
>> script-status << script-running:0 (Length: 16)
>> script-status << script-running:0 (Length: 16)
>> script-status << script-running:0 (Length: 16)

Bei den click-Befehlen passiert definitiv auch nichts, außer, daß kurz 5x ***BEENDET*** auf dem Cam-Display aufblitzt.

** init() successful
>> lua click('menu') << (Length: 0)
>> lua click('set') << (Length: 0)
>> lua click('erase') << (Length: 0)
>> lua click('up') << (Length: 0)
>> lua click('print') << (Length: 0)
>> lua click('left') << (Length: 0)
>> lua click('right') << (Length: 0)
>> lua click('down') << (Length: 0)

Ich teste gern noch mehr, wenn Du sagst was. Bin aber heute nur noch bis max. 15 Uhr zu Hause-muß arbeiten...
Gruß Lutz

-- 13.02.2011, 10:59 --

Anmerkung wg. "click":

susi2stack hier habe ich auch nur zum laufen bekommen, nachdem ich die "click" durch "press" und "release" ersetzt habe...

-- 13.02.2011, 11:06 --

Noch ein Versuch, nicht aus der Shell gestartet, sondern aus dem entpackten Verzeichnis vom 1. Posting (v. 0.2.54=:

Cam schaltet ab, Protokoll:

** init() successful
>> luar get_mode() << false (Length: 5)
>> upload ptpgui.lua A/ptpgui.lua << (Length: 0)
>> luar dofile("A/ptpgui.lua") << execution failed! (Length: 17) [unexpected return code 0x2ff (Length: 28)]
>> reset << (Length: 0)
>> reset << (Length: 0)
>> reset << (Length: 0)
>> reset << (Length: 0)
Zuletzt geändert von flash am 13.02.2011, 11:09, insgesamt 1-mal geändert.
Benutzeravatar
flash
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 50
Registriert: 18.12.2010, 14:36
Wohnort: Greifswald
Kamera(s): SX30IS 100.L

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon msl » 13.02.2011, 11:07

Ok, Danke.

Jetzt können wir sehen, wo der Download bei deiner Kamera klemmt. Mal sehen, ob sich da etwas machen lässt.

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: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon rudi » 13.02.2011, 13:43

Hallo flash,

versuch es bitte mit Revision #56 nochmal.

Bermerkungen zu den Ausgaben im Debugfeld:

flash hat geschrieben:ui.lua A/ptpgui.lua << (Length: 0)
>> luar dofile("A/ptpgui.lua") << 0
A/ptpgui.txt
1 (Length: 18)
Hier fehlte in der GUI die eine Meldungsbox "Keine Dateien gefunden"

Die Antwortwerte bedeuten:
  • Anzahl der Dateien zum Download, hier: 0
  • Dateiname für die Download-Dateienliste, hier: A/ptpgui.txt
  • Größe des benötigten Speicherplatzes in MB, hier: 1MB (sollte natürlich 0MB sein, geändert in #56)

flash hat geschrieben:>> luar dofile("A/ptpgui.lua") << execution failed! (Length: 17) [unexpected return code 0x2ff (Length: 28)]
Hier ist die PTP-Verbindung zur Kamera unterbrochen. Entweder durch die Stromsparfunktion oder einen Fehler bei der LUA-Ausführung. In letzterem Fall könnte die Kamera-Konsole eine Fehlermeldung enthalten.

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

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon TZocker » 13.02.2011, 14:59

@ flash Hast du vielleicht die Canon Software installiert? Weil sie startet im Hintergrund einen Dienst, der für Probleme mit PTP sorgen kann.
Canon A 650 IS
TZocker
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 51
Registriert: 12.06.2009, 16:20
Kamera(s): A 650

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon flash » 13.02.2011, 15:08

Hallo rudi,

mit der #56 kommt in ptp ein Fehler-popup "Herunterladen der 'DCIM' Dateien: Keine Datei gefunden".

Es sind aber definitiv Bilder drauf.

!!!Aber jetzt!!!
Das oben passiert mit 'ner 8GB-SDHC mit zwei Partitionen, mit 'ner 1-Partition-4GB-Karte funktioniert es!!!

Ein Weg in die richtige Richtung =D> .

Ergänzung: Da ich Blödmann zuerst auf den falschen Button geklickt habe, wurde eine Belichtungsreihe gemacht-und es hat funktioniert (drei verschiedene Belichtungen!!!)

edit2:
8GB-Karte:
Partitionen getauscht, Cam i.B. gelassen-gleiches Ergebnis-keine Dateien gefunden.

Cam aus, in Wiedergabemod. eingeschaltet, CHDK-Start pber Firmwareupdate-Popupfenster meldet: "Es ist ein Fehler aufgetreten":
** init() successful
>> luar get_mode() << false (Length: 5)
>> upload ptpgui.lua A/ptpgui.lua << upload failed! (Length: 14) [ERROR: Could not close session!
unexpected return code 0x2ff (Length: 61)]

-- 13.02.2011, 15:23 --

TZocker hat geschrieben:@ flash Hast du vielleicht die Canon Software installiert? Weil sie startet im Hintergrund einen Dienst, der für Probleme mit PTP sorgen kann.


Ja (natürlich), sag mal schnell welchen Dienst ich killen soll, dann probier ich nochmal. Muß nämlich gleich los und komme erst am WE wieder...

-- 13.02.2011, 15:28 --

Dienst (Canon Camera Access Library 8-CALMAIN.exe) gefunden und beendet-keine Änderung:Keine Datei gefunden.
Benutzeravatar
flash
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 50
Registriert: 18.12.2010, 14:36
Wohnort: Greifswald
Kamera(s): SX30IS 100.L

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon rudi » 13.02.2011, 21:41

Hallo flash,

jetzt habe ich eine 8GB-Karte zum Test eingerichtet und einige Testbilder aufgenommen. Alle Bilder werden im Ordner 'DCIM' gespeichert und lassen sich mit der ptpcamGUI hernunterladen.
Grundsätzlich befindet sich die DISKBOOT.BIN auf der 1. Partition, welche für die Kamera nach dem Start nicht sichtbar ist. Alle Aufnahmen werden damit auf der 2. Partition gespeichert. Ich kann auch keinen Unterschied zwischen dem Starten der Kamera über den Schreibschutzschalter und der Updatefunktion feststellen.

Dann prüfe doch mal den Speicherort der Bilder. Am besten mit dem Datei-Browser unter CHDK-Menü|Verschiedenes. Beim mir sieht das so aus:
Code: Alles auswählen
CHDK/ <Dir>
DCIM/ <Dir> <-- hier werden die Aufnahmen in Unterordnern gespeichert
PS.FI2
PTPGUI.LUA
PTPGUI.TXT


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

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon flash » 15.02.2011, 16:26

Hallo rudi,

erstmal sorry für die späte Antwort, aber habe erst heute wieder ein Hotel mit Webzugang. Zum Problem:
Ja, natürlich ist das alles so wie von Dir beschrieben, sowohl mit dem Dateibrowser, als auch mit dem Cardreader (nach Partitionstausch) stimmt die Verz.Strucktur, sieht genauso aus wie auf der 4GB-Karte.

Anmerkg. Wg. mir müßt Ihr den/die Fehler nicht suchen, ich wollte nur eine Rückmeldung geben. Die ptp-Funktionalität empfinde ich z.Z. nicht als sooo wichtig. Ich teste aber gern weiter wenn konkrete Vorschläge kommen, allerdings erst wieder am WE-auf meinem Firmen-Notebook ist kein Platz für die zusätzliche Installationen, ist eine steinalte Gurke, bin schon froh, daß wenigstens der Browser halbwegs funkt... :roll:

Gruß Lutz
Benutzeravatar
flash
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 50
Registriert: 18.12.2010, 14:36
Wohnort: Greifswald
Kamera(s): SX30IS 100.L

VorherigeNächste

Zurück zu Code-Ecke

Wer ist online?

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

cron