Funktion bei Aufnahme starten

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

Funktion bei Aufnahme starten

Beitragvon TobiMarg » 17.01.2012, 20:00

Hallo

Ich habe ein paar Fragen:
1 In welche(n) Dateien / Funktion(en) muss ich etwas verändern, damit eine selbstgemachte Funktion bei der Aufnahme aufgerufen wird?
2 Wie kann ich in einer Funktion die wie in Frage 1 gestartet wird auf das gerade aufgenommene Bild zugreifen (RAW / Bearbeitetes JPG)?
3 Kann ich, wenn ja wie, das Bild wie bei der RAW-Entwiklung, während der Aufnahme verändern?
4 Kann ich auf die EXIF-Daten des gerade aufgenommenen Bildes zugreifen?

5 Kann ich ein (eigenes) JPG-Bild von der Kamera anzeigen lassen (egal wann).


Viele Grüsse in Hoffnung auf Antworten
TobiMarg
TobiMarg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 102
Registriert: 24.09.2011, 15:17
Kamera(s): SX230HS 1.01c

Re: Funktion bei Aufnahme starten

Beitragvon rudi » 17.01.2012, 22:33

Hallo TobiMarg,

du willst tief ins CHDK eintauchen. Wichtigstes Hilfsmittel wird dafür die Dokumentation Doxygen sein.
Die Antworten für die Punkte 2-4 sollten in den Dateien /core/dng.c, /core/raw.c und /core/curves.c zu finden sein. Punkt 1 könntest du möglicherweise Beantworten, wenn du feststellst von wo die Hauptfunktionen dieser Dateien aufgerufen 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: Funktion bei Aufnahme starten

Beitragvon msl » 17.01.2012, 23:33

Hallo TobiMag,

zu Punkt. 5 gibt es ja diverse Forumbeiträge, wie ein Fremdbild formatiert werden muss, damit die Kamera es anzeigt - siehe z.B. hier.

Damit das Bild von der Kamera angezeigt wird, ist zwingend vorausgesetzt, dass der CIPA-Standard eingehalten wird. Außerdem muss das Bild beim Einschalten der Kamera existent sein. Es reicht nicht aus, ein Frembild per PTP auf die Kamera zu laden. Die Kamera wird es erst nach einem Neustart indizieren und anzeigen.

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: Funktion bei Aufnahme starten

Beitragvon TobiMarg » 18.01.2012, 18:17

Hallo

Vielen Dank für eure Antworten.

@rudi
Dann ich suche einmal in diesen Dateien (ich glaube ich habe schon fast das richtige gefunden).
Doxygen bring zu Firefox vielen "Nicht antwortendes Script" Warnungen und läuft sehr langsam. :(

@msl
Ich meinte das nicht so (den thread von deinem Link habe ich schon vor einer Weile gespeichert ;) ). Meine Frage war
eingentlich die ob ich der Kamera "sagen" kann "öffne das Bild A/Meine Bilder/ein bild.jpg", aber wahrscheinlich geht das nicht.

Meine neue Frage ist:
Was bewirkt egentlich "main.c"? Darin wird nähmlich raw_savefile und histogram_process und ich denke das könnte mit
meine vorigen Fragen etwas zu tun haben. :?:
TobiMarg
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 102
Registriert: 24.09.2011, 15:17
Kamera(s): SX230HS 1.01c

Re: Funktion bei Aufnahme starten

Beitragvon msl » 18.01.2012, 19:24

Hallo,

TobiMarg hat geschrieben: Meine Frage war eingentlich die ob ich der Kamera "sagen" kann "öffne das Bild A/Meine Bilder/ein bild.jpg", aber wahrscheinlich geht das nicht.
Ich hatte das schon in dieser Richtung verstanden, deshalb auch der CIPA-Hinweis. So wie du es dir wünschst, geht es leider nicht.

Doxygen läuft auch mit dem FF. Vielleicht musst du mehr Rechte in Sachen Skripte und Java freigeben. Außerdem ist das System sehr komplex. Die Anzahl der Dateien ist 6stellig. Aber vielleicht hilft dir das darin enthaltene Global. Damit kannst du dich per Verlinkung durch den Quellcode hangeln. http://doxygen.chdk-treff.de/HTML/mains.html

main.c kann dir rudi sicherlich besser erklären.

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: Funktion bei Aufnahme starten

Beitragvon rudi » 19.01.2012, 20:28

Hallo TobiMarg,

in der Datei /core/main.c ist hauptsächlichst der Spytask undergebracht. Er hat die Aufgabe (...task) zu beobachten (Spy...). Dieser wird beim Starten der Kamera über die boot.c in /platform/Kameraname/ gestartet und bleibt bis zum Ausschalten aktiv.
Der wichtigster Abschnitt zwischen Zeile 166 und 205 wird aller höchstens aller 20 Millisekunden durchlaufen. Hier erfolgt das Neuzeichnen der CHDK-Anzeige aller 80ms, das Zeichnen des Histogramms und nach Beendigung einer Aufnahme das endgültige Abspeichern eines RAW-Bildes (dieser Prozess wird vom Aufnahme-Task angefordert /plattform/.../capt_seq.c). Die Variable "state_shooting_progress" kann nur in der /core/dng.c oder core/raw.c auf "SHOOTING_PROGRESS_PROCESSING" gestzt werden. Das kannst du mit Doxygen schnell selber herausfinden.

Zum Test habe ich Doxygen mit dem "Portable" Firefox aufgerufen und es läuft einwandfrei.

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


Zurück zu Code-Ecke

Wer ist online?

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

cron