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_GREEN   0xc0220130
 

Funktionen

void shutdown ()
 
void debug_led (int state)
 
void camera_set_led (int led, int state, __attribute__((unused)) int bright)
 
void JogDial_CW (void)
 
void JogDial_CCW (void)
 
int get_flash_params_count (void)
 
void vid_bitmap_refresh ()
 
void shutdown_soft ()
 
char * hook_raw_image_addr ()
 
char * hook_alt_raw_image_addr ()
 
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_yscale ()
 
int vid_get_viewport_width ()
 
int vid_get_viewport_xoffset ()
 
int vid_get_viewport_display_xoffset ()
 
long vid_get_viewport_height ()
 
static int vp_yoffset (int stitch)
 
int vid_get_viewport_yoffset ()
 
int vid_get_viewport_display_yoffset ()
 
int vid_get_viewport_display_xoffset_proper ()
 
int vid_get_viewport_display_yoffset_proper ()
 
int vid_get_viewport_height_proper ()
 
int vid_get_viewport_fullscreen_height ()
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 
void * vid_get_bitmap_active_buffer ()
 
void * vid_get_bitmap_active_palette ()
 
char * camera_jpeg_count_str ()
 

Variablen

int active_raw_buffer
 
char * raw_buffers []
 
char active_viewport_buffer
 
void * viewport_buffers []
 
int active_bitmap_buffer
 
char * bitmap_buffer []
 
static long vp_xo [5] = { 0, 0, 0, 44, 72 }
 

Makro-Dokumentation

#define LED_GREEN   0xc0220130

Definiert in Zeile 22 der Datei lib.c.

Dokumentation der Funktionen

char* camera_jpeg_count_str ( )

Definiert in Zeile 252 der Datei lib.c.

253 {
254  extern char jpeg_count_str[];
255  return jpeg_count_str;
256 }
void camera_set_led ( int  led,
int  state,
__attribute__((unused)) int  bright 
)

Definiert in Zeile 38 der Datei lib.c.

38  {
39  static char led_table[4]={0,1,9};
40 
41  _LEDDrive(led_table[led%sizeof(led_table)], state<=1 ? !state : state);
42 }
void debug_led ( int  state)

Definiert in Zeile 24 der Datei lib.c.

25 {
26  if (state)
27  *((long*) LED_GREEN) = 0x46;
28  else
29  *((long*) LED_GREEN) = 0x44;
30 }
int get_flash_params_count ( void  )

Definiert in Zeile 52 der Datei lib.c.

52  {
53  return 0x9a; // found in GetParameterData
54 }
char* hook_alt_raw_image_addr ( )

Definiert in Zeile 81 der Datei lib.c.

82 {
83  return raw_buffers[(active_raw_buffer^1)*3];
84 }
char* hook_raw_image_addr ( void  )

Definiert in Zeile 76 der Datei lib.c.

77 {
79 }
void JogDial_CCW ( void  )

Definiert in Zeile 48 der Datei lib.c.

48  {
49  _PostLogicalEventToUI(0x86F, 1); // RotateJogDialLeft
50 }
void JogDial_CW ( void  )

Definiert in Zeile 44 der Datei lib.c.

44  {
45  _PostLogicalEventToUI(0x86E, 1); // RotateJogDialRight
46 }
void shutdown ( )

Definiert in Zeile 5 der Datei lib.c.

6 {
7  volatile long *p = (void*)0xc022012C; // from S90
8 
9  asm(
10  "MRS R1, CPSR\n"
11  "AND R0, R1, #0x80\n"
12  "ORR R1, R1, #0x80\n"
13  "MSR CPSR_cf, R1\n"
14  :::"r1","r0");
15 
16  *p = 0x44;
17 
18  while(1);
19 }
void shutdown_soft ( )

Definiert in Zeile 68 der Datei lib.c.

69 {
71 }
void vid_bitmap_refresh ( )

Definiert in Zeile 57 der Datei lib.c.

58 {
59  extern int enabled_refresh_physical_screen; // screen lock counter
60  extern void _ScreenUnlock();
61 
62  _ScreenLock();
63  enabled_refresh_physical_screen=1;
64  _ScreenUnlock();
65 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 237 der Datei lib.c.

238 {
240 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 242 der Datei lib.c.

243 {
244  extern int active_palette_buffer;
245  extern char* palette_buffer[];
246  void* p = palette_buffer[active_palette_buffer];
247  // Don't add offset if value is 0
248  if (p) p += 8;
249  return p;
250 }
void* vid_get_bitmap_fb ( )

OSD screen

Definiert in Zeile 119 der Datei lib.c.

120 {
121  // Return first bitmap buffer address
122  return bitmap_buffer[0];
123 }
int vid_get_palette_size ( )

Definiert in Zeile 235 der Datei lib.c.

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

Definiert in Zeile 234 der Datei lib.c.

234 { return 3; }
int vid_get_viewport_display_xoffset ( )

Definiert in Zeile 160 der Datei lib.c.

161 {
163  {
164  return 0;
165  }
167  {
168  if (shooting_get_prop(PROPCASE_STITCH_DIRECTION) == 0) // Direction check
169  if (shooting_get_prop(PROPCASE_STITCH_SEQUENCE) == 0) // Shot already taken?
170  return 40;
171  else
172  return 140;
173  else
174  if (shooting_get_prop(PROPCASE_STITCH_SEQUENCE) == 0) // Shot already taken?
175  return 140;
176  else
177  return 40;
178  }
179  else
180  {
182  }
183 }
int vid_get_viewport_display_xoffset_proper ( )

Definiert in Zeile 230 der Datei lib.c.

230 { return vid_get_viewport_display_xoffset() * 2; }
int vid_get_viewport_display_yoffset ( )

Definiert in Zeile 224 der Datei lib.c.

225 {
226  return vp_yoffset(72);
227 }
int vid_get_viewport_display_yoffset_proper ( )

Definiert in Zeile 231 der Datei lib.c.

231 { return vid_get_viewport_display_yoffset() * 2; }
void* vid_get_viewport_fb ( )

IMG viewport in 'rec' mode

Definiert in Zeile 93 der Datei lib.c.

94 {
95  // Return first viewport buffer - for case when vid_get_viewport_live_fb not defined
96  return viewport_buffers[0];
97 }
void* vid_get_viewport_fb_d ( )

IMG viewport in 'play' mode

Definiert in Zeile 109 der Datei lib.c.

110 {
111  extern char *viewport_fb_d;
112  return viewport_fb_d;
113 }
int vid_get_viewport_fullscreen_height ( )

Definiert in Zeile 233 der Datei lib.c.

233 { return 480; }
long vid_get_viewport_height ( )

Definiert in Zeile 185 der Datei lib.c.

186 {
188  {
189  return 240;
190  }
191  extern int _GetVRAMVPixelsSize();
192  return _GetVRAMVPixelsSize() >> 1;
193 }
int vid_get_viewport_height_proper ( )

Definiert in Zeile 232 der Datei lib.c.

232 { return vid_get_viewport_height() * 2; }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 99 der Datei lib.c.

100 {
101  int b = (active_viewport_buffer-1)&3;
102  if ((b == 3) && camera_info.state.mode_video)
103  b = 2; // Video only seems to use the first 3 viewport buffers.
104 
105  // Hopefully return the most recently used viewport buffer so that motion detect, histogram, zebra and edge overly are using current image data
106  return viewport_buffers[b];
107 }
int vid_get_viewport_width ( )

Definiert in Zeile 130 der Datei lib.c.

131 {
133  {
134  return 360;
135  }
136  extern int _GetVRAMHPixelsSize();
137  return _GetVRAMHPixelsSize() >> 1;
138 }
int vid_get_viewport_xoffset ( )

Definiert in Zeile 144 der Datei lib.c.

145 {
147  {
148  return 0;
149  }
151  {
152  return 0;
153  }
154  else
155  {
157  }
158 }
int vid_get_viewport_yoffset ( )

Definiert in Zeile 219 der Datei lib.c.

220 {
221  return vp_yoffset(0);
222 }
int vid_get_viewport_yscale ( )

Definiert in Zeile 126 der Datei lib.c.

126  {
127  return 2; // S95 viewport is 480 pixels high
128 }
static int vp_yoffset ( int  stitch)
static

Definiert in Zeile 195 der Datei lib.c.

196 {
197  // viewport height offset table for each image size
198  // 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1, 4 = 4:5
199  static long vp_yo[5] = { 0, 30, 13, 0, 0 };
200 
202  {
203  return 0;
204  }
206  {
207  return stitch;
208  }
209  else if (camera_info.state.mode_video)
210  {
211  return 30;
212  }
213  else
214  {
216  }
217 }

Variablen-Dokumentation

int active_bitmap_buffer
int active_raw_buffer
char active_viewport_buffer
char* bitmap_buffer[]

Definiert in Zeile 84 der Datei lib.c.

char* raw_buffers[]
void* viewport_buffers[]
long vp_xo[5] = { 0, 0, 0, 44, 72 }
static

Definiert in Zeile 142 der Datei lib.c.