[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 msl » 14.01.2011, 21:58

Hallo CHDK-Bastler.

Wenn es mit der grafischen Benutzeroberlfäche weitergehen soll, brauchen wir eure Hilfe!

Bitte dieses Thema anschauen und Test wie beschrieben durchführen.

 ! msl hat geschrieben:
Das ist wirklich wichtig.


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 TaiJiGong » 19.01.2011, 10:05

Hallo Zusammen,

3 weitere Funktionen lassen sich sicher leicht in das GUI einbauen.

ptpcam -i (und/oder ptpcam -l)
ptpcam -L
ptpcam -G

Ich kann diese Erweiterungen nicht machen, da das GUI mit LINUX nicht nutzbar ist. Ist aber evtl. für andere Nutzer von Interresse.

Viele Grüße,
TaiJiGong
Canon IXUS 100 (SD780) Firmware: 1.00C, sonst nur rein mechanische Kameras wie Pentax-MX
TaiJiGong
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 320
Registriert: 08.04.2010, 20:10
Wohnort: München
Kamera(s): IXUS100is, 100c
IXUS IIs (etwas defekt ohne CHDK)

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

Beitragvon msl » 19.01.2011, 10:38

Hallo CHDK-Freunde,

es gibt eine neue Version zum Testen. Wie immer sind alle Informationen dem Eingangsbeitrag zu entnehmen.

die wichtigsten Neuerungen im Ãœberblick:

  • rudi ist der Projektleiter. Damit ist u.a. sichergestellt, das Funktionen tiefen-geprüft und abgesichert werden.
  • Die Benutzeroberfläche hat ein Menü und eine informative Statusleiste bekommen.
  • Bei Start werden wichtige Dinge überprüft, was den Start etwas verzögert, aber den ganzen Ablauf sicherer macht.
  • Per Menü lassen sich CHDK-relevante Dateien auf die Kamera hoch laden. Achtung! gleichnamige Dateien werden ohne Rückfrage überschrieben!
  • Start/Stop-Funktion für die Intervall-Funktion.

Noch ein Wort zum Herunterladen der Bilder von der Kamera auf den PC: Diese Funktion wird in Angriff genommen, wenn endgültig geklärt ist, wie die PTP-Rückmeldung der Kamera aussehen wird. ptpcam.exe-Optionen wie -G sind da nicht unbedingt geeignet. Schließlich wollen wir vollen und gezielten Datei-Zugriff haben, damit auch andere Dateien (z.B. DNG) auf den PC transportiert werden können.

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 msl » 21.01.2011, 12:02

Hallo,

zum letzten Update gibt es noch ein zusätzliches Mini-Update. Am Auffälligsten ist dabei die Neustrukturierung der Benutzeroberfläche. Das sorgt für mehr Platz und Übersicht.

Als neue Funktion ist die Bewegungserkennung dazu gekommen. Wird das Kontrollkästchen "MD" aktiviert, erfolgt die Auslösung nach Betätigung von "Shoot" erst nach einer erkannten Bewegung. Damit diese Funktion auch klappt, sollte der Blitz deaktiviert werden. Möglichst auch auch den Automatik-Modus verzichten. Erwartet aber keine Wunderdinge. Die Reaktionszeit ist relativ langsam.

CHDK-Nutzer mit einer Kamera, die die Betriebsart manueller Fokus beherrscht, können mal folgenden Befehl in die Eingabezeile eingeben und senden (Aufnahmemodus, nicht Automatik):
Code: Alles auswählen
lua post_levent_to_ui('PressSw1AndMF')
Diese Skriptzeile ist in der Lage, den manuellen Fokus zu aktivieren/deaktivieren. So könnte man auch in einem Skript (nur Lua) die Betriebsart MF aktivieren.

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 msl » 22.01.2011, 13:20

Wegen der Änderungen im Quellcode gibt es gleich noch ein Update.

Die Funktionalität hat sich für den Anwender im Prinzip nicht geändert. Jetzt werden aber Syntax-Fehler abgefangen, bevor sie an die Kamera gesendet werden. Das verhindert dann einen Kameraabsturz. rudi hat wieder ganze Arbeit geleistet. Danke. =D>

Weitere Informationen und download wie immer im Start-Beitrag.

Testberichte sind erwünscht.

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 whim » 22.01.2011, 22:25

Danke rudi / msl / CHDKLover =D>

Habe soeben ptpCamGui r26 getestet, und fast alles geht auf ixus70_sd1000 (101b), nur
einige Funktionstasten (Print, Menu, Set) benehmen sich nicht wie ich erwartete.
Ich beschränke mich hier aber auf das Gui Program selbst, weil ich mich weitaus besser
mit AutoIt als met ptpcam oder Kamerafernbedienung auskenne :D

  • "#AutoIt3Wrapper_Version=beta" -- Wieso noch die beta benutzen, release ist doch schon fast
    ein Jahr alt (AutoIt v3.3.6.1, 16th April, 2010)
  • Versionsnummern sind noch 0.2.5 statt 0.2.6
  • Nach Kompilation (Kompilierung?) -> ptpCamGui.exe hat mein COMODO Alarm geschlagen
    wegen der 'keyboard hook' Funktion - Vorwarnung dazu für User wäre nett.

Bevor Kompilieren hab ich einen AU3Check Eintrag eingefügt (optionen ergeben Maximalüberprüfung):
Code: Alles auswählen
#AutoIt3Wrapper_AU3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6

Ein nachfolgende Syntaxisüberprüfung (via Tools -> SyntaxCheck) ergibt dann
Code: Alles auswählen
>Running AU3Check (1.54.19.0)  params:-q -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6  from:C:\Program Files (x86)\AutoIt3
C:\Users\wim\Downloads\ptpCamGui.au3(71,43) : WARNING: 'Dim' deprecated as declaration. Prefer to use Local or Global.
Dim $LngMFile[$LNG_NUM] = ["File", "Datei"]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\wim\Downloads\ptpCamGui.au3(72,73) : WARNING: 'Dim' deprecated as declaration. Prefer to use Local or Global.
Dim $LngMFUploadFile[$LNG_NUM] = ["Copy to Camera", "Kopiere auf Kamera"]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\wim\Downloads\ptpCamGui.au3(73,84) : WARNING: 'Dim' deprecated as declaration. Prefer to use Local or Global.
Dim $LngFileSelect[$LNG_NUM] = ["Select a CHDK file:", "Wähle eine CHDK-Datei aus:"]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\wim\Downloads\ptpCamGui.au3(74,46) : WARNING: 'Dim' deprecated as declaration. Prefer to use Local or Global.
Dim $LngMFExit[$LNG_NUM] = ["Exit", "Beenden"]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\wim\Downloads\ptpCamGui.au3(75,49) : WARNING: 'Dim' deprecated as declaration. Prefer to use Local or Global.
Dim $LngMLang[$LNG_NUM] = ["Language", "Sprache"]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\wim\Downloads\ptpCamGui.au3(76,43) : WARNING: 'Dim' deprecated as declaration. Prefer to use Local or Global.
Dim $LngMHelp[$LNG_NUM] = ["Help", "Hilfe"]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\wim\Downloads\ptpCamGui.au3(77,47) : WARNING: 'Dim' deprecated as declaration. Prefer to use Local or Global.
Dim $LngMHPrgHelp[$LNG_NUM] = ["Help", "Hilfe"]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\wim\Downloads\ptpCamGui.au3(78,90) : WARNING: 'Dim' deprecated as declaration. Prefer to use Local or Global.
Dim $LngNoHelpFile[$LNG_NUM] = ["No help file available!", "Hilfe-Datei nicht verfügbar!"]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\wim\Downloads\ptpCamGui.au3(79,49) : WARNING: 'Dim' deprecated as declaration. Prefer to use Local or Global.
Dim $LngMHInfo[$LNG_NUM] = ["About...", "Ãœber.."]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\wim\Downloads\ptpCamGui.au3(217,42) : WARNING: 'Dim' deprecated as declaration. Prefer to use Local or Global.
Dim $SB_PartsWidth[4] = [80, 160, 240, -1]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\wim\Downloads\ptpCamGui.au3(336,32) : WARNING: $res: declared, but not used in func.
   Local $res = setCommand($temp)
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\wim\Downloads\ptpCamGui.au3(565,16) : WARNING: $resType: declared, but not used in func.
   Local $resType
   ~~~~~~~~~~~~~~^
C:\Users\wim\Downloads\ptpCamGui.au3(632,58) : WARNING: $secton: declared, but not used in func.
      Local $secton = IniReadSection($IniFile, $ChdkPlatform)
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\wim\Downloads\ptpCamGui.au3 - 0 error(s), 13 warning(s)
->15:12:09 AU3Check ended.rc:1
>Exit code: 0    Time: 0.812


Nichts wirklich schlimmes, Überprüfung der 3 "declared, but not used in func" empfehlt sich aber IMHO

Falls gewünscht, könnte mann die Funktion ChangeGUIstate (ungefähr ab Zeile 530) noch etwas kürzen
Code: Alles auswählen
Func ChangeGUIstate($newState)
   If $GuiState = $newState Then Return
   Local $CG_Controls[27] = [   $BPlay, $BRec, $BShoot, $BSend, $CBSend, _
                  $BCamOff, $BTLStart, $ITLTime, $ITLPics, $LTLTime, _
                  $LTLPics, $LTLCurPic, $PTLTime, $BCCDisp, $BCCMenu, _
                  $BCCSet, $BCCUp, $BCCDown, $BCCLeft, $BCCRight, _
                  $BCCPrint, $BCCErase, $SZC, $LZCMax, $LZCVal, _
                  $CBCaptureMode, $CBDelIni ]
   For $i = 0 To UBound($CG_Controls) - 1
      GUICtrlSetState($CG_Controls[$i], $newState)
   Next
   $GuiState=$newState
EndFunc


Ich habe auch noch eine Frage @rudi: Im Englischen AutoIt forum gibt's auch ein 'rudi' - Zufall ?

gruss 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 msl » 22.01.2011, 23:34

Vielen Dank für deine Analyse, Wim.

Darauf habe ich gehofft, dass mal ein Autoit-Profi wie du unser kleines Projekt unter die Lupe nimmt.

Im Eingangsbeitrag zu diesem Thread habe ich ein paar Anmerkungen zur Bedienung gemacht. Da gibt es auch einen Hinweis zur Sicherheitswarnung wegen der Keyboard-Hook-Sache. Ich habe es aber noch mal mit rot gekennzeichnet.

Deine Hinweise zum Autoit-Code sind sehr hilfreich. Wir werden den Code entsprechend korrigieren.

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 whim » 23.01.2011, 00:49

Autoit-Profi wie du

Nein, eher Amateur (im Sinne Liebhaber) :D dass sind nur etwas tipsTips und tricksTricks zur Fehlersuche und Kompilation, für Profi's bitte mal hier einige Vielposter verfolgen ...

wim

edit: Upps, wieder die Substantivgroßschreibregeln verletzt ..
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 nixnuz » 23.01.2011, 22:57

Hallo zusammen,

estmal ein ganz dickes Lob und vielen Dank an die Entwickler, Tüftler und Bastler, die dieses geniale CHDK am Leben erhalten und es ständig verbessern und anpassen.

Mit der grafischen Benutzeroberfläche entsteht so was wie ein Evolutionssprung. Ich dachte schon besser geht nicht mehr, aber "GUI für PTP" ist schon noch eine gewaltige Steigerung.

Leider hat der Tag nur 24 Stunden, sonst würde ich mich gern noch etwas mehr einbringen.

Es hat lang gedauert, bis ich das CHDK und all seine Möglichkeiten für mich so richtig begriffen habe.
Bis dieses Forum einigermaßen durchgelesen ist und das wichtigste ausprobiert, vergehen schon ein paar Monate.
Wie schon öfter erwähnt, es gibt halt auch noch ein Leben neben CHDK.

Ich möchte hier mal beschreiben wie die grafische Bedienoberfläche (ptpCamGui Ver. 0.2.5) mit der A540 zusammenarbeitet.

Bis ich begriffen habe, dass das Kamerasymbol nach Installation des alternativen Treibers nicht mehr in meinem Laufwerksordner auftaucht hat's einige Nerven und Neuinstallationen gebraucht.
Nachdem das klar war hat's bei mir auch langsam gedämmert, dass es vielleicht nicht schlecht wäre im CHDK-Menü die USB-Fernbedienungsfunktionen einzuschalten.

So, bis dahin sind einige Wochen vergangen.
Fast hätte ich aufgegeben.

Welche Freude als das Programm meine A540 erkannt hatte.
Die Funktionsweise erklärt sich von selber, echt gut gelöst.

Bis auf die Bewegungserkennung funktioniert fast alles.

Zoom - geht,
Play, Record und Shoot - geht,
Modusänderung (AV, TV, Auto etc.) - geht,
Befehle an die Kamera senden - geht,
Alle "Camera Control" Funktionen - gehen,
"Timelapse" - geht mit unten genannter Einschränkung.

Die Auslösung eines "Shoots" braucht vom Klick bis zum Foto 15 Sekunden. Im normalen Auslösungsmodus ebenso wie im Serienbildmodus.

Bei aktiviertem MD-Kästchen macht die Kamera ganz normal ein Bild ohne auf irgend eine Bewegung zu warten.


Leider macht die Konstruktion aus Programm und meiner Knipse nur ein Foto.
Besser gesagt zwei.
Direkt nach Auslösung des zweiten "Schusses" wird der Bildschirm dunkel, sämtliche LED's gehen aus und die Kamera reagiert nur noch auf den Ausschalter.
Nach einem kurzen Druck auf diesen funktioniert wieder alles einwandfrei.
Bis zum nächsten zweiten Bild. Dann geht wieder nichts mehr.
Immer schön regelmäßig in dieser Reihenfolge. Ein Bild, alles o.K., zweites Bild, Schluß.

Vielleicht hat noch jemand dieses Problem mit einer A540 oder einer ähnlich gestrickten Kamera?
Wenn ja, wüsste ich wenigstens, dass ich nichts falsch eingestellt hab.

Ich muss sagen, eine Fernbedienung für meine Kamera ist jetzt nicht das, was ich unbedingt notwendigerweise bräuchte, aber es reizt mich trotzdem ungeheuer, dieses tolle Teil zum Laufen zu kriegen.

Deswegen vielen Dank für jede Rückmeldung.

Nochmal vielen Dank an alle, die hier ihr Hirnschmalz investieren.

Mit einem freundlichen Gruß, nixnuz
Zuletzt geändert von nixnuz am 24.01.2011, 01:32, insgesamt 1-mal geändert.
Powershot A540, Firmware 100b, CHDK-DE 1.1.0 rev 586

Powershot SX210 IS, Firmware 100c, CHDK 0.9.9.-1070
Benutzeravatar
nixnuz
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 14
Bilder: 10
Registriert: 18.01.2010, 19:42
Wohnort: Baden-Württemberg
Kamera(s): Powershot A540
Powershot SX210 IS

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

Beitragvon msl » 23.01.2011, 23:29

Hallo nixnuz,

Danke für den ausführlichen Bericht.

So kann ich den einen oder anderen Stolperstein bei der Dokumentation zur Einrichtung der PTP-Komponenten noch hinzufügen. Da wird man leicht betriebsblind, wenn keine entsprechenden Meldungen kommen.

Welches Windows-OS hast du in Benutzung? Hast du bei der Kamera die Rückschau und den Blitz deaktiviert?

Die automatische Rückschau sollte unter Verwendung von CHDK meiner Meinung nach generell deaktiviert werden. Sie ist Ursache für viele vermeintliche CHDK-Probleme. Die Blitzfunktion ist auch so ein Kandidat.

Seltsam ist es aber schon, dass der Shoot-Befehl so hängt. Man kann auch per Befehlszeile auslösen: lua shoot(). Nichts anderes wird bei dem Schalter und der Timelapse-Funktion gemacht.

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 nixnuz » 24.01.2011, 00:50

Hallo msl,

danke für die schnelle Reaktion.

Das Betriebssystem ist Windows 7 Professional 32 Bit.

Rückschau ist aus, Blitz ebenso. Dieses Verhalten tritt in allen Modi auf. Ob AV, TV, Manuell oder Automatik. Wobei sich im Automatikmodus der Blitz zuschaltet.

Wenn ich den Befehl "lua shoot()" eingebe ist es dasselbe Verhalten.

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

. . . . . . . . Aaaaahaaa.

Jetzt hab ich bemerkt, dass das 2. Bild nicht gespeichert wurde. Es wurde zwar ausgelöst, aber vor der Speicherung war schon Schluß.
Daraufhin hab ich aus einer Ahnung heraus nachgesehen, ob vielleicht "RAW speichern" aktiviert ist. Und so war es.

Ohne die RAW-Speicherung funktioniert es jetzt einwandfrei. Bilder ohne Ende. Prima.
(Nachdem ich das nochmal unter die Lupe genommen hab, hat sich der "Übeltäter noch etwas genauer herauskristallisiert, es war die DNG-Speicherung. Mit nur-RAW geht es, mit DNG nicht).

"Motion-Detection" geht doch. Das hatte aber nichts mit der DNG-Speicherung zu tun. Da hab ich wohl nicht richtig hingeschaut.
Die Bewegungserkennung ist für 12 Sekunden aktiv (das Gitternetz ist sichtbar), während dieser Zeit reagiert die Kamera auch auf Bewegung und löst aus.
Nach 12 Sekunden ohne Bewegung verschwinden die Netzlinien und die Kamera ist wieder im normalen Zustand.
Nachdem die Bewegung erkannt wurde, dauert es 11 Sekunden, bis ein Foto gemacht wird.


Übrigens, der kürzestmögliche Abstand zwischen 2 Bildern ist bei mir 15 Sekunden.
Ich hab's mit 20 Sekunden im Serienbildmodus probiert, es sind dann exakt 20 Sekunden zwischen 2 Aufnahmen.

Jetzt könnte ich meiner Kreativität freien Lauf lassen. Da muss man doch grandiose Sachen anstellen können, mit so einer tollen Fernbedienung.

Lua-Befehle ausprobieren geht auf diese Weise wahrscheinlich viel einfacher und direkter.


Trotz der kleinen Mängel:
Genial, genial. Ich bin begeistert.

Danke msl, Du hast mich auf die richtige Fährte gebracht.

Gruß und gute Nacht, nixnuz.

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

Nachtrag (24.01.2011)

Heute wollte ich noch mal testen, ob es vielleicht an der CHDK-Funktion "RAW-Puffer nutzen" liegt, dass die Kamera nur 1 Bild macht und dann streikt.
Ich habe diese Funktion ausgeschaltet und es ging. RAW's wurden als DNG gespeichert und die Kamera hängte sich nicht nach dem 2. Bild auf.

O.K., also zum Test die RAW-Pufferung wieder eingeschaltet und nun funktioniert alles prächtig. Mit und ohne DNG, mit und ohne RAW-Pufferung.
Als wäre der Fehler nie dagewesen.

Also noch mal ein Fazit:

ptpCamGui 0.2.5 funktioniert bis auf die Bewegungserkennung astrein mit der A540.
Zuletzt geändert von nixnuz am 24.01.2011, 20:17, insgesamt 1-mal geändert.
Powershot A540, Firmware 100b, CHDK-DE 1.1.0 rev 586

Powershot SX210 IS, Firmware 100c, CHDK 0.9.9.-1070
Benutzeravatar
nixnuz
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 14
Bilder: 10
Registriert: 18.01.2010, 19:42
Wohnort: Baden-Württemberg
Kamera(s): Powershot A540
Powershot SX210 IS

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

Beitragvon nixnuz » 24.01.2011, 19:59

Hallo msl,

Der Befehl zum Einschalten des Manuellen Fokus "lua post_levent_to_ui('PressSw1AndMF')" funktioniert einwandfrei.
Einschalten geht, Ausschalten geht und Entfernungseinstellung geht auch.

Gruß, nixnuz.
Powershot A540, Firmware 100b, CHDK-DE 1.1.0 rev 586

Powershot SX210 IS, Firmware 100c, CHDK 0.9.9.-1070
Benutzeravatar
nixnuz
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 14
Bilder: 10
Registriert: 18.01.2010, 19:42
Wohnort: Baden-Württemberg
Kamera(s): Powershot A540
Powershot SX210 IS

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

Beitragvon BadSanta » 25.01.2011, 11:01

Guten Morgen,

ich habe nun auch mal die ptpCamGui in der Version 0.2.5 getestet. Mit meiner G9 (1.00D, CHDK-DE Rev. 560) habe ich folgendes Ergebnis erhalten:

Play: funktioniert
Record: funktioniert nicht
Schoot: funktioniert
MD: funktioniert
Zoom: funktioniert
Camera Control: funktioniert
Timelaps (Time(s): 5; Pics: 5): funktioniert
Betriebsart: Default-M funktioniert; Portrait, Night und Landscape geht nicht

Verbesserungsvorschläge:
  • ich bin davon ausgegangen, dass ich nun auch ein CHDK update über PTP durchführen kann. Scheinbar kann man aber nur *.bin, *.fi2, *.fir, *.lua und *.bas Dateien auf die Kamera kopieren. Diese Funktion wäre definitiv sinnvoll
  • ein Ändern der Sprache wirkt sich nur auf das Menü aus. Eventuell noch Umsetzung auf gesamte Oberfläche
  • keine manuelle Bedienung der Kamera möglich, wenn über USB angeschlossen
  • für jedes Kameramodell eine individuelle grafische Oberfläche gestalten (Knöpfe etc. wie bei Kamera)
  • Ãœbertragung des auf Kamera angezeigten Bildes in PTPCamGui

An dieser Stelle vielen Dank an die Mitwirkenden, die hier eine solche Arbeit in das Projekt stecken.

Gruß,
BadSanta
â—„ Canon PowerShot SX270HS â–º Kameradaten
BadSanta
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 49
Bilder: 0
Registriert: 23.12.2008, 15:58
Kamera(s): SX270HS 1.02B

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

Beitragvon msl » 25.01.2011, 11:57

Hallo BadSanta,

vielen Dank für den Testbericht.

Merkwürdig finde ich, dass Record nicht funktioniert und Shoot geht. Shoot beinhaltet die Funktion Record. Deshalb bitte ich mal um Überprüfung per Direkteingabe in die Eingabezeile:

mode 1 für record
mode 0 für play

Zu den Vorschlägen:

-CHDK-Update
Na klar kannst du nun ein Update per PTP machen. Deshalb stehen ja die Dateiendungen bin, fir, und fi2 zur Verfügung. Lade dir eine aktuelle CHDK-Version herunter, entpacke sie und und rufe die Datei(en) diskboot.bin (und ps.fi2) mit der GUI-Kopierfunktion auf. Dann werden sie auf die Speicherkarte kopiert. Kamera aus- und einschalten und schon läuft die neue Version.

-Sprachänderung ganze GUI
Das wird kommen, wenn klar ist, wie die Oberfläche endgültig aussehen wird. Möglicherweise werden noch diverse Beschriftungen durch Grafiken ersetzt.

-manuelle Bedienung der Kamera, wenn über USB angeschlossen
Systembedingt (von Canon so vorgesehen im PTP-Betrieb) ist es eigentlich nicht möglich, die Kameratastatur während der aktiven PTP-Verbindung zu benutzen. Es gibt aber einen Workaround, mit dem man diese Sperre aushebeln kann. ALT-Modus wie gewohnt aktivieren. CHDK-Menü aufrufen. Menü wieder beenden. ALT-Modus verlassen. Jetzt kann man die Tasten normal benutzen. Die Prozedur zuerst im Aufnahme-Modus durchführen!
Das ist aber nicht komfortabel. Vielleicht finden wir zukünftig eine bessere Lösung.

-für jedes Kameramodell eine individuelle grafische Oberfläche gestalten (Knöpfe etc. wie bei Kamera)
Das wird sehr aufwendig. Die Idee hatte ich auch schon. Bei gegenwärtig 63 Modellen (und es werden mehr) bräuchte man einen Grafik-Spezialisten, der vernünftige Grafiken zusammenstellt. Selbst wenn man ähnliche Modelle zusammenfasst, wird es sehr aufwendig.
Wenn eine vernünftige Lösung vorhanden ist, mit der man alle notwendigen Kameradaten auslesen (z.B. Mod-Maps) kann, wird es auch individuell angepasste Bedienelemente geben.

-Ãœbertragung des auf Kamera angezeigten Bildes in PTPCamGui
Das wird es definit nicht geben. Daran ist schon das erste PTP-Projekt gescheitert. Es müsste für jede Kamera ein Aufwand betrieben werden, der einer CHDK-Portierung nahe kommt.

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 BadSanta » 25.01.2011, 13:27

Hallo msl,

die Eingabe des Befehls "mode 0" funktioniert ohne Probleme. Bei "mode 1" wird nichts aufgenommen. Hier mal ein Auszug aus der PTP-Kommunikation vom Starten bis zur Eingabe von "mode 1":

G9 1.00D, Rev. 560:
Code: Alles auswählen
** init() start ...
>> version << ptpcam: 0.2
camera: 0.2 (Length: 24)
>> script-support << script-support:1 (Length: 16)
>> luar get_buildinfo().platform << g9 (Length: 2)
>> luar get_buildinfo().version << CHDK-DE (Length: 7)
DE=True
>> luar get_buildinfo().build_number << 1.1.0 (Length: 5)
** init() successful
>> mode 1 <<  (Length: 0)


Was ich rein zufällig bemerkt habe ist, dass beim Ausführen der "ptp Luar-Test 0.1.exe" folgender Fehler (Zeile 5) erscheint (früher ohne Fehler):
Code: Alles auswählen
** Informationen sammeln ...
>> version << ptpcam: 0.2
camera: 0.2 (Length: 24)
>> script-support << script-support:1 (Length: 16)
>> lua "" << execution failed! (Length: 17)
>> luar get_buildinfo().platform << g9 (Length: 2)
>> luar get_buildinfo().platsub << 100d (Length: 4)
>> luar get_buildinfo().version << CHDK-DE (Length: 7)
>> luar get_buildinfo().os << dryos (Length: 5)
>> luar get_buildinfo().build_number << 1.1.0 (Length: 5)
>> luar get_buildinfo().build_date << Jan 21 2011 (Length: 11)
>> luar get_buildinfo().build_time << 22:12:59 (Length: 8)
** Informationen zusammengestellt

Bei der anschließenden Prüfung erhalte ich jedoch keine Fehler. Vielleicht besteht ja hier ein Zusammenhang.

Zu den Vorschlägen:
  • CHDK-Update: OK, aber aus Gründen der Benutzerfreundlichkeit (Benutzerfaulheit ;)) wäre ein Auswählen der *.rar Datei mit automatisiertem Entpacken und Austausch dennoch sinnvoll
  • manuelle Bedienung der Kamera, wenn über USB angeschlossen: nach deiner Beschreibung funktioniert das ganz gut. Das kann man doch auch sicherlich ganz einfach automatisieren, indem genannte Schritte nacheinander ausgeführt werden (bspw. schon beim Programmstart)
  • für jedes Kameramodell eine individuelle grafische Oberfläche gestalten (Knöpfe etc. wie bei Kamera): wenn das Erstellen von Grafiken irgendwann mal anstehen sollte, kann man mich gerne ansprechen (dann könnte ich auch mal konstruktiv mithelfen, programmieren kann ich ja nur Delphi)
  • Ãœbertragung des auf Kamera angezeigten Bildes in PTPCamGui: schade, das würde dem Ganzen natürlich die Krone aufsetzen
â—„ Canon PowerShot SX270HS â–º Kameradaten
BadSanta
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 49
Bilder: 0
Registriert: 23.12.2008, 15:58
Kamera(s): SX270HS 1.02B

VorherigeNächste

Zurück zu Code-Ecke

Wer ist online?

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