CHDK_DE Vorschauversion  Trunk Rev. 5514
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
lib.c-Dateireferenz
#include "platform.h"
#include "platform_palette.h"
#include "lolevel.h"
#include "sd1200_debug.h"
+ Include-Abhängigkeitsdiagramm für lib.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define DEBUG_LED   LED_IO_Y
 

Funktionen

void vid_bitmap_refresh ()
 
void shutdown ()
 
int get_flash_params_count (void)
 
void camera_set_led (int led, int state, int bright)
 
void debug_led (int state)
 
void load_chdk_palette ()
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 
void * vid_get_bitmap_active_buffer ()
 
void * vid_get_bitmap_active_palette ()
 

Makro-Dokumentation

#define DEBUG_LED   LED_IO_Y

Definiert in Zeile 45 der Datei lib.c.

Dokumentation der Funktionen

void camera_set_led ( int  led,
int  state,
int  bright 
)

Definiert in Zeile 35 der Datei lib.c.

36 {
37  int leds[] = {0x134,0x138,0x134,0x130,0x134,0x3030,0x3030}; // green=4 | (yellow) | (not used) | orange | (not used) | af beam | timer
38  volatile long *p=(void*)0xc0220000 + leds[(led-4)%sizeof(leds)];
39  if (state)
40  p[0]=0x46;
41  else
42  p[0]=0x44;
43 }
void debug_led ( int  state)

Definiert in Zeile 46 der Datei lib.c.

47 {
48  * (int *) DEBUG_LED = state ? 0x46 : 0x44;
49 }
int get_flash_params_count ( void  )

Definiert in Zeile 28 der Datei lib.c.

28  {
29  return 0x7a; // Found @0xffd1c038
30 }
void load_chdk_palette ( )

Definiert in Zeile 53 der Datei lib.c.

53  {
54 
55  extern int active_palette_buffer;
56  // Only load for the standard record and playback palettes
57  if ((active_palette_buffer == 0) || (active_palette_buffer == 1))
58  {
59  int *pal = (int*)vid_get_bitmap_active_palette();
60  if (pal[CHDK_COLOR_BASE+0] != 0x33ADF62)
61  {
62  pal[CHDK_COLOR_BASE+0] = 0x33ADF62; // Red
63  pal[CHDK_COLOR_BASE+1] = 0x326EA40; // Dark Red
64  pal[CHDK_COLOR_BASE+2] = 0x34CD57F; // Light Red
65  pal[CHDK_COLOR_BASE+3] = 0x373BFAE; // Green
66  pal[CHDK_COLOR_BASE+4] = 0x34BD6CA; // Dark Green
67  pal[CHDK_COLOR_BASE+5] = 0x395AB95; // Light Green
68  pal[CHDK_COLOR_BASE+6] = 0x34766F0; // Blue
69  pal[CHDK_COLOR_BASE+7] = 0x31250F3; // Dark Blue
70  pal[CHDK_COLOR_BASE+8] = 0x37F408F; // Cyan
71  pal[CHDK_COLOR_BASE+9] = 0x3512D5B; // Magenta
72  pal[CHDK_COLOR_BASE+10] = 0x3A9A917; // Yellow
73  pal[CHDK_COLOR_BASE+11] = 0x3819137; // Dark Yellow
74  pal[CHDK_COLOR_BASE+12] = 0x3DED115; // Light Yellow
75  pal[CHDK_COLOR_BASE+13] = 0x0090000; // Transparent dark grey
76 
78  }
79  }
80 }
void shutdown ( )

Definiert in Zeile 12 der Datei lib.c.

13 {
14  volatile long *p = (void*)0xc022001C; // from task_by (not really complete)
15 
16  asm(
17  "MRS R1, CPSR\n"
18  "AND R0, R1, #0x80\n"
19  "ORR R1, R1, #0x80\n"
20  "MSR CPSR_cf, R1\n"
21  :::"r1","r0");
22 
23  *p = 0x44;
24 
25  while(1);
26 }
void vid_bitmap_refresh ( )

Definiert in Zeile 6 der Datei lib.c.

7 {
8  _ScreenLock();
10 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 86 der Datei lib.c.

87 {
88  return (void*)(*(int*)(0x49d4+0x14)); // "Add: %p Width : %ld Hight : %ld", sub_ffcadf5c
89 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 92 der Datei lib.c.

93 {
94  extern int active_palette_buffer;
95  extern char** palette_buffer_ptr;
96  return (palette_buffer_ptr[active_palette_buffer]+16);
97 }
int vid_get_palette_size ( )

Definiert in Zeile 84 der Datei lib.c.

84 { return 256 * 4; } //Found @ 0xffcadeb0 fw 100b
int vid_get_palette_type ( )

Definiert in Zeile 83 der Datei lib.c.

83 { return 3; }