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

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define LED_PR   0xC0220088
 
#define LED_AF   0xC0220080
 

Funktionen

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

Variablen

char active_viewport_buffer
 
void * viewport_buffers []
 

Makro-Dokumentation

#define LED_AF   0xC0220080

Definiert in Zeile 16 der Datei lib.c.

#define LED_PR   0xC0220088

Definiert in Zeile 15 der Datei lib.c.

Dokumentation der Funktionen

int _GetBatteryTemperature ( )

Definiert in Zeile 81 der Datei lib.c.

82 {
83  return -99;
84 }
int _GetVRAMHPixelsSize ( )
int _GetVRAMVPixelsSize ( )
char* camera_jpeg_count_str ( )

Definiert in Zeile 49 der Datei lib.c.

50 {
51  extern char jpeg_count_str[];
52  return jpeg_count_str;
53 }
void camera_set_led ( int  led,
int  state,
__attribute__((unused)) int  bright 
)

Definiert in Zeile 44 der Datei lib.c.

44  {
45  static char led_table[2]={7,9};
46  if(state<=1) _LEDDrive(led_table[led%sizeof(led_table)], (!state)&1);
47 }
void debug_led ( int  state)

Definiert in Zeile 36 der Datei lib.c.

37 {
38  *(int*)LED_PR=state ? 0x46 : 0x44;
39 }
int get_flash_params_count ( void  )

Definiert in Zeile 75 der Datei lib.c.

75  {
76  return 0x94; //found by finsig
77 }
char* hook_raw_image_addr ( void  )

Definiert in Zeile 4 der Datei lib.c.

5 {
6  return (char*) 0x10E52420;
7 }
void shutdown ( )

Definiert in Zeile 19 der Datei lib.c.

20 {
21  volatile long *p = (void*)LED_PR; // Green LED
22 
23  asm(
24  "MRS R1, CPSR\n"
25  "AND R0, R1, #0x80\n"
26  "ORR R1, R1, #0x80\n"
27  "MSR CPSR_cf, R1\n"
28  :::"r1","r0");
29 
30  *p = 0x44; // power off.
31 
32  while(1);
33 }
void vid_bitmap_refresh ( )

Definiert in Zeile 56 der Datei lib.c.

56  {
58  extern int full_screen_refresh;
59 
60  // asm1989: i've tried refreshphysical screen (screen unlock) and that caused the canon and
61  // function menu to not display at all. This seems to work and is called in a similar
62  // way in other places where original OSD should be refreshed.
63  extern void _ScreenLock();
64  extern void _ScreenUnlock();
65 
66  _ScreenLock();
67 
68  enabled_refresh_physical_screen=1;
69  full_screen_refresh=3; // found in ScreenUnlock underneath a CameraLog.c call
70 
71  _ScreenUnlock();
72 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 96 der Datei lib.c.

97 {
98  return (void*)(*(int*)(0x4970+0xC)); //found @ 0xffcd1f3c a495 100f
99 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 88 der Datei lib.c.

88  {
89  return (void*)(*(int*)(0x4970+0x20)); //Found @ 0xffcd1e80 a495 100f
90 }
void* vid_get_bitmap_fb ( )

Definiert in Zeile 130 der Datei lib.c.

130  {
131  return (void*)0x10361000; // Found @0xffc3f020
132 }
int vid_get_palette_size ( )

Definiert in Zeile 94 der Datei lib.c.

94 { return 16*4; }
int vid_get_palette_type ( )

Definiert in Zeile 93 der Datei lib.c.

93 { return 4; }
int vid_get_viewport_display_xoffset_proper ( )

Definiert in Zeile 171 der Datei lib.c.

int vid_get_viewport_display_yoffset_proper ( )

Definiert in Zeile 172 der Datei lib.c.

void* vid_get_viewport_fb ( )

Definiert in Zeile 109 der Datei lib.c.

110 {
111  // Return first viewport buffer - for case when vid_get_viewport_live_fb not defined
112  return viewport_buffers[0];
113 }
void* vid_get_viewport_fb_d ( )

Definiert in Zeile 124 der Datei lib.c.

125 {
126  extern char *viewport_fb_d;
127  return viewport_fb_d;
128 }
int vid_get_viewport_fullscreen_height ( )

Definiert in Zeile 162 der Datei lib.c.

162  {
163  int m = mode_get();
164  // special case: W resolution
166  return 120;
167  }
168  return ((mode_get()&MODE_MASK) == MODE_PLAY)?240:_GetVRAMVPixelsSize();
169 }
long vid_get_viewport_height ( )

Definiert in Zeile 149 der Datei lib.c.

149  {
150  return 240;
151 }
int vid_get_viewport_height_proper ( )

Definiert in Zeile 153 der Datei lib.c.

153  {
154  int m = mode_get();
155  // special case: W resolution
157  return 240;
158  }
159  return ((mode_get()&MODE_MASK) == MODE_PLAY)?240:_GetVRAMVPixelsSize();
160 }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 115 der Datei lib.c.

116 {
118  return viewport_buffers[0]; // Video only seems to use the first viewport buffer.
119 
120  // Hopefully return the most recently used viewport buffer so that motion detect, histogram, zebra and edge overly are using current image data
122 }
int vid_get_viewport_width ( )

Definiert in Zeile 141 der Datei lib.c.

141  {
142  return 360;
143 }
int vid_get_viewport_width_proper ( )

Definiert in Zeile 145 der Datei lib.c.

145  {
146  return ((mode_get()&MODE_MASK) == MODE_PLAY)?720:_GetVRAMHPixelsSize();
147 }
int vid_get_viewport_yoffset ( )

Definiert in Zeile 134 der Datei lib.c.

134  {
135  return 0;
136 }

Variablen-Dokumentation

char active_viewport_buffer
void* viewport_buffers[]