Sonnenauf- & Untergang, Blaue Stunde - Berechnungen

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

Re: Sonnenauf- & Untergang, Blaue Stunde - Berechnungen

Beitragvon msl » 14.01.2013, 23:07

Hallo Werner_O,

schön, dass wir das Speicherproblem entschärfen konnten.

Zu den Farben:

An dieser Stelle wollte ich noch einmal daran erinnern, dass Canon für alle Kamera-Modi unterschiedliche Farbpaletten verwendet. D.h., es gibt für Wiedergabe, Aufnahme, Menü, FUNC.SET-Menü unterschiedliche Farben.

Möglicherweise hast du dir in unterschiedlichen Modi die Farbpalette anzeigen lassen, was dann auch zu unterschiedlichen Ergebnissen führt.

Die im Skript verwendeten Farbwerte > 255 sind vordefinierte Stellvertreter. Sie enthalten den Hinweis auf den eigentlichen Farbwert zwischen 0 und 255. Es gibt also keine Darstellungsprobleme. Siehe auch CHDK-Handbuch S.120.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4551
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: Sonnenauf- & Untergang, Blaue Stunde - Berechnungen

Beitragvon Werner_O » 15.01.2013, 21:05

Hallo msl,

Danke für Deine Infos zu den verschiedenen Paletten - das ist ja irgendwie ein Mikrokosmos für sich, der sich nicht so einfach erschließt und sorgfältige Einarbeitung erfordert.

Aufgrund Deines gelegten Links zum Quellcode für die Palettendefinitionen hatte ich mir da mal den Abschnitt für meine SX20 kopiert:

316 #elif CAM_BITMAP_PALETTE==6
317
318 // Used by :- SX20
319
320 #define COLOR_WHITE 0x01
321 #define COLOR_RED 0x2B
322 #define COLOR_GREY 0x0F
323 #define COLOR_GREEN 0xA9
324 #define COLOR_BLUE_LT 0x2D
325 #define COLOR_BLUE 0x3B
326 #define COLOR_YELLOW 0x8B
327 #define COLOR_BG 0xFE
328 #define COLOR_FG COLOR_WHITE
329 #define COLOR_SELECTED_BG COLOR_RED
330 #define COLOR_SELECTED_FG COLOR_WHITE
331 #define COLOR_ALT_BG COLOR_BG
332 #define COLOR_SPLASH_RED COLOR_RED
333 #define COLOR_SPLASH_PINK 0xEA
334 #define COLOR_SPLASH_GREY 0x16
335 #define COLOR_HISTO_R COLOR_RED
336 #define COLOR_HISTO_R_PLAY COLOR_RED
337 #define COLOR_HISTO_B COLOR_BLUE
338 #define COLOR_HISTO_G COLOR_GREEN
339 #define COLOR_HISTO_G_PLAY COLOR_GREEN
340 #define COLOR_HISTO_BG COLOR_BLUE_LT
341 #define COLOR_HISTO_RG COLOR_YELLOW
342 #define COLOR_HISTO_RB COLOR_RED
343 #define COLOR_HISTO_RB_PLAY COLOR_HISTO_RB
344 #define COLOR_HISTO_B_PLAY COLOR_HISTO_B
345 #define COLOR_HISTO_BG_PLAY COLOR_BLUE_LT
346 #define COLOR_HISTO_RG_PLAY COLOR_YELLOW
347
348 // Icon colors
349 // 3 shades of Red, Green, Yellow and Grey
350 // Separate definitions for record and playback mode
351 // to cater for cameras with variable palettes
352 #define COLOR_ICON_REC_RED 0x2C
353 #define COLOR_ICON_REC_RED_DK 0x91
354 #define COLOR_ICON_REC_RED_LT 0x26
355 #define COLOR_ICON_REC_GREEN 0xB0
356 #define COLOR_ICON_REC_GREEN_DK 0xB7
357 #define COLOR_ICON_REC_GREEN_LT 0xA9
358 #define COLOR_ICON_REC_YELLOW 0xDB
359 #define COLOR_ICON_REC_YELLOW_DK 0xD9
360 #define COLOR_ICON_REC_YELLOW_LT 0xDD
361 #define COLOR_ICON_REC_GREY COLOR_GREY
362 #define COLOR_ICON_REC_GREY_DK 0x11
363 #define COLOR_ICON_REC_GREY_LT 0x10
364 #define COLOR_ICON_PLY_RED 0x25
365 #define COLOR_ICON_PLY_RED_DK 0x2C
366 #define COLOR_ICON_PLY_RED_LT 0x1E
367 #define COLOR_ICON_PLY_GREEN 0xA5
368 #define COLOR_ICON_PLY_GREEN_DK 0xAC
369 #define COLOR_ICON_PLY_GREEN_LT 0x9E
370 #define COLOR_ICON_PLY_YELLOW 0x75
371 #define COLOR_ICON_PLY_YELLOW_DK 0x7A
372 #define COLOR_ICON_PLY_YELLOW_LT 0x71
373 #define COLOR_ICON_PLY_GREY COLOR_ICON_REC_GREY
374 #define COLOR_ICON_PLY_GREY_DK COLOR_ICON_REC_GREY_DK
375 #define COLOR_ICON_PLY_GREY_LT COLOR_ICON_REC_GREY_LT

Da 0x3B für Blau (siehe Zeile 325) aus der ersten Tabelle ja bei mir nicht funktioniert hatte bin ich auf die zweite Tabelle ausgewichen, wo aber leider gar kein Blau definiert ist.
Also habe ich es alternativ mit Grün aus der zweiten Tabelle versucht (0xB0 - siehe Zeile 355), was aber gründlich schief gegangen ist und zu einem kaum mehr lesbaren dunklen Grau führte.

Gerettet hat mich letztlich CHDK mit der Palettenanzeige im Wiedergabemodus, wo mir das Grün 0xAC als Ersatz für die hier fehlenden blauen Farben als passend erschien.
Nach Ändern der Zeile 50 der momentan aktuellen Twilight Skriptversion v0.8.104 auf "BLUE = 172" erscheint jetzt im Display für die zugewiesenen Tasten statt Blau ein kräftiges Grün, welches auch bei großen Betrachtungswinkeln noch einwandfrei abzulesen ist, und letzteres war ja genau das was ich erreichen wollte.

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: Sonnenauf- & Untergang, Blaue Stunde - Berechnungen

Beitragvon Sinter » 18.01.2013, 13:36

Hallo,

nachdem manche Kameras etwas wenig freien Speicher für umfassende Skripte besitzen, vielleicht können hier Programmierer kurz sagen, ob der Befehl „dofile(File)“ geeignet wäre, um ein Skript eventuell in verschiedene Unterteile zu zerlegen. Sofern man dadurch den Arbeitsspeicher überhaupt entlasten kann.

Jedenfalls schlummert der Befehl seit Jahren im Handbuch von Msl und ich kenne bisher kein Skript, welches diesen Befehl tatsächlich verwendet. Es wäre durchaus interessant, mittels „dofile(File)“ aus einem „Master-Skript“ heraus verschiedene zugehörige „Sub-Skripte“ anzusteuern.

Viele Grüße,
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 13:16
Wohnort: München

Vorherige

Zurück zu Code-Ecke

Wer ist online?

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