CHDK-Quellcode-Dokumentation mit Doxygen und Global

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

CHDK-Quellcode-Dokumentation mit Doxygen und Global

Beitragvon msl » 25.02.2010, 13:33

Hallo Bastler,

in einer kurzen Neuigkeiten-Meldung hat es CHDKLover schon angekündigt. Wir haben jetzt auch eine automatisch generierte Dokumentation des CHDK-Quellcodes.

CHDK-DE-Quellcode-Dokumentation

Das ganze gibt es auch für die internationale CHDK-Version, wird aber leider nicht mehr gepflegt.

Was bringt diese Dokumentation?

Sie hilft allen, die etwas mehr aus CHDK herausholen wollen, CHDK besser zu verstehen. Mit etwas Sachverstand erkennt man auch ohne Programmierkenntnisse in C den einen oder anderen Zusammengang.

Zuerst kann man sich einen Überblick über die Strukturen von CHDK verschaffen. Dazu gibt es zwei Möglichkeiten, chronologisch oder alphabetisch. Klickt man z.B. links auf das Plus von "Auflistung der Dateien", werden alle Quellcode-Dateien in einer Baumstruktur angezeigt.

Klickt man nun z.B. auf "core/conf.c", kommt man auf die Dokumentationsseite der Konfigurationsdatei conf.c. Hier werden nun Referenzen für Datenstrukturen, Definitionen, Funktionen und Variablen angezeigt.

Der kleine Link "gehe zum Quellcode Dieser Datei" führt uns zum Herzstück der Dokumentation, dem Daten-Browser. Hier ist sozusagen alles untereinander verlinkt. Zieht man den Mauszeiger auf einen Link, erhält man über eine kleines Informationsfenster, dem Tag, zusätzliche Informationen. Entweder wird der Referenzort angezeigt oder bei Mehrfachreferenzierung die Anzahl der Referenzen. In diesem Fall führt der Link zu einer Liste.

So lassen sich Abhängigkeiten und Ursprung diverser CHDK-Funktionen relativ leicht ermitteln. In unserem Beispiel mit der Datei conf.c könnte man sich beispielsweise in Zeile 156 anzeigen lassen, wo überall die Konfiguration für "show_dof" (Im CHDK-Menü ist das die Einstellung "Zeige DOF") benutzt wird, in dem man auf "show_dof" klickt.

Über die Suche kann man referenzierte Strukturen, Definitionen, Funktionen und Variablen finden. Wie immer ist so eine Suchmaschine nicht perfekt.

Der Seitenaufbau könnte manchmal etwas dauern. Immerhin besteht das System aus ca. 11.000 Seiten.
Zuletzt geändert von msl am 03.02.2011, 11:24, insgesamt 4-mal geändert.
Grund: Linkanpassung
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4507
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon rudi » 25.02.2010, 20:18

Hallo msl,

sehr gut, Danke.

Im Gegensatz zur ersten "Offline"-Version funktioniert bei mir die Ajax-Suchfeld-Unterstützung nicht mehr.

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

Beitragvon CHDKLover » 25.02.2010, 20:25

Hallo rudi,
in der 2. Version haben wir eine serverseitige PHP Suche aktiviert. Ob sich die lohnt müsste man testen.

Was meinst du, war die Sucher der ersten Version besser?

CHDKLover
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 19:25
Wohnort: Dresden
Kamera(s): a610 100e

Beitragvon rudi » 25.02.2010, 21:40

Hallo CHDKLover,

bei Eingaben im Suchfeld wurden mögliche Suchberiffe zur Auswahl angezeigt. Wie im WIKI-Suchfeld.

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

Beitragvon CHDKLover » 25.02.2010, 22:54

Hallo rudi,
was meinst du mit "Offline"-Version?
Es gab bisher 2 Versionen:

Jetzt müssten wir uns in der nächsten Zeit für eine Suchart entscheiden.

CHDKLover
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 19:25
Wohnort: Dresden
Kamera(s): a610 100e

Beitragvon rudi » 26.02.2010, 00:06

Hallo CHDKLover,

ich meine die Version mit JavaScript-Suche. Diese empfinde ich besser in der Benutzug.

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

Beitragvon Belichter » 26.02.2010, 19:21

Hallo zusammen,

die Doxygen-Strukturen geben einen hervorragenden Überblick über das Projekt.

In der internationalen Version
kann man z.B. bei "lua_State Struct Reference" auf
"Collaboration diagram for lua_State:" klicken und erhält einen Graphen.

Erzeugen kann man diese Darstellung vollautomatisch mit Doxygen,
wenn man Graphviz installiert.

Dieses Programmpaket ist auch für sich schon überaus mächtig.
Es gibt zahlreiche Frontends und es ist leicht in eigene Anwendungen integrierbar.

Für Eclipse gibt es ein komfortables Doxy-Plugin.

bis dann

Bild
IXUS 970 IS 100b
Belichter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 170
Bilder: 11
Registriert: 21.05.2009, 10:21
Wohnort: Solingen
Kamera(s): ixus 970 IS 100b

Beitragvon msl » 27.02.2010, 11:44

Hallo,

die graphische Aufbereitung hatte ich erst mal bewusst weggelassen, da das Gesamtpaket nicht gerade klein ist.

Wir werden das aber aber bei zukünftigen Versionen mit berücksichtigen, wenn die Performance darunter nicht leidet.

Nebenbei bemerkt wird Eclipse immer wieder als komfortables und mächtiges Werkzeug empfohlen. Das mag schon sein, wenn man sich eingearbeitet hat. Mal schnell eine Dokumentation wie diese zu erstellen, ist aber nicht möglich. Ich bin unter Ubuntu schon daran gescheitert, auf die schnelle die passenden Pakete zusammenzustellen. Vielleicht hat der eine oder andere da mehr Erfahrungen und kann mal berichten.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4507
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon Belichter » 27.02.2010, 16:16

Hallo msl,

Fluch und Segen von Eclipse...

Es gibt Erweiterungen / Plugins wie Sand am Meer, die aber auch zusammenpassen müssen.
Du hast recht, man muß sich die Grundlagen erarbeiten.
Dann wird man es lieben (oder nicht).

Das kann man aber beiläufig machen, ich meine damit parallel zu seiner bisherigen Entwicklungsumgebung, und trotzdem am SELBEN Quellcode arbeiten. (Verzeichnis oder SVN)

Ich mach das unter Windows und habe bei Problemen immer Hilfe im Internet finden können.

Unter Ubuntu habe ich mittlerweile auch eine funktionsfähige Installation für meine Interessenlage.
Das habe ich zunächst über die Paketverwaltung versucht und war nicht sonderlich erfolgreich.

Es gibt aber eine geniale Möglichkeit mit sehr geringem Aufwand zu einem lauffähigen System zu kommen. (Für mehrere Betriebssysteme!)

YOXOS

Da kann man sich die wichtigen Komponenten zusammensuchen, als Paket downloaden und installieren. (Es reicht ein Auspacken in ein beliebiges Verzeichnis auf das man Zugriff hat)
Das installierte System kann sich dann automatisch aktuell halten.

(gcc, mingw (Win) etc., oder Java SDK etc. muß natürlich auch noch passend installiert werden)

CHDK habe ich bisher nicht darunter compiliert, trotzdem kann ich aber in der aus dem SVN ausgecheckten Version navigieren und auch die Doxygen-Doku erstellen.
Leider kenne ich mich nicht mit den ARM-spezifischen Dingen aus.
Hätten wir eine komplette Eclipse-Installation, könnte ein Repository mit allen Konfigurationen ( auch abweichenden Varianten) zum Download angeboten werden.
Das gibt dann spezifische CHDKs auf Knopfdruck. ( Obwohl ich ja großer CHDK-Shell Fan bin)

Externe batch-/scriptfähige Tools lassen sich natürlich auch in Eclipse integrieren.

bis dann
IXUS 970 IS 100b
Belichter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 170
Bilder: 11
Registriert: 21.05.2009, 10:21
Wohnort: Solingen
Kamera(s): ixus 970 IS 100b

Beitragvon msl » 27.02.2010, 16:36

Danke für die Infos, Belichter.

Das werde ich mir bestimmt genauer anschauen.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4507
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon msl » 02.03.2010, 18:40

Hallo,

Dank der Hinweise von Belichter habe Eclipse doch noch zum Laufen gebracht. YOXOS ist eine gute Anlaufstelle, wenn man weiß, was man braucht. Letztendlich benutze ich nun aber doch Einzelkomponenten für die Erstellung der Dokumentation.

Neue Version der Quellcode-Dokumentation

Neu sind grafische Übersichten der Abhängigkeiten. Diese können bei Bedarf aufgeklappt werden. Die Suchfunktion ist nun so, wie sie sich rudi gewünscht hat. Das ganze Paket ist nun auch optisch etwas an CHDK und Forum angepasst.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4507
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon rudi » 02.03.2010, 23:02

Hallo msl,

vielen Dank für die Umsetzung meiner Sonderwünsche.

Klasse Arbeit und so aktuell!

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

Beitragvon msl » 11.04.2010, 13:13

Für die, die es interessiert, gibt es nun auch die Quellcode-Dokumentation für die

CHDK-DE-Version mit PTP-Interface

zum Studium der Funktionen.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4507
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a


Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 2 Gäste

cron