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 "live_view.h"
+ Include-Abhängigkeitsdiagramm für lib.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define LED_PR   0xd20b0994
 

Funktionen

void vid_bitmap_refresh ()
 
void shutdown ()
 
void debug_led (int state)
 
void camera_set_led (int led, int state, __attribute__((unused)) int bright)
 
void shutdown_soft ()
 
int get_flash_params_count (void)
 
void JogDial_CW (void)
 
void JogDial_CCW (void)
 
char * hook_raw_image_addr ()
 
char * hook_alt_raw_image_addr ()
 
void * vid_get_viewport_fb ()
 
void * vid_get_viewport_fb_d ()
 
void * vid_get_viewport_live_fb ()
 
int vid_get_viewport_width ()
 
long vid_get_viewport_height ()
 
int vid_get_viewport_yoffset ()
 
int vid_get_viewport_display_xoffset ()
 
int vid_get_viewport_display_yoffset ()
 
void * vid_get_bitmap_fb ()
 
int vid_get_viewport_byte_width ()
 
int vid_get_viewport_display_xoffset_proper ()
 
int vid_get_viewport_display_yoffset_proper ()
 
int vid_get_viewport_fullscreen_width ()
 
int vid_get_viewport_fullscreen_height ()
 
int vid_get_viewport_buffer_width_proper ()
 
int vid_get_viewport_type ()
 
void * vid_get_bitmap_active_buffer ()
 
void * vid_get_opacity_active_buffer ()
 
char * camera_jpeg_count_str ()
 

Variablen

int active_bitmap_buffer
 
int active_raw_buffer
 
char * raw_buffers []
 
void * viewport_buffers []
 
void * current_viewport_buffer
 
static long vp_xo [4] = { 0, 0, 0, 80 }
 
static long vp_yo [4] = { 0, 60, 28, 0 }
 
char * bitmap_buffer []
 
volatile char * opacity_buffer [2] = {(char*)0x4161b400, (void*)0x41699d00}
 

Makro-Dokumentation

#define LED_PR   0xd20b0994

Definiert in Zeile 34 der Datei lib.c.

Dokumentation der Funktionen

char* camera_jpeg_count_str ( )

Definiert in Zeile 265 der Datei lib.c.

266 {
267  extern char jpeg_count_str[];
268  return jpeg_count_str;
269 }
void camera_set_led ( int  led,
int  state,
__attribute__((unused)) int  bright 
)

Definiert in Zeile 43 der Datei lib.c.

43  {
44  static char led_table[2]={0,4};
45  _LEDDrive(led_table[led%sizeof(led_table)], state<=1 ? !state : state);
46 }
void debug_led ( int  state)

Definiert in Zeile 36 der Datei lib.c.

36  {
37  volatile long *p = (void*)LED_PR;
38  *p = ((state) ? 0x4d0002 : 0x4c0003);
39 }
int get_flash_params_count ( void  )

Definiert in Zeile 52 der Datei lib.c.

52  {
53  return 0xa6; // @fc0bbe8a GetParameterData FFTM
54 }
char* hook_alt_raw_image_addr ( )

Definiert in Zeile 74 der Datei lib.c.

75 {
76  return raw_buffers[((active_raw_buffer&1)^1)];
77 }
char* hook_raw_image_addr ( void  )

Definiert in Zeile 69 der Datei lib.c.

70 {
71  return raw_buffers[(active_raw_buffer&1)];
72 }
void JogDial_CCW ( void  )

Definiert in Zeile 60 der Datei lib.c.

60  {
61  _PostLogicalEventToUI(0x873, 1); //RotateJogDialLeft
62 }
void JogDial_CW ( void  )

Definiert in Zeile 56 der Datei lib.c.

56  {
57  _PostLogicalEventToUI(0x872, 1); //RotateJogDialRight
58 }
void shutdown ( )

Definiert in Zeile 16 der Datei lib.c.

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

Definiert in Zeile 48 der Datei lib.c.

48  {
49  _PostLogicalEventForNotPowerType(0x1005,0); // PressOffButton
50 }
void vid_bitmap_refresh ( )

Definiert in Zeile 7 der Datei lib.c.

7  {
8  // https://chdk.setepontos.com/index.php?topic=12788.msg133958#msg133958
9  extern void _transfer_src_overlay(int);
10 // works in most cases but can cause "ghosting" in auto mode when canon UI constantly updates
11 // _transfer_src_overlay(active_bitmap_buffer);
12  _transfer_src_overlay(0);
13  _transfer_src_overlay(1);
14 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 200 der Datei lib.c.

200  {
202 }
void* vid_get_bitmap_fb ( )

OSD screen

Definiert in Zeile 183 der Datei lib.c.

183  {
184 // return (void *)0x5ff02e00; // from sub_fc1632ba, alt 5fe05c00, based on searching for "BmpDDev.c" similar to g7x
185  return bitmap_buffer[0];
186 }
void* vid_get_opacity_active_buffer ( )

Definiert in Zeile 210 der Datei lib.c.

210  {
211  return (void *)opacity_buffer[active_bitmap_buffer&1];
212 }
int vid_get_viewport_buffer_width_proper ( )

Definiert in Zeile 197 der Datei lib.c.

197 { return 640; }
int vid_get_viewport_byte_width ( )

Definiert in Zeile 188 der Datei lib.c.

188  {
189  return 640*2;
190 }
int vid_get_viewport_display_xoffset ( )

Definiert in Zeile 150 der Datei lib.c.

150  {
152  {
153  return 0;
154  }
155  // video, ignore still res propcase
157  return 0; //neither 4:3 nor 16:9 video have x offset
158  }
160 }
int vid_get_viewport_display_xoffset_proper ( )

Definiert in Zeile 193 der Datei lib.c.

int vid_get_viewport_display_yoffset ( )

Definiert in Zeile 165 der Datei lib.c.

165  {
167  {
168  return 0;
169  }
170  // video, ignore still res propcase
173  return 0; // 4:3 video, no Y offset
174  } else {
175  return 60; // 16:9 video
176  }
177  }
179 }
int vid_get_viewport_display_yoffset_proper ( )

Definiert in Zeile 194 der Datei lib.c.

void* vid_get_viewport_fb ( )

IMG viewport in 'rec' mode

Definiert in Zeile 86 der Datei lib.c.

86  {
87  //return viewport_buffers[0]; // From G16 copy
88  return (void*)0x43312300; // sx700v100e "first" viewport adr, "VRAM Address : %p", contains d6 uyvy
89 }
void* vid_get_viewport_fb_d ( )

IMG viewport in 'play' mode

Definiert in Zeile 95 der Datei lib.c.

95  {
96  // based on suggestion from 62ndidiot in https://chdk.setepontos.com/index.php?topic=12532.msg129914#msg129914
97  extern void *current_fb_d;
98  return current_fb_d;
99 }
int vid_get_viewport_fullscreen_height ( )

Definiert in Zeile 196 der Datei lib.c.

196 { return 480; }
int vid_get_viewport_fullscreen_width ( )

Definiert in Zeile 195 der Datei lib.c.

195 { return 640; }
long vid_get_viewport_height ( )

Definiert in Zeile 132 der Datei lib.c.

132  {
133  extern int _GetVRAMVPixelsSize();
135  {
136  return 480;
137  }
138 // TODO: currently using actual height rather than 240 used on pre d6
139  return _GetVRAMVPixelsSize();
140 }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 109 der Datei lib.c.

110 {
111 // current_viewport_buffer assummed not most recent, like g7x
112  int i;
113  for(i=0;i<4;i++) {
114  if(current_viewport_buffer == viewport_buffers[i]) {
115  return viewport_buffers[(i+1)&3];
116  }
117  }
118  return 0;
119 }
int vid_get_viewport_type ( )

Definiert in Zeile 198 der Datei lib.c.

198 { return LV_FB_YUV8B; }
int vid_get_viewport_width ( )

Definiert in Zeile 121 der Datei lib.c.

121  {
122  extern int _GetVRAMHPixelsSize();
124  {
125  return 640;
126  }
127 // TODO: currently using actual width rather than half width used on pre d6
128 // pixel format is uyvy (16bpp)
129  return _GetVRAMHPixelsSize();
130 }
int vid_get_viewport_yoffset ( )

Definiert in Zeile 142 der Datei lib.c.

142  {
143  // this seems to be always 0, buffer always begins with actual display data (widescreen or not)
144  return 0;
145 }

Variablen-Dokumentation

int active_bitmap_buffer
int active_raw_buffer
char* bitmap_buffer[]

Definiert in Zeile 84 der Datei lib.c.

void* current_viewport_buffer
volatile char* opacity_buffer[2] = {(char*)0x4161b400, (void*)0x41699d00}

Definiert in Zeile 207 der Datei lib.c.

char* raw_buffers[]
void* viewport_buffers[]
long vp_xo[4] = { 0, 0, 0, 80 }
static

Definiert in Zeile 148 der Datei lib.c.

long vp_yo[4] = { 0, 60, 28, 0 }
static

Definiert in Zeile 163 der Datei lib.c.