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

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

CHDK-PTP für A590_101b und andere

Beitragvon rudi » 14.11.2009, 20:40

Hallo,

durch die großartige Entwicklungsarbeit im int. Forum ist es mir möglich geworden auch meine A590_101b mit der CHDK-PTP-Funktionalität auzustatten.

Was CHDK-PTP ist und kann hat msl hier schon mal beschrieben.

CHDK-PTP steht erst für einige wenige Kameramodelle zum Testen zur Verfügung!

Diese Fehler habe ich beim Testen festgestellt:
- Nach dem Umschalten PLAY - REC - PLAY an der A590 kann der Aufnahmemodus mit dem Button "Record" in der CHDKCAM-Application nicht mehr aktiviert werden.
- Absturz der Kamera beim Drücken des Auslösers an der A590.
- Icon bei "Film: Standart" und "Film: kleine Datei" wird nicht gändert.

Damit zukünftig die Verwendung von CHDK-PTP sofort gelingt, habe ich meine Erkenntnisse zusammengetragen:

Grundsätzliches zur Benutzung
- der PTP-Modus arbeitet nur im PLAY-Modus der Kamera

Vorbereitung unter WINDOWS-XP_SP3
- Es sind für diesen Abschnitt Administrator-Rechte erforderlich!
- Installieren des libusb-Treibers (Datei: libusb-win32-filter-bin-x.x.xx.x.exe).
- USB-Verbindung zwischen Kamera und PC hersellen.
- Kamera im PLAY-Modus einschalten.
- Gegenfalls warten bis das Betriebsystem den Kameratreiber installiert hat.
- In der Systemsteuerung "Scanner und Kammeras" aufrufen.
- Mit rechter Maustaste auf der Kamerabezeichnung den Menüeintrag "Eigenschaften" auswählen.
- Im Eigenschaften-Dialog die Hefterlasche "Ereignisse" aufrufen.
- Im Abschitt "Aktionen" den Eintrag "keine weiteren Aktionen" auswählen!
- Die Änderungen mit "OK" bestätigen.
- Die Kamera ausschalten.

Prüfung auf Software, die CHDK-PTP behindert
- Einschalten der Kamera im PLAY-Modus
- Warten bis das Betriebssystem die Kamera erfolgreich eingebunden hat.
- Blinkt nun eine LED und das Display schaltet ab, dann greift noch eine Software auf die Kamera zu. Dise ist zu deaktivieren und die Prüfung zu wiederholen.
- Bleibt das Display eingeschaltet, ist die Prüfung erfolgreich abgeschlossen.
- Die Kamera ausschalten.

PTP Verwenden - Programm CHDKCAM
- download chdkcam_exec.zip
- Datei in einem Verzeichnis auspacken.
- Kamera mit USB verbinden und im PLAY-Modus einschalten.
- CHDKCAM starten.

Gruß rudi
Dateianhänge
msl143_PTP_A590_101b.diff
Patch aufbauend auf CHDKDE/Brunched/msl/143/
(4.5 KiB) 451-mal heruntergeladen
Zuletzt geändert von rudi am 10.12.2009, 08:02, insgesamt 4-mal geändert.
Benutzeravatar
rudi
CHDK-Spezialist
CHDK-Spezialist
 
Beiträge: 510
Registriert: 11.09.2009, 11:27
Kamera(s): A590IS_101B, SX260_100B

Beitragvon msl » 15.11.2009, 21:13

Das PTP-Interface steht mittlerweile für einige Modelle zur Verfügung. Diese sind im msl-Branch eingefügt und stehen für das Compilieren mit der CHDK-Shell zur Verfügung. Achtung! das Compilieren nicht PTP-unterstützter Kameras aus diesem Branch führt gegenwärtig zum Abbruch.

Bisher PTP-Interface-unterstützte Kameras: A590 101b; A710 100a; A720 100c; Ixus700 101a; SX10 101a; SX200 100c

Das Windows-Programm chdkcam wird nur bis XP unterstützt. Alles andere zur Einrichtung hat rudi schon beschrieben.

Bild

Das Programm empfängt Live-Bilder von der Kamera getrennt als Live-Vorschau/Wiedergabe und OSD-Überlagerung. Ich habe maximal 14 fps bei der Live-Vorschau ohne OSD-Überlagerung festgestellt.

Es stehen diverse Schalter zur Verfügung, die selbsterklärend sind. Mit dem Schalter "Files" besteht die Möglichkeit, Dateien auf die SD-Karte zu kopieren (Drag & Drop) und dateien auf der SD-Karte zu löschen.

Für individuelle Einstellen stehen 12 Makro-Schalter zur Verfügung, die man mit Befehlen belegen kann. Dazu werden Lua-Kommandos benutzt. Die 12 Schalter können auch über die Tastatur mit den 12 Funktionstasten angesprochen werden.

Weitere Tastatursteuerungen sind mit dem Ziffernblock möglich. Dazu muss NUMlock auf an stehen. 8,6 2, und 4 entsprechen der Cursor-Steuerung. 5 steht für [SET]; + und - für Zoom; * für Löschen; / für Display; 9 für Auslösen halb und 3 für Auslösen voll; 0 für Video.

Außerdem besteht die Möglichkeit, in einem Fenster ein Skript in Lua einzugeben, das bei Bedarf gestartet werden kann. Das eingegebene Skript wird in einer externen Datei gespeichert.


Sicherlich wird es zu dieser Thematik in nächster Zeit weitere Entwicklungen geben.

Besonderer Dank für die Entwicklungsarbeit gilt ewavr und mweerden.

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

Beitragvon msl » 16.11.2009, 14:21

Wer testen möchte und eine der bisher unterstützten Kameras besitzt kann eine fertig compilierte Version und alle notwendigen Komponenten auf drop.io herunterladen:

Download

Bitte die Hinweise in den zuvor geschriebenen Beiträgen beachten. Da mit dieser Technik das Objektiv auch im Wiedergabemodus ausgefahren werden kann, achtet bitte auf Bewegungsfreiheit.

Viel Spaß beim Testen. Bild

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

Beitragvon silas » 16.11.2009, 20:57

Endlich tut sich hier mal wieder etwas :D

Könntest du mal beschreiben wie du das getan hast, was man da machen muss um auch andere Kameras unterstützen?

Silas
a550,IXUS 80IS (1.01a)
aktuelle version
Flickr
Benutzeravatar
silas
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 150
Registriert: 23.04.2008, 13:11
Wohnort: Schweden

Beitragvon msl » 16.11.2009, 21:30

Hi silas,

ich habe da relativ wenig getan. Es gibt im internationalen Forum einen Thread zu dem Thema. Da habe ich ewavr gefragt.

Könntest Du auch machen. Oder Du setzt Dich mit rudi zusammen.

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

Beitragvon msl » 18.11.2009, 19:45

Update PTP-Interface

ewavr hat ein interessantes Update bereitgestellt.

In der neuen Version ist nun auch das Kopieren von Daten von Kamera zum PC möglich. Neben einer neuen CHDK-Version ist auch die neue Version des Kommunikationsprogramm chdkcam notwendig.

Download
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

Beitragvon msl » 19.11.2009, 23:09

Nächste Kamera für PTP-Interface

A610 100e

CHDKLover hat die nächste Kamera für das PTP-Interface integriert. =D>

Download

Noch einmal eine Zusammenfassung der Installationshinweise:

Nur für Windows 2000 und XP verfügbar

1. Möglichst alle USB-Laufwerke, Kartenleser u.s.w. aushängen.

2. libUSB_win32 installieren.

3. Kamera per USB an PC anschließen. Im Explorer für die Kamera Eigenschaften-Dialog "Ereignisse" aufrufen. Im Abschitt "Aktionen" den Eintrag "keine weiteren Aktionen" auswählen!

4. Programm chdkcam starten.

5. Kamera im Wiedergabe-Modus starten.

6. Warten bis das Programm chdkcam "connected x fps" stabil anzeigt und die Kamera das Vorschaubild zeigt. Wenn nicht, Kamera auschalten und wiederholen.


Anmerkung: Wir haben festgestellt, dass die Cursor-Steuerung über den Ziffernblock im Wiedergabe-Modus erst nach ersten Umschalten in den Aufnahme-Modus und wieder zurück, funktioniert.

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

Beitragvon gehtnix » 19.11.2009, 23:13

msl hat geschrieben:A610 100e
:D

gruß gehtnix
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS990 IS

Beitragvon msl » 20.11.2009, 13:15

Die blockierte Tastatursteuerung zu Beginn im Wiedergabe-Modus hat eine logische Erklärung. Bei normalem USB-Betrieb ist zu Beginn auch nur die Print-Taste bedienbar.

ewavr hat aber für die A710 herausgefunden, dass es unbenannte Events gibt, die die Tastatursperre aufheben können. Die scheinen Kamera-abhängig zu sein. Deshalb habe ich mich auch auf die Suche gemacht.

Mit einer einfachen Skriptzeile kann das Event ausgelöst werden. Diese könnte z.B. auf eine Makro-Taste gelegt werden.

Für A710
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
post_levent_to_ui(0x1144)
Erstellt in 0.004 Sekunden, mit GeSHi 1.0.8.9

Für A720
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
post_levent_to_ui(0x1184)
Erstellt in 0.004 Sekunden, mit GeSHi 1.0.8.9


Wir haben festgestellt, dass die Werte 0x1143(A710) und 0x1185(A720) die Sperre auch aufheben. Dabei wird aber die Power-Taste gesperrt. Dann kann man die Kamera nicht ausschalten.

Wer herausfinden möchte, welche benannten und unbenannten Events das Kamera-Betriebssystem beinhaltet, kann sich mit einem Skript alle Events in eine Datei schreiben lassen. Das Skript ist von reyalp. Es kann im Wiedergabe-Modus gestartet werden. Es schreibt die Daten in die Datei A/levent.csv.

Mit dieser Event-Liste kann man experimentieren. Dazu wird einfach der Befehl post_levent_to_ui verwendet. Es gibt mehrere Möglichkeiten, die Argumente zu setzen. Die Event-Liste enthält für jedes Event einen Hex-Wert, einen dezimalen Wert und wenn bekannt einen Namen. Alle 3 Varianten können verwendet werden. Die numerischen Werte sind Kamera-abhängig.

Beispiel für A720:
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
post_levent_to_ui(0x1055)

post_levent_to_ui(4181)

post_levent_to_ui("ModeDialToP")
Erstellt in 0.004 Sekunden, mit GeSHi 1.0.8.9

Jede der 3 Zeilen würde die A720 im Aufnahme-Modus in den P-Modus schalten, auch wenn das Drehrad nicht auf P steht.

Für die A720 habe ich herausgefunden, dass es einen inoffiziellen Sport-Modus gibt, d.h., ich kann per Event-Steuerung den Sport-Modus aufrufen, der an der Kamera gar nicht einzustellen geht.

So gibt es in der Event-Liste viele Dinge, die man testen kann. Es sind aber auch viele Events enthalten, die nicht verwendbar sind.

Events können selbstverständlich auch ohne PTP-Interface getestet werden.

Achtung! Man sollte sich genau überlegen, was man macht. Das ganze erfolgt auf eigene Gefahr!

Gruß msl
Dateianhänge
dmplev.lua
Event-Dump
(868 Bytes) 453-mal heruntergeladen
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

Beitragvon Knips » 20.11.2009, 17:19

msl hat geschrieben:A610 100e


:(
<- 100f
Gruß
Knips

Powershot A610 100f+ 1GB Kingston SD-Card / 4GB Transcend + CHDK 1.1.0-451 DE
Bildbearbeitung: Photshop CS3 + CS5 | Lightroom 3.0 | GIMP 2.6 | Paint Shop Pro 6
Benutzeravatar
Knips
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 162
Bilder: 0
Registriert: 29.11.2008, 17:28
Wohnort: Altes Land (Region)
Kamera(s): A610 100f - CHDK 1-1-0-r636-DE

Beitragvon CHDKLover » 20.11.2009, 18:15

Hallo Knips,
ich habe für die A610 100f versucht alle Informationen zusammenzutragen. Ich konnte es nicht testen, aber vielleicht geht es.

CHDKLover
Dateianhänge
CHDK-a610-100f-1.0.0_msl.zip
testbuild
(423.38 KiB) 458-mal heruntergeladen
msl_PTP_A610_100f.diff
A610 100f
(2.79 KiB) 423-mal heruntergeladen
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Beitragvon Knips » 20.11.2009, 20:34

Schade, irgendwie verträgt sich der USB-Treiber nicht mit Vista. Nach dessen Installation versagt meine Externe Festplaltte den Dienst, nach der Deinstallation gehts aber wieder. CHDKcam sagt auch nur "Disconnected". Firmware ist die von CHDKLover zur Verfügung gestellte. Komisch.
Die Kamera lässt sich auch nicht mit VirtualBox 3.0.10 unter Vista in den XP-Gast einbinden. Ärgerlich irgendwie.
Gruß
Knips

Powershot A610 100f+ 1GB Kingston SD-Card / 4GB Transcend + CHDK 1.1.0-451 DE
Bildbearbeitung: Photshop CS3 + CS5 | Lightroom 3.0 | GIMP 2.6 | Paint Shop Pro 6
Benutzeravatar
Knips
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 162
Bilder: 0
Registriert: 29.11.2008, 17:28
Wohnort: Altes Land (Region)
Kamera(s): A610 100f - CHDK 1-1-0-r636-DE

Beitragvon msl » 20.11.2009, 22:27

Hallo,

ich hatte aber eindeutig geschrieben, das es nur unter Windows 2000 und XP funktioniert.

Schade, nun brauchen wir jemanden mit einer A610 100f und Windows XP, um einen zuverlässigen Test durchzuführen.

Lipo hat wohl ne 100d?

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

Beitragvon rudi » 20.11.2009, 23:07

Hallo,

das Freigeben der Tasten bei der A590 entspricht der A720.

Für A590
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
post_levent_to_ui(0x1184)
Erstellt in 0.003 Sekunden, mit GeSHi 1.0.8.9

Schöner wäre es, wenn von CHDKCAM eine Funktion (z.B. "after_ptp_connect") aufgerufen würde, dann ging das auch automatisch.

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

Beitragvon msl » 21.11.2009, 09:47

Hallo,

@rudi,

wenn wir für mehrere Kameras Informationen haben, wird sich ewavr sicherlich etwas für chdkcam einfallen lassen. Vielleicht gibt es ja nur einen Unterschied zwischen DryOS und VxWorks. Dazu müssten aber mal alle verfügbaren Kameras getestet werden.

@Knips

Ich habe mir mal Informationen zu den USB-Treibern angeschaut. Mit Vista könnte es klappen, wenn man bei der Installation ein paar Dinge beachtet.

Rechtsklick auf Installationsdatei und unter Eigenschaften den Kompatibilitätsmodus auf Windows XP einstellen. Und dann wiederum per Rechtsklick das Installationsprogramm als Administrator ausführen.

Bitte aber zuvor eine Vista-Sicherung organisieren. Angeblich soll der Treiber unter Vista nicht stabil laufen. Er wird aber für IPod-Modifikationen verwendet. Da gibt es auch diverse Video-Anleitungen zur Installation. Eine virtuelle Umgebung funktioniert aber nicht.

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

Nächste

Zurück zu Code-Ecke

Wer ist online?

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