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   0xC0220108
 

Funktionen

char * hook_raw_image_addr ()
 
char * camera_jpeg_count_str ()
 
void vid_bitmap_refresh ()
 
void shutdown ()
 
void debug_led (int state)
 
void camera_set_led (int led, int state, __attribute__((unused)) int bright)
 
int get_flash_params_count (void)
 
int vid_get_viewport_width ()
 
long vid_get_viewport_height ()
 
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_palette_type ()
 
int vid_get_palette_size ()
 
void * vid_get_bitmap_active_buffer ()
 
void * vid_get_bitmap_active_palette ()
 

Variablen

char active_viewport_buffer
 
void * viewport_buffers []
 

Makro-Dokumentation

#define LED_PR   0xC0220108

Definiert in Zeile 49 der Datei lib.c.

Dokumentation der Funktionen

char* camera_jpeg_count_str ( )

Definiert in Zeile 10 der Datei lib.c.

11 {
12  extern char jpeg_count_str[];
13  return jpeg_count_str;
14 }
void camera_set_led ( int  led,
int  state,
__attribute__((unused)) int  bright 
)

Definiert in Zeile 60 der Datei lib.c.

61 {
62  static char led_table[7]={0,0,1,1,1,9,9};
63  if(led >=4 && led <= 10)
64  _LEDDrive(led_table[(led-4)%sizeof(led_table)], state<=1 ? !state : state);
65 }
void debug_led ( int  state)

Definiert in Zeile 51 der Datei lib.c.

52 {
53  volatile long *p=(void*)LED_PR;
54  if (state)
55  p[0]=0x46;
56  else
57  p[0]=0x44;
58 }
int get_flash_params_count ( void  )

Definiert in Zeile 67 der Datei lib.c.

67  {
68  return 0x94;
69 }
char* hook_raw_image_addr ( void  )

Definiert in Zeile 4 der Datei lib.c.

5 {
6  //ffe7b424: e59f60dc ldr r6, [pc, #220] ; ffe7b508: (41d64ecc) *"...AJPEG BUFF %p ( %lx )"
7  return (char*)(0x41d64ecc);
8 }
void shutdown ( )

Definiert in Zeile 32 der Datei lib.c.

33 {
34  volatile long *p = (void*)0xc022001C;
35 
36  asm(
37  "MRS R1, CPSR\n"
38  "AND R0, R1, #0x80\n"
39  "ORR R1, R1, #0x80\n"
40  "MSR CPSR_cf, R1\n"
41  :::"r1","r0");
42 
43  *p = 0x44;
44 
45  while(1);
46 }
void vid_bitmap_refresh ( )

Definiert in Zeile 16 der Datei lib.c.

17 {
18 /* NOTE: This was the old method, i think the new one performs better
19  extern int enabled_refresh_physical_screen;
20  enabled_refresh_physical_screen=1;
21  _RefreshPhysicalScreen(1);
22 */
23  extern int full_screen_refresh;
24  extern void _ScreenUnlock();
25  extern void _ScreenLock();
26 
27  full_screen_refresh |= 3;
28  _ScreenLock();
29  _ScreenUnlock();
30 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 123 der Datei lib.c.

124 { //found @loc_ffcd61b4 ixus105 100b ->Called before *"..<GetBmpVramInfo> Add
125  return (void*)(*(int*)(0x4AD0+0x18));
126 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 128 der Datei lib.c.

128  {
129  return (void*)(*(int*)(0x4AD0+0x2C)); //Found @ 0xffcd6110 ixus105 100b
130 }
void* vid_get_bitmap_fb ( )

Definiert in Zeile 111 der Datei lib.c.

112 {
113  return (void*)0x403f1000; // Found @0xffc43628
114 }
int vid_get_palette_size ( )

Definiert in Zeile 121 der Datei lib.c.

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

Definiert in Zeile 120 der Datei lib.c.

120 { return 3; }
void* vid_get_viewport_fb ( )

Definiert in Zeile 90 der Datei lib.c.

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

Definiert in Zeile 105 der Datei lib.c.

106 {
107  extern char *viewport_fb_d;
108  return viewport_fb_d;
109 }
long vid_get_viewport_height ( )

Definiert in Zeile 77 der Datei lib.c.

78 {
79  return 240;
80 }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 96 der Datei lib.c.

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

Definiert in Zeile 72 der Datei lib.c.

73 {
74  return 360;
75 }

Variablen-Dokumentation

char active_viewport_buffer
void* viewport_buffers[]