"Arbeitsumgebung" für CHDK unter LINUX

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

"Arbeitsumgebung" für CHDK unter LINUX

Beitragvon Joedi » 18.09.2020, 10:59

Hallo, ich möchte folgendes shell script im Forum teilen, das das Schreiben/Transferieren/Testen von chdk-lua-Scripten auf einem LINUX-Rechner ( hier Knoppix 7.2 ) enorm vereinfacht. Es dürfte mit leichten Änderungen (Verzeichnis-Namen, nötigenfalls starten als "root", anderer html-Browser usw.) auch auf anderen Linux-Systemen lauffähig sein.
Das shell script wird vom Desktop aus mit Anklicken einer Ikone gestartet (details hängen leider vom Desktop Manager ab). Bei meinem KNOPPIX sieht es aus wie folgt und alles was es tut ist, die Datei "start-chdkptp.shs" zu starten:
Code: Alles auswählen
Exec=xterm '-hold -e "cd ch  ; ./start-chdkptp.shs"'

Ein link zeigt auf das Verzeichnis /home/knoppix/chdk-scripts-xp/chdkptp-r785/, in dem sich auch die die Dateien chdkptp_gui.sh , chdk-hb15004.pdf und chdkptp_gui.sh sowie alle lua-Dateien, an denen man gerade arbeitet, befinden.
Das Starten von "start-chdkptp.shs" kann man natürlich auch von einem terminal-Fesnster aus direkt machen, ohne den "Luxus" des Desktop-Starts.
Code: Alles auswählen
[Desktop Entry]
Name=chdkptp-gui
Terminal=true
Exec=xterm '-hold -e "cd ch  ; ./start-chdkptp.shs"'
Type=Application
Icon=/home/knoppix/chdk-scripts-xp/chdkptp-r785/chdkptpicon.png
# URL=/home/knoppix/start-chdkptp-from-Desktop.shs
Categories=
MimeType=message/rfc822;x-scheme-handler/mailto;
StartupWMClass=
StartupNotify=true
Keywords=

Hier nun das eigentliche shell script "start-chdkptp.shs"
Code: Alles auswählen
#! /bin/bash
# it is assumed we are here: /home/jj/chdk-scripts-xp/chdkptp-r785
# same as in  killgphoto2access.shs:
until  [ -z $(ps -e | grep "gphoto2") ] ;
do
proz=$(ps -e | grep "gphoto2")
prozid=$(echo $proz | cut -d " " -f 1 ) ; echo $prozid ;
echo "muss gekillt werden!!" ; kill $prozid ; echo " - done." ;
done
# show handbook
xournal /home/knoppix/chdk-hb15004.pdf  &
# open newest, last lua-file edited in nano:
lastlua=$(ls -c *.lua | head -1)
lxterminal -e nano $lastlua
# open the gui:
./chdkptp_gui.sh -g -c

Was leistet das shell script?
-- Es beseitigt alle eventuell geladenen "Treiber" von gphoto2. Sehr wichtig, sonst läuft fast nichts!
-- es öffnet mir die heruntergeladene Handbuchdatei zum lesen
-- Es ermittelt die letzte lua-Datei, an der gearbeitet wurde, und öffnet diese im Editor namens "nano".
-- Es öffnet das chdkptp-gui-Fenster und, falls die Kameera schon eingeschaltet, chdk dort gebootet und über usb verbunden, verbindet die Kamera mit dem Rechner.
Mit u.a. den chdkptp-Befehlen "u(pload)" und "d"(ownload)"
(siehe dazu chdkptp-Handbuch) können die lua-Scripts usw. transferiert werden. Im chdkptp-gui ist auch der live view nützlich, als "vergrössertes Display", auf dem die Tests, die man von Hand an der Kamera macht, kontrolliert werden können.
N.B. Fern-Testen ,also Bedienung der Kamera zum Test direkt über den chdkptp-gui geht leider meistens nicht.

Das Austesten von lua-scripts mit dieser "Arbeitsumgebung" ist eine richtige Freude, das ständige SD-Karten-Wechseln entfällt, man hat immer die neueste Version sicher im Rechner, usw..
Hat jemand ähnliche Erfahrungen, Vorschläge? Gibt es überhaupt ein paar Linuxer im Forum? Linux ist ähnlich genial wie chdk!
Grüsse von joedi

Ergänzung: Ältere Versionen des Editors "nano" haben leider keine Zeilennumerierung, die man aber für die Fehlermeldungen von lua-Skrips braucht. Deswegen nehme man z.B. den Editor "leafpad". Die Zeile im obigen shell-Skript
lautet dann:
Code: Alles auswählen
lxterminal -e leafpad  $lastlua
Joedi
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 11
Registriert: 17.02.2020, 21:02
Wohnort: MA/HD
Kamera(s): IXUS60, A470, A530, A570IS, A590IS, SX230, M10

Zurück zu Code-Ecke

Wer ist online?

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