Hallo PTP-ler,
im ersten Beitrag habe ich die Befehlsliste und die ptpcam.exe aktualisiert. Die Kamera und ptpcam.exe besitzen jetzt eine Version 0.2 (Konsolenbefehl "version").
Wozu werden die neuen Befehle benötigt?
script-support:
Da es zukünftig möglich sein wird CHDK komplett ohne Skriptunterstützung kompilieren zu können und evtl. zusätzlich uBasic noch zur Verfügung steht, ist es erforderlich per PTP diese Information abfragen zu können. Ist der Wert größer Null, dann ist mindestens eine Skriptsprache nutzbar. Welche das ist wird durch den Wert angegeben. Zur Zeit ist nur lua implementiert und wird mit "1" gekennzeichnet.
Hier kann lua genutzt werden:
- Code: Alles auswählen
<conn> script-support
script-support:1
script-status:
Nach dem Starten eines Skriptes mit dem Befehl "lua ..." erhält ptpcam die Kontrolle sofort nach dem Start zurück. Mit "script-status" erhält man eine Information ob das Skript noch ausgeführt wird. Der Rückgabewert "0" bedeutet "kein Skript wird ausgeführt". Ein Rückgabewert größer Null zeigt die ausführende Skriptsprache an. Der Wert ist äquivalent zum Befehl "script-support".
Hinweis: Wird während der Ausführung eines Skriptes ein weiter lua-Befehl übermittelt, wird dieser kommentarlos nicht ausgeführt.
Hier wird ein 10 Sekunden dauerndes Skript gestartet und lässt eine LED blinken. Während der Ausführung kann der "script-status" zur Kontrolle abgefragt werden.
Tipp: Die erste Statusabfrage dient hauptsächlichst der Eingabe in die Konsole, denn dadurch kann man nach dem Skriptstart mittels der Taste "Cursor-Auf" den Befehl zur Ausführung wiederholen und "ENTER" drücken.
- Code: Alles auswählen
<conn> script-status
script-running:0
<conn> lua for i=0,10 do set_led(8,1);sleep(700);set_led(8,0);sleep(300) end
<conn> script-status
script-running:1
<conn> script-status
script-running:1
<conn> script-status
script-running:1
<conn> script-status
script-running:0
Dank msl sind die Quellen für ptpcam jetzt im Trunk eingepflegt. Benutzer der CHDK-Shell können damit die ptpcam.exe (32Bit) selbst erstellen.
Dazu muss das Makefile den Speicherort des Libusb-Treibers kennen, der bei jedem Benutzer anders sein kann. Daher habe ich einen angepassten Libusb-Ordner erstellt, sowie das korregierte Makefile "makefile.chdkshell" (siehe Anhang).
Eine eigen ptpcam.exe erstellen:
[EDIT 23.12.10]
Der Punkt 1. Vorbereitung kann ab Revision 511 übersprungen werden. Msl hat die Dateien mit in den Trunk eingepflegt. Danke msl.
[/EDIT]
1. Vorbereitung (nur für Revision 510!)
- CHDK-Shell mit aktuellem DE-Trunk öffnen.
- In den Ordner "tools/ptpcam/" des aktuellen Trunks den Inhalt des Anhangs kopieren.
2. Erstellen - Die Kompilerkonsole der CHDK-Shell durch Klicken auf das Konsolen-Icon rechts neben dem Button "Compile Selected" öffnen.
- Diese Befehlszeile kompiliert nun die ptpcam.exe
- Code: Alles auswählen
make -C tools/ptpcam -f makefile.chdkshell
- Die Konsole mit "exit" beenden.
- Die erstellte ptpcam.exe steht im Ordner "tools/ptpcam/".
Gruß rudi