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

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

Re: USB-Kamera-Steuerung inkl. Datei-Download/Upload (ptpCam

Beitragvon naddel » 31.01.2012, 23:52

Hallo rudi,

die Modusumschaltung per Script an der S2 funktioniert wie immer.
Aus der Konsole und mit ptpcam lua set_record(1) tat es genau so wenig wie mit mode. Muß die usblib für jeden Foto neu installiert werden? Das habe ich zwar gemacht probiers aber nochmal.

Gruß naddel

@mod das gehört wohl eher in den interface thread
S2 1.00f mit aktueller DE Version
Benutzeravatar
naddel
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 156
Registriert: 26.01.2009, 20:42
Kamera(s): G3 s2 ixusii

Re: USB-Kamera-Steuerung inkl. Datei-Download/Upload (ptpCam

Beitragvon naddel » 03.02.2012, 05:12

Hallo,

Da die ixus95 oben als getestet eingetragen ist hab ich mal an der weiter getestet.
- auch die Ixus95 kann ich mit set_record() nicht schalten.
- mode funktioniert
- nur wenn man mit mode auf Aufnahme schaltet reagiert die Cam, mit reset.
Anbei das Protokoll

Syntax: [ Download ] [ Verstecken ]
  1. ** init() start ... 
  2. >> version << ptpcam: 2.0 
  3. camera: 2.0 (Length: 24) 
  4. >> script-support << script-support:0x1 lua=yes (Length: 26) 
  5. >> luar not(os.stat("A/CHDK/LUALIB/lptpgui.lua")==nil) << script:1 
  6. 1:ret:true (Length: 20) 
  7. >> luar require("lptpgui").version << script:2 
  8. 2:ret:113 (71) (Length: 24) 
  9. >> luar get_buildinfo() << script:3 
  10. 3:ret:'platform    ixus95_sd1200 
  11. build_date    Jan 26 2012 
  12. build_number    1.1.0 
  13. build_time    19:35:06 
  14. version    CHDK-DE 
  15. platsub    100c 
  16. build_revision    930 
  17. platformid    12740 
  18. os    dryos 
  19. ' (Length: 186) 
  20. is DryOS=True 
  21. CHDK-DE=True 
  22. >> luar get_config_value(67) << script:4 
  23. 4:ret:1 (1) (Length: 21) 
  24. current powersave mode: 1 
  25. >> luar get_raw() << script:5 
  26. 5:ret:0 (0) (Length: 21) 
  27. * enable keys for GUI control: >> lua post_levent_to_ui(4484) << script:6 (Length: 8) 
  28. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  29. ** init() successful 
  30. >> luar require("lptpgui").getcaminfo() << script:7 
  31. 7:ret:'4032|4000|3425|1071040' (Length: 40) 
  32. >> luar get_mode() << script:8                //get_mode nil 
  33. 8:ret:false (Length: 21) 
  34. >> mode 1 << script:9 (Length: 8)              // mode 1 
  35. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  36. >> luar get_mode() << script:10                // get_mode get_mode ok 
  37. 10:ret:true (Length: 22) 
  38. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  39. >> mode 0 << script:11 (Length: 9)             // mode 0 
  40. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  41. >> lua set_record(1) << script:12 (Length: 9)      // set_record 1 ohne Reaktion 
  42. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  43. >> lua set_record(0) << script:13 (Length: 9)      // set_record 0 ohne Reaktion 
  44. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  45. >> mode 1 << script:14 (Length: 9)                // mode 1 
  46. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  47. >> lua set_record(0) << script:15 (Length: 9)      // set_record 0 ---> Neustart 
  48. >> script-status 
  49. >> reset << (Length: 0) 
  50. ** init() start ... 
  51.  
  52. Absturz und Neustart 



Und noch ein Protokoll zum Zoom-Problem
Im bug-tracker habe ich nur einen set_zoom Eintrag bei Autostartskripten gefunden (ohne Kammeraangabe)

Der Fehler scheint nur im auto-Modus bei Benutzung des Zoomschiebers aufzutreten.
Dreimal wiederholt immer das gleiche Ergebnis.


Syntax: [ Download ] [ Verstecken ]
  1. Befehlsfolge 
  2. - Einschalten 
  3. - Aufnahmemodus Night_scene 
  4. - In Aufnahmemodus schalten 
  5. - Taste Zoom+ 
  6. - Taste Zoom+ 
  7. - Taste Zoom- 
  8. - Zoomschieberegler +1 
  9. - Zoomschieberegler -1 
  10. - Aufnahmemodus auto 
  11. - Taste Zoom+ 
  12. - Taste Zoom- 
  13. - Zoomschieberegler +1 
  14.  
  15. ** init() start ... 
  16. >> version << ptpcam: 2.0 
  17. camera: 2.0 (Length: 24) 
  18. >> script-support << script-support:0x1 lua=yes (Length: 26) 
  19. >> luar not(os.stat("A/CHDK/LUALIB/lptpgui.lua")==nil) << script:1 
  20. 1:ret:true (Length: 20) 
  21. >> luar require("lptpgui").version << script:2 
  22. 2:ret:113 (71) (Length: 24) 
  23. >> luar get_buildinfo() << script:3 
  24. 3:ret:'platform    ixus95_sd1200 
  25. build_date    Jan 26 2012 
  26. build_number    1.1.0 
  27. build_time    19:35:06 
  28. version    CHDK-DE 
  29. platsub    100c 
  30. build_revision    930 
  31. platformid    12740 
  32. os    dryos 
  33. ' (Length: 186) 
  34. is DryOS=True 
  35. CHDK-DE=True 
  36. >> luar get_config_value(67) << script:4 
  37. 4:ret:1 (1) (Length: 21) 
  38. current powersave mode: 1 
  39. >> luar get_raw() << script:5 
  40. 5:ret:0 (0) (Length: 21) 
  41. * enable keys for GUI control: >> lua post_levent_to_ui(4484) << script:6 (Length: 8) 
  42. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  43. ** init() successful 
  44. >> luar require("lptpgui").getcaminfo() << script:7 
  45. 7:ret:'4047|4000|3425|1071040' (Length: 40) 
  46. >> luar get_mode() << script:8 
  47. 8:ret:false (Length: 21) 
  48. >> luar get_mode() << script:9 
  49. 9:ret:false (Length: 21) 
  50. >> mode 1 << script:10 (Length: 9) 
  51. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  52. >> luar get_mode() << script:11 
  53. 11:ret:true (Length: 22) 
  54. >> lua capmode=require('capmode') capmode.set('SCN_NIGHT_SCENE') << script:12 (Length: 9) 
  55. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  56. >> lua click('zoom_in') << script:13 (Length: 9) 
  57. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  58. >> luar get_zoom() << script:14 
  59. 14:ret:1 (1) (Length: 23) 
  60. >> lua click('zoom_in') << script:15 (Length: 9) 
  61. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  62. >> luar get_zoom() << script:16 
  63. 16:ret:2 (2) (Length: 23) 
  64. >> lua click('zoom_out') << script:17 (Length: 9) 
  65. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  66. >> luar get_zoom() << script:18 
  67. 18:ret:1 (1) (Length: 23) 
  68. >> luar get_mode() << script:19 
  69. 19:ret:true (Length: 22) 
  70. >> lua capmode=require('capmode') capmode.set('SCN_NIGHT_SCENE') << script:20 (Length: 9) 
  71. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  72. >> lua set_zoom(2) << script:21 (Length: 9) 
  73. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  74. >> luar get_mode() << script:22 
  75. 22:ret:true (Length: 22) 
  76. >> lua capmode=require('capmode') capmode.set('SCN_NIGHT_SCENE') << script:23 (Length: 9) 
  77. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  78. >> lua set_zoom(1) << script:24 (Length: 9) 
  79. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  80. >> luar get_mode() << script:25 
  81. 25:ret:true (Length: 22) 
  82. >> lua capmode=require('capmode') capmode.set('AUTO') << script:26 (Length: 9) 
  83. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  84. >> lua click('zoom_in') << script:27 (Length: 9) 
  85. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  86. >> luar get_zoom() << script:28 
  87. 28:ret:2 (2) (Length: 23) 
  88. >> lua click('zoom_out') << script:29 (Length: 9) 
  89. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  90. >> luar get_zoom() << script:30 
  91. 30:ret:1 (1) (Length: 23) 
  92. >> luar get_mode() << script:31 
  93. 31:ret:true (Length: 22) 
  94. >> lua capmode=require('capmode') capmode.set('AUTO') << script:32 (Length: 9) 
  95. >> script-status << script-status:0x0 run=no msg=no (Length: 31) 
  96. >> lua set_zoom(2) << script:33 (Length: 9) 
  97. >> script-status 
  98. >> reset 
  99.  



Melde mich wenn ich mehr weiß
naddel
S2 1.00f mit aktueller DE Version
Benutzeravatar
naddel
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 156
Registriert: 26.01.2009, 20:42
Kamera(s): G3 s2 ixusii

Re: USB-Kamera-Steuerung inkl. Datei-Download/Upload (ptpCam

Beitragvon rudi » 03.02.2012, 10:48

Hallo zusammen,

naddel hat geschrieben:- auch die Ixus95 kann ich mit set_record() nicht schalten.

Die Benutzung von set_record() kann unter PTP zu Fehlern führen. Dazu ist dar PTP-Befehl "mode" da.

Im Skript auf der Kamera muss set_record() funktionieren.
Unter PTP kommt es oft zu Problemen. Skripte mit set_record() lassen sich auch in der LUA-Konsole nur unzuverlässig ausführen und get_mode() liefert auch nicht immer den richtigen Status.

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

Re: USB-Kamera-Steuerung inkl. Datei-Download/Upload (ptpCam

Beitragvon msl » 03.02.2012, 11:34

Hallo naddel,

naddel hat geschrieben:Da die ixus95 oben als getestet eingetragen ist hab ich mal an der weiter getestet.
Ich kann mich nur auf die mühsam zusammengetragenen Informationen stützen. Die GUI wurde tausendfach heruntergeladen. Es gibt aber so gut wie keine Rückmeldungen. Nur wenn es irgendwo klemmt, gibt es ab und zu mal einen Aufschrei. Die Liste der "erfolgreich" getesteten Kameras habe ich entfernt, da sie nicht verlässlich ist.

Zu den Problemen mit der Ixus95: Möglicherweise liegen die auch an einer nicht komplett abgeschlossenen Portierung. Wenn ich mich recht erinnere, hat bei dieser Portierung mal wieder der SDM-Entwickler seinen Teil dazu beigetragen, dass die Ixus95 nicht abgeschlossen für CHDK portiert wurde.

Hast du mal zum Modus-Umschalten folgende Sequenz in der ptpcam-Konsole getestet?
Code: Alles auswählen
lua switch_mode_usb(mode) // mode 0=play 1=record


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

Re: USB-Kamera-Steuerung inkl. Datei-Download/Upload (ptpCam

Beitragvon Startrail » 18.03.2012, 11:52

Hallo,

erstmal wieder klasse, wie sich das hier weiterentwickelt hat =D>

Ich hätte zwei Fragen:

Im Programmfenster wird ja der Batteriestatus angzeigt - woher kommt die Info, wie voll die Batterien noch sind? Die Werte stimmen nämlich nicht mit den Werten im OSD der Kamera überein und sind so wie es aussieht irgendwie genauer, als meine eingestellten Spannunsgwerte...

Bei meiner Kamera ist der Button für den MF deaktiviert. Ich habe aber trotzdem einen MF :D Bei anderen Kameras gibt es da wahrscheinlich eine extra Taste für, wo ich zweimal auf dem Kreuz nach unten drücken muss, um in den MF zu kommen. Kann man das irgendwie hinbekommen, dass der MF Button und der Regler auch bei meiner Kamera funktioniert?

Grüße
Startrail
Startrail
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 128
Bilder: 6
Registriert: 29.06.2010, 16:38
Kamera(s): A530

Re: USB-Kamera-Steuerung inkl. Datei-Download/Upload (ptpCam

Beitragvon msl » 18.03.2012, 14:25

Ooops, ist ja doch noch jemand interessiert. ;)

Teste mal die aktualisierte Version (Revision 115). Da habe ich diverse kameraabhängige Daten hinzugefügt.

Der Akku/Batterie-Stand wird bei Verbindungsaufbau einmalig abgefragt und basiert auf den gleichen Angaben, die für die OSD-Anzeige benutzt werden. Die GUI-Anzeige wird aber im Gegensatz zur OSD-Anzeige nicht automatisch aktualisiert. Dadurch wird es zu Differenzen kommen. Mit F5 kann man die GUI-Anzeige aktualisieren.

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

Re: USB-Kamera-Steuerung inkl. Datei-Download/Upload (ptpCam

Beitragvon Startrail » 18.03.2012, 16:10

Na klar bin ich interessiert :D

Die Batterieanzeige stimmt jetzt schonmal mit dem OSD überein.

Grüße
Startrail
Startrail
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 128
Bilder: 6
Registriert: 29.06.2010, 16:38
Kamera(s): A530

Re: USB-Kamera-Steuerung inkl. Datei-Download/Upload (ptpCam

Beitragvon TZocker » 20.03.2012, 23:27

Danke msl!!!

hier geht es auch mal wieder weiter :D

Naja jetzt muss ich doch mal wieder meine Kamera suchen ..... Naja drecks Handykameras
Canon A 650 IS
TZocker
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 51
Registriert: 12.06.2009, 17:20
Kamera(s): A 650

Re: USB-Kamera-Steuerung inkl. Datei-Download/Upload (ptpCam

Beitragvon Startrail » 26.03.2012, 19:16

Hallo,

gibt es schon eine Idee, wie bei meiner Kamera auch der MF Button genutzt werden kann?

Viele Grüße
Startrail
Startrail
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 128
Bilder: 6
Registriert: 29.06.2010, 16:38
Kamera(s): A530

Re: USB-Kamera-Steuerung inkl. Datei-Download/Upload (ptpCam

Beitragvon msl » 26.03.2012, 20:49

Hallo Startrail,

eigentlich hatte ich wie schon geschrieben in Revision 115 diverse Kameras so auch die A530 für den manuellen Fokus hinzugefügt. Wenn es trotzdem nicht geht, bin ich etwas überfragt. Ist der MF-Button aktiv oder inaktiv? Mit diesen wird in den MF-Modus umgeschaltet.

In dieser Quellcode-Zeile der Gui stehen alle Kameras in einer Zeichenkette, die für den manuellen Fokus vorgesehen sind. Das Programm liest mit Hilfe des Lua-Befehls get_buildinfo() den Kameranamen aus und fragt ab, ob dieser in der Zeichenkette als Teilzeichenkette verfügbar ist. Wenn ja, werden die MF-Komponenten freigegeben.

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

Re: USB-Kamera-Steuerung inkl. Datei-Download/Upload (ptpCam

Beitragvon TÜVtler » 26.03.2012, 21:59

An alle die dieses Programm entwikelt haben!

Ich habe nach längerer CHDK Abstinenz vor 30 min Bekantschaft mit GUI gemacht und muß sagen mich reißt es beinahe vom Hocker =D>
Ich konnte problemlos meine PowerShot A800 mit dem PC verbinden und die ersten Aufnahmen erfolgreich machen und speichern.

Für einen fundierten Testbetricht reicht mein 30 min Wissen noch nicht, aber egal PC und Kamera eine Einheit ist einfach super.
Welche Bilderwelten durch dieses Programm mit einer kleinen Kompaktkammera entstehen können ist einfach genial!!!

Vielen Dank an euch =D>

TÜVtler
TÜVtler
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 21
Registriert: 22.01.2011, 00:18
Wohnort: Oberösterreich
Kamera(s): Ixus 60 zerstört durch Absturz
PowerShot SX 200 IS
PowerShot A800
IXUS 220HS

Re: USB-Kamera-Steuerung inkl. Datei-Download/Upload (ptpCam

Beitragvon Knarf » 26.03.2012, 22:31

Habe diese Programm getestet. Mir ist nichts negatives aufgefallen. Prima Arbeit.

danke MSL
Zuletzt geändert von Knarf am 20.08.2012, 10:46, insgesamt 1-mal geändert.
Knarf
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 470
Bilder: 2
Registriert: 28.12.2011, 18:42
Kamera(s): SX130IS 101c
CHDK-DE-Modulversion

Re: USB-Kamera-Steuerung inkl. Datei-Download/Upload (ptpCam

Beitragvon Startrail » 27.03.2012, 10:20

Hallo msl,

entschuldige, dann habe ich das etwas falsch gelesen. Bei mir ist der MF Button inaktiv, also ausgegraut. Auch wenn ich zweimal die Pfeiltaste nach unten drücke, um in dem MF zu kommen passiert nichts mit dem Button bzw. dem Schieberegler...

wenn ich get_buildinfo() eingebe kommt als Output:
Code: Alles auswählen
>> luar get_buildinfo() << script:7
7:ret:'platform   a530
build_date   Mar 26 2012
build_number   1.1.0
build_time   13:15:02
version   CHDK-DE
platsub   100a
build_revision   976
platformid   12582
os   vxworks
' (Length: 179)


Dann versteh ich auch nicht, warum das nicht funktioniert. Denn wenn ich das hier richtig gefunden habe dürfte der MF Button ja nicht deaktiviert werden.

Grüße
Startrail
Startrail
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 128
Bilder: 6
Registriert: 29.06.2010, 16:38
Kamera(s): A530

Re: USB-Kamera-Steuerung inkl. Datei-Download/Upload (ptpCam

Beitragvon msl » 27.03.2012, 13:37

Hallo Startrail,

ja, deine Erkenntnisse sind richtig.

Im Augenblick fällt mir dazu nicht mehr viel ein. Um auszuschließen, dass es an der Autoit-String-Funktion liegt, habe ich mal die A530 gegen meine A720 getauscht. Die A720 wird auch an der ersten Position der Zeichenkette problemlos erkannt.

Da kann ich leider dann momentan nicht weiterhelfen.

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

Re: USB-Kamera-Steuerung inkl. Datei-Download/Upload (ptpCam

Beitragvon Startrail » 27.03.2012, 14:42

Hallo msl,

direkt unter den Kameramodellen wird hier der MF mit dem AV Modus praktisch gleichgesetzt. Meine Kamera hat aber gar keine Blende und damit ist AV false. Kann es sein, dass dadurch der MF auch auf false gesetzt wird?

Grüße
Startrail
Startrail
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 128
Bilder: 6
Registriert: 29.06.2010, 16:38
Kamera(s): A530

VorherigeNächste

Zurück zu Code-Ecke

Wer ist online?

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