CHDK_DE Vorschauversion  Trunk Rev. 6014
 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-Abhängigkeitsdiagramm für lib.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define LED_PR   0xC022D1FC
 
#define LED_AF   0xC022D200
 

Funktionen

void vid_bitmap_refresh ()
 
void shutdown ()
 
void debug_led (int state)
 
void camera_set_led (int led, int state, __attribute__((unused)) int bright)
 
char * camera_jpeg_count_str ()
 
int get_flash_params_count (void)
 
char * hook_raw_image_addr ()
 
int _GetVRAMHPixelsSize ()
 
int _GetVRAMVPixelsSize ()
 
int vid_get_viewport_width ()
 
long vid_get_viewport_height ()
 
void * vid_get_bitmap_fb ()
 
void * vid_get_viewport_fb ()
 
void * vid_get_viewport_fb_d ()
 
void * vid_get_viewport_live_fb ()
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 
void * vid_get_bitmap_active_buffer ()
 
void * vid_get_bitmap_active_palette ()
 
void load_chdk_palette ()
 

Makro-Dokumentation

#define LED_AF   0xC022D200

Definiert in Zeile 25 der Datei lib.c.

#define LED_PR   0xC022D1FC

Definiert in Zeile 24 der Datei lib.c.

Dokumentation der Funktionen

int _GetVRAMHPixelsSize ( )
int _GetVRAMVPixelsSize ( )
char* camera_jpeg_count_str ( )

Definiert in Zeile 42 der Datei lib.c.

43 {
44  extern char jpeg_count_str[];
45  return jpeg_count_str;
46 }
void camera_set_led ( int  led,
int  state,
__attribute__((unused)) int  bright 
)

Definiert in Zeile 37 der Datei lib.c.

37  {
38  static char led_table[2]={0,4}; // green, AF
39  _LEDDrive(led_table[led%sizeof(led_table)], state<=1 ? !state : state);
40 }
void debug_led ( int  state)

Definiert in Zeile 27 der Datei lib.c.

28 {
29  // using power LED, which defaults to on
30  // for debugging turn LED off if state is 1 and on for state = 0
31  *(int*)LED_PR=state ? 0x46 : 0x44;
32 }
int get_flash_params_count ( void  )

Definiert in Zeile 48 der Datei lib.c.

48 { return 0xa6; } // Found @0xff9ab2f0 ixus155 100b
char* hook_raw_image_addr ( void  )

Definiert in Zeile 49 der Datei lib.c.

49 {return (char*) 0x43717e20;} // (Found @0xffb55ee0)
void load_chdk_palette ( )

Definiert in Zeile 131 der Datei lib.c.

132 {
133  extern int active_palette_buffer;
134  // Only load for the standard record and playback palettes
135  // 0 = rec, 4 = func menu, 5 = playback, 6 = menu (play or rec),
136  if ((active_palette_buffer == 0) || (active_palette_buffer == 5))
137  {
138  int *pal = (int*)vid_get_bitmap_active_palette();
139  if (pal && pal[CHDK_COLOR_BASE+0] != 0x33ADF62)
140  {
141  pal[CHDK_COLOR_BASE+0] = 0x33ADF62; // Red
142  pal[CHDK_COLOR_BASE+1] = 0x326EA40; // Dark Red
143  pal[CHDK_COLOR_BASE+2] = 0x34CD57F; // Light Red
144  pal[CHDK_COLOR_BASE+3] = 0x373BFAE; // Green
145  pal[CHDK_COLOR_BASE+4] = 0x34BD6CA; // Dark Green
146  pal[CHDK_COLOR_BASE+5] = 0x395AB95; // Light Green
147  pal[CHDK_COLOR_BASE+6] = 0x34766F0; // Blue
148  pal[CHDK_COLOR_BASE+7] = 0x31250F3; // Dark Blue
149  pal[CHDK_COLOR_BASE+8] = 0x37F408F; // Cyan
150  pal[CHDK_COLOR_BASE+9] = 0x3512D5B; // Magenta
151  pal[CHDK_COLOR_BASE+10] = 0x3A9A917; // Yellow
152  pal[CHDK_COLOR_BASE+11] = 0x3819137; // Dark Yellow
153  pal[CHDK_COLOR_BASE+12] = 0x3DED115; // Light Yellow
154  pal[CHDK_COLOR_BASE+13] = 0x1F0A0000; // Transparent dark grey
155 
156  extern char palette_control;
157  palette_control = 1; // note appears to be a bitmask, bit 2 is also used
159  }
160  }
161 }
void shutdown ( )

Definiert in Zeile 17 der Datei lib.c.

18 {
19  extern void _TurnOffE1(void);
20  _TurnOffE1();
21  while(1);
22 }
void vid_bitmap_refresh ( )

Definiert in Zeile 5 der Datei lib.c.

6 {
7  extern int full_screen_refresh;
8  extern void _ScreenLock();
9  extern void _ScreenUnlock();
10 
11  full_screen_refresh |= 3;
12  _ScreenLock();
13  _ScreenUnlock();
14 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 109 der Datei lib.c.

110 {
111  return vid_get_bitmap_fb();
112 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 114 der Datei lib.c.

115 {
116  extern int active_palette_buffer;
117  extern int** palette_buffer_ptr;
118  int *p = palette_buffer_ptr[active_palette_buffer];
119  // active_palette_buffer can point at null when
120  // func and menu are opened for the first time
121  if(!p) {
122  p = palette_buffer_ptr[0]; // rec mode buffer normally initialized
123  if(!p) { // but may be null on video out switch
124  return (void *)0;
125  }
126  }
127  return (p+1);
128 }
void* vid_get_bitmap_fb ( )

Definiert in Zeile 84 der Datei lib.c.

84 { return (void*)0x406f1000; } // Found @0xff86306c
int vid_get_palette_size ( )

Definiert in Zeile 107 der Datei lib.c.

107 { return 256 * 4; }
int vid_get_palette_type ( )

Definiert in Zeile 106 der Datei lib.c.

106 { return 3; }
void* vid_get_viewport_fb ( )

Definiert in Zeile 89 der Datei lib.c.

89 { return (void*)0x40846b80; } // Found @0xffb544c8
void* vid_get_viewport_fb_d ( )

Definiert in Zeile 91 der Datei lib.c.

92 {
93  extern char *viewport_fb_d;
94  return viewport_fb_d;
95 }
long vid_get_viewport_height ( )

Definiert in Zeile 64 der Datei lib.c.

65 {
66  extern int _GetVideoOutType(void);
67  int vot = _GetVideoOutType();
69  {
70  if(vot == 2) { // PAL
71  return 288; // 576
72  }
73  return 240;
74  }
75  return _GetVRAMVPixelsSize();
76 }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 97 der Datei lib.c.

98 {
99  extern char active_viewport_buffer;
100  extern void* viewport_buffers[];
101 
102  // Hopefully return the most recently used viewport buffer so that motion detect, histogram, zebra and edge overly are using current image data
103  return viewport_buffers[(active_viewport_buffer-1)&3];
104 }
int vid_get_viewport_width ( )

Definiert in Zeile 55 der Datei lib.c.

56 {
58  {
59  return 360;
60  }
61  return _GetVRAMHPixelsSize() >> 1;
62 }