[Info] CHDK-Shell: optionale Komponenten (Compile Options)

Welche Kameras werden unterstützt, Einrichtung der SD-Karte mit CHDK.

CHDK-Shell: optionale Komponenten (Compile Options)

Beitragvon trichtex » 12.05.2010, 13:07

Moin!

Gibt es eigentlich irgendwo eine Zusammenfassung mit einer kurzen Beschreibung der optionalen Komponenten für CHDK-Shell? Mit OPT_TEXTREADER und OPT_GAME_xxx kann ich ja noch was anfangen, aber was z. B. OPT_GEN_STUBS oder OPT_FI2 ist, erschließt sich mir nicht. Auch ist mir nicht überall klar, ob die jeweilige optionale Komponente im Hauptprogramm untergebracht ist oder ob Dateien in einem Verzeichnis generiert werden (würde ich bei z. B. Curves vermuten).

Falls es sowas noch nicht gibt, fange ich mal mit den Punkten an, bei denen ich mir ziemlich sicher bin:

OPT_LUA_IOLIB
OPT_LUA_OSLIB
OPT_GAME_REVERSI - Das Spiel Reversi im Hauptprogramm
OPT_GAME_SOKOBAN - Das Spiel Sokoban im Hauptprogramm, Levels in eigenem Verzeichnis
OPT_GAME_CONNECT4 - Das Spiel 4 gewinnt im Hauptprogramm
OPT_GAME_MASTERMIND - Das Spiel Mastermind im Hauptprogramm
OPT_CURVES
OPT_TEXTREADER - Ein einfacher Textbetrachter im Hauptprogramm
OPT_CALENDAR - Ein Kalender im Hauptprogramm
OPT_DEBUGGING
OPT_EDGEOVERLAY
OPT_LUA_STRLIB
OPT_LUA_CALL_NATIVE
OPT_MD_DEBUG
OPT_FI2
OPT_WARNINGS
OPT_GEN_SIGS
OPT_GEN_STUBS

Immerhin, 6 von 18 und bei einigen weiteren habe ich eine vage Vorstellung ;-)

Munter bleiben... TRICHTEX
Powershot A610 100e mit CHDK DE aktuell
trichtex
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 44
Registriert: 20.05.2008, 08:32

Beitragvon msl » 12.05.2010, 14:28

Hallo,

interessante Frage! Es gibt eine kurze (englische) Beschreibung für die optionalen Komponenten, der Bedeutung sich nicht sofort erschließt. Das ist im Quellcode zu finden.

Das Aus- bzw. Einschließen dieser Komponenten hat ausschließlich auf den binären zu compilierenden Teil Einfluss. Der generierte Ordner CHDK ist davon nicht betroffen.

Es gibt neben den bekannten Optionen aus der CHDK-Shell noch einige weitere optionale Komponenten, die für besondere Anwenderfälle benutzt werden können. Sie sind aber in der normalen Version auskommentiert. Bei Bedarf kann man aber die Datei buildconf.inc für persönliche Einstellungen anpassen.

standardmäßig aktivierte Komponenten:

  • OPT_LUA_IOLIB=1 Lua-IO-Bibliothek für entsprechende Lua-Funktionen
  • OPT_LUA_OSLIB=1 Lua-OS-Bibliothek für entsprechende Lua-Funktionen
  • OPT_GAME_REVERSI=1 Spiel
  • OPT_GAME_SOKOBAN=1 Spiel
  • OPT_GAME_CONNECT4=1 Spiel
  • OPT_GAME_MASTERMIND=1 Spiel
  • OPT_CURVES=1 Kurvenfunktion
  • OPT_TEXTREADER=1 Textreader
  • OPT_CALENDAR=1 Kalender
  • OPT_DEBUGGING=1 Debugging-Funktionen im CHDK (alles was im Debug-Menü erscheint)
  • OPT_EDGEOVERLAY=1 Konturenüberlagerung
  • OPT_LUA_STRLIB=1 Lua-Zeichenketten-Bibliothek für entsprechende Lua-Funktionen
  • OPT_GEN_SIGS=1 Generierung von Funktionssignaturen (für Entwickler wichtig)
  • OPT_GEN_STUBS=1 Generierung der Datei stubs_entry.S (für Entwickler wichtig)

standardmäßig deaktivierte Komponenten:

  • OPT_LUA_CALL_NATIVE=1 Möglichkeit, über Lua ROM-Funktionen aufzurufen
  • OPT_MD_DEBUG=1 Debugmodus der Bewegungserkennung
  • OPT_FI2=1 Generierung der Datei ps.fi2 (Schlüssel zur Generierung notwendig)
  • OPT_WARNINGS=1 Compiler-Warnungen ausgeben (für Entwickler wichtig)

auskommentierte mögliche Optionskomponenten:

  • !OPT_UBASIC=1 uBasic aktiveren/deaktivieren
  • !OPT_LUA=1 Lua aktiveren/deaktivieren
  • !OPT_SYMBOLS=1 Menüsymbole aktiveren/deaktivieren
  • !OPT_LANGUAGEINTERFACE=1 Möglichkeit der Auswahl von Sprachdateien aktiveren/deaktivieren


Hauptsächlich handelt es sich hierbei um Komponenten, die den Speicherbedarf von CHDK maßgeblich beeinflussen oder etwas mit Entwicklung und Debugging zu tun haben. Man kann aber sicherlich noch so manche Komponente optional gestalten. Ich habe z.B. in meinem Branch alle USB-Fernbedien-Synchron-Funktionen optional heraus geschmissen, da diese für die normale Benutzung eher überflüssig sind.

Vielleicht gibt es Vorschläge, für welche Komponenten eine optionale Verfügbarkeit Sinn macht.

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 trichtex » 12.05.2010, 16:47

Moin!

msl hat geschrieben:Das Aus- bzw. Einschließen dieser Komponenten hat ausschließlich auf den binären zu compilierenden Teil Einfluss. Der generierte Ordner CHDK ist davon nicht betroffen.


Gut, so werden "meine" Binaries also schlanker, je mehr unbenötigte Optionen ausgeklammert werden. Bei den Bibliotheken ist es mir ja weitgehend egal, große Speicherkarten kosten ja nicht die Welt...

Hauptsächlich handelt es sich hierbei um Komponenten, die den Speicherbedarf von CHDK maßgeblich beeinflussen oder etwas mit Entwicklung und Debugging zu tun haben. Man kann aber sicherlich noch so manche Komponente optional gestalten.


Gute Idee. Es gibt tatsächlich einige CHDK-Funktionen, die ich noch nie benutzt habe. Tonwertkurven und Konturüberlagerung beispielsweise, aber die lassen sich ja deaktivieren.

Ich habe z.B. in meinem Branch alle USB-Fernbedien-Synchron-Funktionen optional heraus geschmissen, da diese für die normale Benutzung eher überflüssig sind.


Im Grunde könnte der ganze USB-Fernbedienungsteil optional gemacht werden. Ich schätze, die wenigsten Anwender werden eine Fernbedienung haben.

Vielleicht gibt es Vorschläge, für welche Komponenten eine optionale Verfügbarkeit Sinn macht.


Da fällt mir sofort die Taschenlampe ein ;-)

Ernsthaft: Darüber mache ich mir mal Gedanken. Danke für Deine umfassende und - wie nicht anders zu erwarten - überaus kompetente Antwort!

Munter bleiben... TRICHTEX
Powershot A610 100e mit CHDK DE aktuell
trichtex
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 44
Registriert: 20.05.2008, 08:32

Beitragvon msl » 12.05.2010, 17:00

Noch ein kurzer Nachtrag:

Mit Speicherbedarf ist hier der Arbeitsspeicher der Kamera gemeint. Und da sind einige Kameras nicht gerade üppig ausgestattet. Und gerade die Lua-Bibliotheken nehmen einen nicht unerheblichen Platz ein. Platzfresser sind aber auch Sprachdateien sowie RBF-Zeichensätze und Symbol-Dateien.

Wer öfters Kamera-Abstürze mit seiner Kamera erlebt, sollte evt. mal mit einer abgespeckten CHDK-Version arbeiten.

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 trichtex » 12.05.2010, 17:16

Moin!

msl hat geschrieben:Mit Speicherbedarf ist hier der Arbeitsspeicher der Kamera gemeint. Und da sind einige Kameras nicht gerade üppig ausgestattet.


Stimmt. Gibt es für unsere Kameramodelle eine Angabe, wieviel internen Speicher sie haben?

Munter bleiben... TRICHTEX
Powershot A610 100e mit CHDK DE aktuell
trichtex
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 44
Registriert: 20.05.2008, 08:32

Beitragvon msl » 12.05.2010, 18:23

Erwischt! Nicht im Handbuch nachgelesen. :D

Unter "Verschiedene Einstellungen" "Speicher-Info" aufrufen. Hier werden der freie und der von CHDK benutzte Speicher angezeigt. Wenn man hier im laufenden Betrieb öfters mal nachschaut, sieht man, wie der Verbrauch bei bestimmten Funktion steigt.

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 trichtex » 13.05.2010, 09:03

Moin!

msl hat geschrieben:Erwischt! Nicht im Handbuch nachgelesen. :D


Peinlich, peinlich. "Speicher-Info" hab' ich zwar im Menü gesehen, dachte aber, das beziehe sich auf die Karte...

Unter "Verschiedene Einstellungen" "Speicher-Info" aufrufen.


Freier Speicher plus CHDK ergibt bei meiner A610 613032 Bytes. Was'n das für 'ne "krumme" Zahl?

Es kann sich m. E. nur um einen Teil des gesamten physikalischen Speichers handeln, den die Kamera-FW für solche Zwecke reserviert oder schlicht nicht belegt. Ob nun die Kamera die FW aus dem Flashspeicher ins RAM kopiert oder ein großer Teil für ein maximal großes RAW-Image, ein weiterer für die Umrechnung nach JPG und noch einer für das JPG selbst reserviert ist? Dann müßte der physikalisch vorhandene Speicher der A610 mindestens 8MB, eher wohl 16MB groß sein. Könnte interessant sein, eine komplette Memory Map zu erstellen - aber womöglich auch recht schwierig. U. U. ließe sich mit so einer Information einiges anfangen, wobei zunächst mal fraglich wäre, ob das ohne Eingriffe an der CANON-FW möglich wäre.

Munter bleiben... TRICHTEX
Powershot A610 100e mit CHDK DE aktuell
trichtex
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 44
Registriert: 20.05.2008, 08:32

Beitragvon msl » 13.05.2010, 16:44

Hallo,

ja sicherlich entspricht diese Angabe nur einem Teil des verfügbaren Arbeitsspeicher. Sie soll aber verdeutlichen, dass da nicht mehr all zu viel an Speicher zur Verfügung steht.

Hier ist eine interessante Wiki-Seite (englisch), die den Verbrauch der der einzelnen CHDK-Komponenten näher beschreibt. Man sieht auf dieser Seite auch, wie unterschiedlich die Kameras mit Speicher ausgestattet sind.

Selbst die Bildordner-Strukturen verbrauchen Speicher. Wer hier sehr viele xxxCANON-Ordner auf der Karte hat, dem steht weniger Arbeitsspeicher zur Verfügung.

Um wieder auf das eigentliche Thema zurück zu kommen. Bei Schwierigkeiten mit CHDK kann es schon helfen, die eine oder andere Komponente mal nicht mit zu compilieren, um Platz zu sparen.

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


Zurück zu Installation (Integration)

Wer ist online?

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

cron