[Lua] portable Entwicklungsumgebung für Windows

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

portable Entwicklungsumgebung für Windows

Beitragvon rudi » 10.06.2016, 18:12

Lua-Skripter,

die erste Variante der CHDK-hostlua-Umgebung war aufwendig zu installieren und zu konfigurieren. Die benutzte Software Notepad++ (NPP), NppExec, CHDK hostlua, CHDK Emulator Skripte, chdkptp und Lua sind Open Source unter GPL-Lizenz oder vereinbar mit GPL-Lizenz. Daher sind nun alle benötigten Komponenten und ein Konfigurationsskript in einem Projekt zusammengefasst und wird unter GPLv2 Lizenz veröffentlicht. Die projektspezifischen Quellen sind hier abgelegt.

Um CHDK-Skripte unter Windows ausführen zu können, wird hostlua benutzt. Das ist ein Lua-Kompiler mit den Eigenheiten von CHDK, wie ausschießliche Integerrechnung oder eingeschränkte mathematische Funktionen. Nicht hinterlegt sind kameraspezifische Funktionen. Diese werden größtenteils durch reyalps Emulator-Skript ergänzt. Für das Ausführen von Skripten auf der Kamera wird reyalps chdkptp benutzt.

"hostluaPortable" ist eine gemeinsames Projekt zusammen mit msl. Ein großen Dank meinerseits an ihn!

portable CHDK Entwicklungsumgebung für Windows - hostlua & ptp
  • vollständig Portable
  • ein Konfigurationsskript
  • Spracheinstellung für NPP
  • Autovervollständigung und Hervorhebung für CHDK Funktionen im NPP
  • Funktionsliste für Lua Funktionen und einfache Tabellen im NPP
  • Ausführen von CHDK Lua-Skripten
  • Ausführen von CHDK Lua-Skripten im Kamera-Emulator mit Tastatur und Display
  • libusb ist optional, aber für alle ptp Funktionen erforderlich
    • Ausführen von Lua-Skripten auf der Kamera
    • Ãœbertragen von Dateien auf die Kamera
    • Abarbeiten von chdkptp Befehlen aus Befehlsdateien
    • Ausführen von Lua-Skripten mit dem integrierten Lua aus chdkptp
    • Ausführen von Lua-Skripten mit 'ursprünglichem' Lua

    3 SCHRITTE ZUM START
    1. Installation
      • den Ordner "hostluaPortable" aus hostluaPortable_Vx.x.xxx.zip an einem beliebigen Ziel entpacken.
    2. Installation konfigurieren
      • erforderlich nach:
        • Erstinstallation
        • ändern des Laufwerksbuchstabens oder Verzeichnisses
        • Aufforderung bei NPP Start
      • Ausführen der Datei "config.cmd" im Hauptordner "hostluaPortable\"
      • mögliche Optionen:
        • Vollständige Neukonfiguration durch vorheriges löschen des Links "Start Notepad++" möglich
        • Anpassung der Konfiguration in "hostluaPortable\config.ini"
          1. Spracheinstellung für NPP, aktuell für deutsch/deutsch, default englisch
          2. optionales Verzeichnis für chdkptp
    3. Starten
      • mit dem Link "Start Notepad++" im Hauptordner "hostluaPortable\"

    BEDIENUNG
    1. Allgemeines
      • CHDK Lua-Dateien werden immer einer einfachen SYNTAX-Prüfung unterzogen.
      • Speicherorte für Dateien:
        • CHDK Dateien müssen in den entsprechenden Ordnern unter "hostluaPortable\A\CHDK\..." abgelegt sein.
        • CHDK Lua-Bibliotheken sind in "hostluaPortable\A\CHDK\LUALIB\" zu speichern.
        • CHDK Lua-Skripte werden aus allen Ordnern akzeptiert. Bei der Ãœbertragung auf die Kamera ist der Speicherort für Skripte immer "A\CHDK\SCRIPS\".
        • PTP-Befehlsdateien besitzen die Endung ".ptp" und werden aus allen Ordnern akzeptiert.
      • Verfügbare Kommandos in NPP:
        • "CHDK Lua local"
          Ausführen von CHDK Lua-Skripten im CHDK Skript-Emulator.
        • "CHDK Lua local keypad"
          Ausführen von CHDK Lua-Skripten im Kamera-Emulator mit Tastatur und Display.

          Bedienung von CHDK hostlua keypad:
          1. Tastenkombinationen
            [STRG]+[UP]Taste UP
            [STRG]+[DOWN]Taste DOWN
            [STRG]+[RIGHT]Taste RIGHT
            [STRG]+[LEFT]Taste LEFT
            [STRG]+[ENTER]Taste FUNC/SET
            [STRG]+[h]Taste SHOOT HALF
            [STRG]+[s]Taste SHOOT FULL
            [STRG]+[v]Taste VIDEO
            [STRG]+[+]Taste ZOOM IN
            [STRG]+[-]Taste ZOOM OUT
            [STRG]+[m]Taste MENU
            [STRG]+[d]Taste DISP.
            [STRG]+[1]Taste RC1
            [STRG]+[2]Taste RC2
            [STRG]+[3]Taste RC3
            [STRG]+[4]Taste RC4
            [F2]wechsle LCD-Breite
            [F3]LCD-Breite 360 px
            [F4]LCD-Breite 480 px
            [ESC]EXIT - Abbruch des laufenden Skripts und beenden von keypad

          2. Kontext Menu:
            LCD Width ==>LCD 360 px
            LCD 480 px
            Code Page ==>1250
            1251
            1252
            1253
            1254
            1257
            GUI Close Type ==>On Exit Script (nach Skriptende)
            After 10 Seconds (nach 10 s Wartezeit)
            On Lost Focus (wenn keypad nicht mehr im Vordergrund ist)
            Exit

          3. Hintergrundfarbe:
            Änderung mit Klick im Displaybereich
            Farben: rosa, rot, gelb, grün, türkis, blau, hellgrau, grau, dunkelgrau

        • "CHDK Lua remote"
          Übertragen von Dateien auf die Kamera und ausführen von CHDK Lua-Skripten auf der Kamera.
        • "CHDK Lua remote output"
          Wie "CHDK Lua remote". Zusätzlich werden am Skriptende die Ausgaben der Kamera-Skriptkonsole im NPP ausgegeben. Skripte werden etwas langsamer ausgeführt gegenüber "CHDK Lua remote".
        • "CHDK PTP"
          Abarbeiten von PTP-Befehlen mit chdkptp.
          Die Befehle müssen in einer Datei mit der Endung "ptp" stehen.
          Befehlsliste unter: "hostluaPortable\bin\chdkptp\USAGE.TXT"
        • "Lua local (chdkptp)"
          Ausführen von Lua-Skripten mit Lua aus chdkptp.
          Lua-Bibliotheken sind in "hostluaPortable\bin\chdkptp\lua\npp\" zu speichern und mit 'require "npp.<libname>"' aufzurufen
        • "Native Lua"
          Ausführen von Lua-Skripten mit 'ursprünglichem' Lua.
          Lua-Bibliotheken sind im Verzeichnis des Skripts oder in "hostluaPortable\bin\nativelua\lua\" zu speichern.
    2. Anwenden
      • Lua Datei im NPP öffnen
      • Konsolen-Kommando im NPP starten
        • über Menü "Makro"
        • Kontextmenü "CHDK hostlua"
        • mit Taste [F6]
      • letztes Konsolen-Kommando wiederholen mit Tastenkombination [STRG]+[F6]

    AKTUALISIERUNG (ab Version 1.4.005)
    1. neue Datei hostluaPortable_x.x.xxx.zip im Hauptverzeichnis speichern
    2. update.cmd ausführen
    3. Datei hostluaPortable_x.x.xxx.zip kann gelöscht werden

[Update 16.06.2016] Version 4.1.001, mehr Informationen hier
[Update 24.06.2016] Version 4.1.002, mehr Informationen hier
[Update 30.06.2016] Version 4.1.003, mehr Informationen hier
[Update 24.08.2016] Version 4.1.004, mehr Informationen hier
[Update 14.09.2016] Version 4.1.005, mehr Informationen hier
[Update 20.03.2017] Version 4.1.006, mehr Informationen hier
[Update 26.06.2017] Version 4.1.007, mehr Informationen hier
[Update 19.07.2017] Version 4.1.008, mehr Informationen hier
[Update 24.11.2017] Version 4.1.009, mehr Informationen hier
[Update 29.11.2017] Version 4.1.010, mehr Informationen hier
[Update 11.12.2017] Version 4.1.011, mehr Informationen hier
[Update 05.11.2018] Version 4.1.012, mehr Informationen hier
[Update 17.12.2019] Version 4.1.013, mehr Informationen hier
[Update 02.01.2022] Version 4.2.001, mehr Informationen hier

Gruß rudi 000:2>001>7:002>10:003>37:004>57:005>130:006>180:007>194:008>255:009>268:010>276:011>395:012>716:013>1521:001>
Dateianhänge
hostluaPortable_4.2.001.zip
(7.57 MiB) 2468-mal heruntergeladen
Benutzeravatar
rudi
CHDK-Spezialist
CHDK-Spezialist
 
Beiträge: 510
Registriert: 11.09.2009, 11:27
Kamera(s): A590IS_101B, SX260_100B

Re: portable Entwicklungsumgebung für Windows

Beitragvon rudi » 16.06.2016, 08:21

Hallo,

neue Version 4.1.001 mit folgenden Änderungen:
  • Fehlerbehebung für 64-Bit Systeme zur Erkennung von libusb
  • einblenden der LUA-Fehlermeldung im Editor

Die Datei befindet sich im ersten Beitrag.

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

Re: portable Entwicklungsumgebung für Windows

Beitragvon rudi » 24.06.2016, 12:01

Hallo,

neue Version 4.1.002 mit folgenden Änderungen:
  • NppExec auf Version 0.5.9.9 dev umgestellt, behebt [Strg]+[F6] Einschränkung
  • Skripte starten über Menü "Makro" oder Kontextmenü "CHDK hostlua" oder Taste [F6]
  • letztes Kommando wiederholen [Strg]+[F6]
  • version.txt im Build hinzugefügt
  • Anzeige der Versionsnummer bei Initialisierung
  • Skripte zum Vergleich der LUA-Funktionen von hostlua & camera_funcs mit CHDK der Kamera (Ordner scripts/hcamdiff)
  • Schreibfehler in camera_funcs.lua beseitigt
  • aktuelles Verzeichnis bei "CHDK PTP" ist das Skriptverzeichnis
  • Fehlerausgabe für "CHDK PTP" verbessert
  • Fehleranzeige im Editor für LUA-Bibliotheken erweitert
Die Datei befindet sich im ersten Beitrag.

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

Re: portable Entwicklungsumgebung für Windows

Beitragvon rudi » 30.06.2016, 11:34

Hallo,

neue Version 4.1.003 mit folgenden Änderungen:
  • Menüeintrag "Ausführen > Open CHDK USAGES.TXT" hinzugefügt
  • Skript /hcamdiff/hcamdiff.lua überarbeitet
  • Fehler bei Remote-Ãœbertragung von Dateien, die keine LUA-Skripte sind, behoben
  • kleine Korrekturen in lua_local.npes, lua_remote.npes
  • createNppLuaFiles.lua auf relativen Ausgabepfade geändert
Die Datei befindet sich im ersten Beitrag.

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

Re: portable Entwicklungsumgebung für Windows

Beitragvon rudi » 24.08.2016, 11:31

Hallo,

neue Version 4.1.004 mit folgenden Änderungen:
  • Neu: INI-Datei für die Konfiguration im Hauptverzeichnis, Beschreibung unter "Installation konfigurieren > mögliche Optionen"
  • Neu: einfache Aktualisierung ab Version 4.1.005 durch update.cmd, Beschreibung unter "Aktualisierung"
  • Korrekturen und Erweiterung der Emulator-Skripte emu.lua und camera_funcs.lua. Danke msl!
Die Datei befindet sich im ersten Beitrag.

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

Re: portable Entwicklungsumgebung für Windows

Beitragvon msl » 04.09.2016, 09:30

Hallo rudi,

Danke für dieses hervorragende Paket.

Das Einrichten der CHDK-Lua-Skript-Entwicklungsumgebung wird damit zum Kinderspiel - herunterladen, in Ordner nach Wahl entpacken, config.cmd starten, fertig. Sehr gut finde ich, dass nun auch die vielen speziellen CHDK-Lua-Befehle bei den Syntaxhervorhebungen berücksichtigt werden. Dadurch sieht ein CHDK-Lua-Skript im Editor nun sehr übersichtlich aus. Evt. Fehler kann man schneller erkennen. Da macht das Skripten noch mehr Spaß.

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

Re: portable Entwicklungsumgebung für Windows

Beitragvon Werner_O » 11.09.2016, 14:20

Hallo rudi,

zunächst einmal vielen Dank für dieses vielversprechende "Komplettpaket", was überaus vielversprechend ist. Alleine die damit mögliche Lua-Syntax-Überprüfung wäre für mich als Lua-Programmierer Gold wert.

Ich möchte das auch gerne an meinem neu aufgesetzten Windows 10 Pro 64Bit ausprobieren.

Allerdings sind m.W. für das mit verwendete chdkptp auch zwingend die alternativen libUSB-Treiber notwendig, damit ich meine CAMs SX20, SX240 und S3 ansprechen kann. Aus meiner Erinnerung sind diese libUSB-Treiber aber unter Windows 10 Pro 64Bit nur sehr schwer wegen Problemen mit den nötigen Treibersignaturen installierbar.

Vor dem Ausprobieren würde ich darum schon gerne wissen, ob diese libUSB-Probleme bereits gelöst sind.
Möglicherweise mache ich ja auch nur einen Denkfehler, und alles ist viel einfacher als von mir gedacht.

NACHTRAG:
Auf meinem Windows 7 Pro 64Bit Laptop laufen die libUSB-Treiber sowie chdkptp übrigens einwandfrei.

Liebe Grüße
Werner_O
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: portable Entwicklungsumgebung für Windows

Beitragvon msl » 11.09.2016, 19:45

Hallo Werner,

die eigentliche Installation des LibUSB-Treibers ist unter Windows 10 nicht anders als bei älteren Windows-Betriebssystemen. Das Windows 10 muss aber in einem besonderen Startmodus gebracht werden, bei dem die Installation nicht zertifizierter Treiber akzeptiert wird. Ist der Treiber einmal installiert, kann Windows 10 wieder normal gestartet werden.

Hier habe ich eine mögliche Vorgehensweise beschrieben: viewtopic.php?f=7&t=3499

Leider hat sich herausgestellt, dass nicht zertifizierte Treiber bei größeren Windows-Updates wie z.B. dem Anniversary-Update 1607 wieder entfernt werden. In dem Fall muss man die Installationsprozedur halt wiederholen.

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

Re: portable Entwicklungsumgebung für Windows

Beitragvon Werner_O » 12.09.2016, 22:11

Hallo msl,

vielen Dank für Deine informative Antwort mit dem Link, welche sicherlich auch anderen Forumsusern mit Windows 10 64Bit hilfreich sein sollte.

Liebe Grüße
Werner_O
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: portable Entwicklungsumgebung für Windows

Beitragvon rudi » 14.09.2016, 19:03

Hallo,

neue Version 4.1.005 mit folgenden Änderungen:
  • Update auf chdkptp Rev. 727
  • Build-Skript angepasst
  • NppExec auf Entwicklerversion vom 28.06.2016 aktualisiert
  • liesmich.txt, readme.txt aktualisiert
Die Datei befindet sich im ersten Beitrag.

Seit Version 4.1.004 gibt es eine einfache Updatefunktion:
  1. ZIP-Datei der neuen Version im hostlua-Hauptverzeichnis speichern
  2. update.cmd im hostlua-Hauptverzeichnis ausführen
  3. die ZIP-Datei kann gelöscht werden
Gruß rudi
Benutzeravatar
rudi
CHDK-Spezialist
CHDK-Spezialist
 
Beiträge: 510
Registriert: 11.09.2009, 11:27
Kamera(s): A590IS_101B, SX260_100B

Re: portable Entwicklungsumgebung für Windows

Beitragvon msl » 15.09.2016, 19:36

Hallo rudi,

Danke für das Update, mit dem man nun auch die neue Update-Funktion erstmals benutzen konnte. Hat alles besten geklappt.

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

Re: portable Entwicklungsumgebung für Windows

Beitragvon rudi » 20.03.2017, 09:14

neue Version 4.1.006 mit folgenden Änderungen:
  • Update auf Notepad++ 7.3.3 (32-Bit), Änderung ab Version 7: Konfigurationsdatei wird bei Bedarf automatisch erzeugt
  • Update auf chdkptp trunk 735
  • Update CHDK rev. 4769
  • update.vbs: Erkennung von unvollständig entpacktem Update-Zip, wirksam ab Version 4.1.007
  • update.vbs: Darstellung der Revisionsnummer berichtigt
  • NPP: Konfigurationsdateivorlage (config.model.xml) hinzugefügt (ab NPP 7.x nicht mehr im Paket)
  • liesmich.txt, readme.txt aktualisiert
Die Datei befindet sich im ersten Beitrag.

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

Re: portable Entwicklungsumgebung für Windows

Beitragvon rudi » 26.06.2017, 11:51

neue Version 4.1.007 mit folgenden Änderungen:
  • Ausführen von LUA-Skripten mit dem integrierten LUA 5.2 aus chdkptp mit dem Makro 'LUA local (chdkptp)'. Keine CHDK-Einschränkungen, keine CHDK-Funktionen.
  • Update CHDK rev. 4832
  • liesmich.txt, readme.txt aktualisiert
Die Datei befindet sich im ersten Beitrag.

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

Re: portable Entwicklungsumgebung für Windows

Beitragvon rudi » 19.07.2017, 08:13

neue Version 4.1.008 mit folgenden Änderungen:
  • neues Skript keypad_config.lua für einfache Konfiguration des Kamera-Emulators
  • hcamdiff.lua überarbeitet
  • Entwickler-Abschnitt in liesmich.txt und readme.txt hinzugefügt
    • erstellen der Autovervollständigung und Schlüsselwortliste
    • vergleichen der LUA-Funktionen zwischen hostlua und CHDK auf der Kamera
Die Datei befindet sich im ersten Beitrag.

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

Re: portable Entwicklungsumgebung für Windows

Beitragvon rudi » 24.11.2017, 12:16

neue Version 4.1.009 mit folgenden Änderungen:
  • NPP auf Version 7.5.1 aktualisiert
  • keypad.exe, Version 0.4.2; bessere Farbzuordnung für Farbwerte 0..255; Basis A540, Playback Mode
  • neues CHDK Skript 'grid_viewer.lua', Vorschau und Syntax-Prüfung für Grids, Ordner '/scripts'
  • CHDK Grid-Ordner '/A/CHDK/GRIDS' hinzugefügt
  • Berichtigung bei lua-Tabellen für die NPP-Funktionsliste
Die Datei befindet sich im ersten Beitrag.

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

Nächste

Zurück zu Code-Ecke

Wer ist online?

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