[Patch] CHDK-PTP für A590_101b und andere

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

Beitragvon TaiJiGong » 03.08.2010, 22:19

Hallo msl,

Da Dein Beitrag nicht mehr auffindbar war, hier noch mal aus dem cache von google:

Hallo,

stelle eine USB-Verbindung her. Im Normalfall würde die Kamera beim Einschalten in den PTP-Modus gehen.

Wenn du jetzt in einem Autostart-Skript folgende Zeile laufen lässt:
Lua:
post_levent_to_ui("PressRecButton")

Nun sollte bei Kamerastart der Aufnahmemodus starten und der Rechner die Kamera erkennen.

Das ist die Grundvoraussetzung. Funktioniert es nicht, musst du nach einer anderen Methode zum Umschalten suchen. Dazu vielleicht auch mal die möglichen logischen Events der Ixus100 anschauen.

All zu viele Informationen gibt es da nicht - leider. mweerden hat eine Wiki-Seite gestartet.

Gruß msl


Ich habe das Lua script probiert. Wenn die Kamera nicht an USB angeschlossen ist, geht die Kamera in den Aufnahme mode.
Habe ich die Kamera mit USB verbunden, bin ich zwar in PTP modus (kann files lesen und löschen) sonst jedoch nichts weiteres damit machen. Die Kamera wechselt nicht in den Aufnahme Modus.
Wenn ich das script zum testen der LED lade und die Kamera per USB verbunden habe, leuchten zumindest die LED's.

Ein Ausschalten der Kamera ist nicht mehr möglich. Also Akku raus, dann weiter ...

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)

Beitragvon msl » 03.08.2010, 22:37

TaiJiGong hat geschrieben:Da Dein Beitrag nicht mehr auffindbar war...
Ich hatte den Beitrag zurückgezogen, da du es ja vorgezogen hattest, das Thema "hinter den Kulissen" weiter zu diskutieren. ;)

Zum Thema: Da kann ich nun auch nurwenig weiterhelfen. Wie sieht es mit set_record aus? Vielleicht gibt es auch andere logische Events.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4545
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon TaiJiGong » 03.08.2010, 23:02

Hallo msl,

das verstehe ich nun wirklich nicht. Ich hatte eine PM an jemanden zu diesem Thema gesendet und dann das:

Ich hatte den Beitrag zurückgezogen, da du es ja vorgezogen hattest, das Thema "hinter den Kulissen" weiter zu diskutieren. Wink


P.S. wegen dem Wiki-Thema: siehe letzten Beitrag von fe50 Verfasst am: 03.08.2010, 07:49

http://forum.chdk-treff.de/viewtopic.php?t=1551&postdays=0&postorder=asc&start=60

habe ich auch Dir ein auch eine PM gesendet, mit der Frage in welchen Format das Handbuch verfügbar ist um es evtl. für eine Wiki aufzubereiten.

Man muss doch wohl nicht alles hier im Forum verbreiten. Das sollten doch bitte die Mitglieder selbst Entscheiten können.

Ehrlich das hat mich nun kräftigst enttäuscht. (War auch nicht das erste mal, das ich Umstimmigkeiten bemerkt hatte)

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)

Beitragvon TaiJiGong » 05.08.2010, 09:32

Hallo Zusammen,

Anbei ein paar Ausgaben von ptpcam http://www.sourcefiles.org/Programming/Libraries/Graphics/libptp2-1.1.0.tar.gz.shtml

Code: Alles auswählen
Camera information
==================
Model: Canon DIGITAL IXUS 100 IS
  manufacturer: Canon Inc.
  serial number: '552AAE8421CD4BFFA874D96F09DAC153'
  device version: 1-6.0.1.0
  extension ID: 0x00000006
  extension description: (null)
  extension version: 0x0064


Die Funktion: ptpcam --get-all-files ist auch OK.

Das Verhalten mit/ohne CHDK ist (auf den ersten Blick identisch)

Der Zugriff Über USB ist wohl in Ordnung, sonst würden diese Funktionen wohl nicht funktionieren.

Werde nun mal weiter schauen ob ich mit "dmplev.lua" weiter komme.

Viele Grüße, TaiJiGong
Dateianhänge
chdk-list-properties.txt
ptpcam -p
(417 Bytes) 109-mal heruntergeladen
chdk-list-operations.txt
ptpcam --list-operations all
(1.13 KiB) 111-mal heruntergeladen
chdk-info.txt
(267 Bytes) 107-mal heruntergeladen
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)

Beitragvon TaiJiGong » 07.08.2010, 22:16

Hallo Zusammen,

Ich habe mal alle (hoffentlich) events die mit "(none)" Bezeichnet sind durch probiert. Leider war da keins dabei welches die Kamera in den Aufnahme-Modus versetzt.


Code: Alles auswählen
// Meldung "Wechseln sie den akku", dann wird die Kammera ausgeschaltet
post_levent_to_ui( 4450 )

// Ladezustands Anzeige 1/3 (rot)
post_levent_to_ui( 4451 )

// Ladezustands Anzeige 2/3                                   
post_levent_to_ui( 4452 )

// EO9, dann wird die Kammera ausgeschaltet
post_levent_to_ui( 4455 )                     

// PipPipPip EO9, dann wird die Kammera ausgeschaltet
post_levent_to_ui( 4456 )

// Kamera Reset ? Neustart
post_levent_to_ui( 4458 )

// Schaltet Kammera aus.
post_levent_to_ui( 12289 )

// Schaltet Kammera aus.
post_levent_to_ui( 12598 )

// Schaltet Kammera aus.
post_levent_to_ui( 12802 )


Da ja prinzipell die Komunikation per ptp funktioniert (Bilder von der Kamera laden,..) Dann müsste es doch auch möglich/realisierbar sein Daten auf die Kamera zu übertragen (geht leider nicht). Weis jemand wo man da am besten (im source) suchen/ansetzen kann ?


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)

LINUX: ptpcam --chdk

Beitragvon TaiJiGong » 09.08.2010, 20:31

Hallo Zusammen,

Ich habe noch etwas herum probiert. PTP geht wohl, Frage ist wohl er wie man "ptpcam" bedient.
Code: Alles auswählen
linux-uf24:/home/didi/libptp_chdk/libptp2-1.1.10/src # ./ptpcam --chdk
<conn> h
q quit                         quit program
h help                         list commands
r reset                        reconnect to camera
  shutdown-hard                shutdown camera (hard)
  shutdown-soft                shutdown camera (soft)
  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
  prop <id>                    get value of property
  prop <id>-<id>               get values in property range
  prop <id> <num>              get num values of properties starting at id
  param <id>                   get value of parameter
  param <id>-<id>              get values in parameter range
  param <id> <num>             get num values of parameters starting at id
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
<conn>



Bsp.: LED Steuern:

Code: Alles auswählen
linux-uf24:/home/didi/libptp_chdk/libptp2-1.1.10/src # ./ptpcam --chdk                                                   
<conn> lua set_led(2,1)                                                                                                 
<conn> lua set_led(2,3)                                                                                                   
<conn> lua set_led(2,0)                                                                                                   


Bsp.: Download/Upload

Code: Alles auswählen
linux-uf24:/home/didi/libptp_chdk/libptp2-1.1.10/src # ./ptpcam --chdk
<conn> upload ptp.c A/CHDK/test.txt
<conn> download A/CHDK/test.txt test
<conn> q


Fehler verzeit das Program nicht und nach einer gewissen Zeit beendet es sich (Vieleicht ein timeout).

Manche Funktionen werden mit einem Fehler quitiert:

Code: Alles auswählen
<conn> shutdown-hard
unexpected return code 0x2001
<conn> reboot
unexpected return code 0x2001


Ich werde mal weiter schauen was man da machen kann.

Ich benutze:

- libptp2-1.1.10 mit patch von http://www.mweerden.net/download/chdk-ptp/libptp-chdk.patch
- libusb-0.1.12

Wie sieht das mit "ptpcam" unter Windows aus ?
Gibt es einen LUA Befehl(sequents) zum Auslesen eines Directories ? Einzeilig, da es als Program (mehrzeilig) wohl per ptpcam nicht geht.

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)

Beitragvon TaiJiGong » 10.08.2010, 08:48

Hallo Zusammen,

Erst mal vielen Dank an msl und CHDKLover für die Unterstützung. Sonst währe ich nicht so weit gekommen.

@msl:
Kannst Du die Änderungen von CHDKLover (Ixus100is) in der source-tree "http://my-trac.assembla.com/chdkde/browser/branches/msl" übernehmen. Dann könnte ich leichter source änderungen zum testen machen.


"ptpcam --chdk" nutzt das PTP-Protokoll (In etwa eine socket Verbindung) um Daten mit der Kamera aus zutauschen.

Vielleicht können wir mal eine Tabelle erstellen welche Kamera was bezüglich PTP kann. Einen Ansatz gibt es dazu schon unter
http://chdk.wikia.com/wiki/PTP_Extension

Hier ein paar weitere Links im zusammenhang mit PTP:

http://libptp.sourceforge.net/README
http://www.i3a.org/technologies/image-formats/ptp/
http://www.usb.org/developers/devclass_docs/usb_still_img10.pdf
http://gphoto.sourceforge.net/doc/ptpip.php
http://gphoto.sourceforge.net/doc/remote/
http://git.denx.de/?p=ptp-gadget.git;a=summary

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)

Beitragvon TaiJiGong » 11.08.2010, 20:51

Hallo Zusammen

./ptpcam --chdk (IXUS100is):
Code: Alles auswählen
// Schaltet Kamera aus (Warum ???)
lua post_levent_to_ui( "PressRecButtom" )

// Reboot Kamera
lua post_levent_to_ui( 4458 )

// Kamera ausschalten
lua post_levent_to_ui( "PressPowerButton" )

// Unterbricht die PTP-Verbindung
lua post_levent_to_ui( "RemoveBattery" )


Ich habe den Eindruck das einige levents nicht das machen was sie eigendlich sollen. Weis jemandwo diese events definiert sind ?

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)

ptp und ubuntu

Beitragvon diallery » 15.08.2010, 22:09

Hallo

Ich habe diesen Thread mit grossem Interesse gelesen, seit meinem ersten CHDK Einsatz hoffe ich auf eine Verbesserung der PC-Schnittstelle.

Ich habe nur noch Rechner mit Ubuntu und W7. Kann ich meine A720 und meinen Ubuntu Notebook dazu verwenden? Gibt es eine Beschreibung?

Gruss und Dank
diallery
Ixus 850, A720, S90
Benutzeravatar
diallery
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 49
Registriert: 06.08.2008, 22:53
Wohnort: zentralschweiz

Beitragvon msl » 15.08.2010, 22:40

Hallo,

für Windows7 findest du hier entsprechende aktuelle Informationen.

Linux (Ubuntu) sollte auch gehen. Dazu muss der USB-Treiber modifiziert werden.

Vielleicht kann mal einer der Linux-Experten eine ausführlichere Anleitung schreiben. Optimal wäre eine detaillierte Beschreibung für das relativ weit verbreitete Ubuntu inkl. Paket-Bereitstellung der notwendigen Komponenten.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4545
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon diallery » 16.08.2010, 17:28

Hallo msl, super schnelle Antwort, wie immer :)

Leider fehlt hier:http://chdk.bplaced.net/content/download/viewcategory/7.html
ausgerechnet die A720 Version.

Mit dem PC Teil komme ich auch nicht wirklich weiter. Ich habe mir libptp2 von sourceforge runter geladen und den dazu gehörigen Patch von mweerden. Was nun? Kompilieren?

Danke für alle Hilfe

diallery
Ixus 850, A720, S90
Benutzeravatar
diallery
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 49
Registriert: 06.08.2008, 22:53
Wohnort: zentralschweiz

Beitragvon msl » 16.08.2010, 18:19

A720 auf chdk.bplaced.net! Der Downloadbereich auf CHDK inside hat sogar eine Suchfunktion. ;)

Die Windows7-Installation ist erfolgreich bestätigt.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4545
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon diallery » 16.08.2010, 20:14

Windows 7 läuft einwandfrei, danke.

Unter Ubuntu habe ich Probleme mit dem einspielen der Patch Datei von mweerden. Ich bekomme Fehlermeldungen:

patching file libptp-endian.h
Hunk #1 FAILED at 4.
1 out of 1 hunk FAILED -- saving rejects to file libptp-endian.h.rej
patching file myusb.c
Hunk #1 FAILED at 16.
1 out of 1 hunk FAILED -- saving rejects to file myusb.c.rej
patching file properties.c
Hunk #1 FAILED at 17.
1 out of 1 hunk FAILED -- saving rejects to file properties.c.rej
patching file ptp.c
Hunk #1 FAILED at 19.
Hunk #2 FAILED at 27.
Hunk #3 FAILED at 1691.
3 out of 3 hunks FAILED -- saving rejects to file ptp.c.rej
patching file ptp.h
Hunk #1 FAILED at 164.
Hunk #2 FAILED at 873.
2 out of 2 hunks FAILED -- saving rejects to file ptp.h.rej
patching file ptpcam.c
Hunk #1 FAILED at 17.
Hunk #2 FAILED at 30.
Hunk #3 FAILED at 422.
Hunk #4 FAILED at 647.
Hunk #5 FAILED at 662.
Hunk #6 FAILED at 669.
Hunk #7 FAILED at 1130.
Hunk #8 FAILED at 1145.
Hunk #9 FAILED at 1152.
Hunk #10 FAILED at 1239.
Hunk #11 FAILED at 1553.
Hunk #12 FAILED at 1573.
Hunk #13 FAILED at 1895.
Hunk #14 FAILED at 1942.
Hunk #15 FAILED at 1955.

Kann ein Linux Spezi helfen? Vom Ubuntu Notebook wäre der Einsatz praktischer als vom W7 Desktop.

gruss
diallery
Ixus 850, A720, S90
Benutzeravatar
diallery
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 49
Registriert: 06.08.2008, 22:53
Wohnort: zentralschweiz

Beitragvon TaiJiGong » 16.08.2010, 21:26

Hallo diallery,

Es gibt 2 Patch-files (wenn ich es noch richtig in Erinnerung habe):

- libptp-chdk.patch für die libptp2-1.1.10 http://www.mweerden.net/download/chdk-ptp/libptp-chdk.patch

Dem musst du auf den source der libptp2 http://sourceforge.net/projects/libptp/files/libptp2/ anwenden.

Das hatte mich an Amfang auch etwas irretiert.

- chdk-ptp.patch das ist der patch von mweerden für CHDK http://www.mweerden.net/download/chdk-ptp/chdk-ptp.patch

Zusätzlich brauchte ich für opensuse noch:

libusb-0.1.12 http://www.libusb.org/

Schaue Dir evtl. auch noch folgenden Link an:

http://forum.chdk-treff.de/viewtopic.php?t=1854&highlight=ptp

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)

Beitragvon diallery » 20.08.2010, 12:18

Hallo TaiJiGong

Danke für die Tipps, vor allem der Link zum anderen Thread hat mich weitergebracht. Habe dort die richtigen Parameter um den Patch einzuspielen gefunden.

Leider bin bei der LibUSB wieder gestrauchelt, erst habe ich falsche eingespielt, dann ist die Kompilation abgebrochen. Ich habe die Aktion nach zwei Abenden vergeblichen Mühen genervt eingestellt, bis sich ein Linux Profi erbarmt und uns nicht so geübten Usern ein Debian-Paket mit allen Abhängigkeiten schnürt.

Trotzdem Danke alle die versucht haben zu helfen.

diallery
Ixus 850, A720, S90
Benutzeravatar
diallery
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 49
Registriert: 06.08.2008, 22:53
Wohnort: zentralschweiz

VorherigeNächste

Zurück zu Code-Ecke

Wer ist online?

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