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

Funktionen

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 ()
 
int vid_get_viewport_xoffset ()
 
long vid_get_viewport_height ()
 
int vid_get_viewport_yoffset ()
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 
void * vid_get_bitmap_active_palette ()
 
void * vid_get_viewport_fb ()
 
void * vid_get_viewport_live_fb ()
 
void _MakeAFScan (__attribute__((unused)) int *a, __attribute__((unused)) int b)
 
void state_check_for_movie_af ()
 

Variablen

char active_viewport_buffer
 
void * viewport_buffers []
 
static int af_locked_in_movierec = 0
 

Makro-Dokumentation

#define LED_PR   0xC0220130

Definiert in Zeile 34 der Datei lib.c.

Dokumentation der Funktionen

void _MakeAFScan ( __attribute__((unused)) int *  a,
__attribute__((unused)) int  b 
)

Definiert in Zeile 171 der Datei lib.c.

171  {
172  _DoAFLock();
174 }
void camera_set_led ( int  led,
int  state,
__attribute__((unused)) int  bright 
)

Definiert in Zeile 42 der Datei lib.c.

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

Definiert in Zeile 37 der Datei lib.c.

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

Definiert in Zeile 47 der Datei lib.c.

47  {
48  return 0xa0; //@FF9ADCAC near to "BIC R4, R4, #0x8000" & "PropertyTableManagerCore.c" or 0x80
49 }
void shutdown ( )

Definiert in Zeile 18 der Datei lib.c.

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

Definiert in Zeile 176 der Datei lib.c.

176  {
179  _UnlockAF();
180  }
181 }
void vid_bitmap_refresh ( )

Definiert in Zeile 6 der Datei lib.c.

7 {
8  extern int full_screen_refresh;
9  extern void _LockAndRefresh(); // wrapper function for screen lock
10  extern void _UnlockAndRefresh(); // wrapper function for screen unlock
11 
12  full_screen_refresh |= 3; //found in ScreenUnlock
13  _LockAndRefresh();
14  _UnlockAndRefresh();
15 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 92 der Datei lib.c.

92  {
93  extern int active_palette_buffer;
94  extern char* palette_buffer[];
95  void* p = palette_buffer[active_palette_buffer];
96  // Don't add offset if value is 0
97  if (p) p += 8;
98  return p;
99 }
int vid_get_palette_size ( )

Definiert in Zeile 90 der Datei lib.c.

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

Definiert in Zeile 89 der Datei lib.c.

89 { return 3; }
void* vid_get_viewport_fb ( )

Definiert in Zeile 104 der Datei lib.c.

105 {
106  // Return first viewport buffer - for case when vid_get_viewport_live_fb not defined
107  return viewport_buffers[0];
108 }
long vid_get_viewport_height ( )

Definiert in Zeile 71 der Datei lib.c.

72 {
73  // viewport height table for each image size
74  // 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1
75  static long vp_h[4] = { 240, 180, 214, 240};//{ 240, 240, 240, 240 };
77 }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 110 der Datei lib.c.

111 {
112  int b = (active_viewport_buffer-1)&3;
113  if ((b == 3) && (camera_info.state.mode_video || is_video_recording()))
114  b = 2; // Video only seems to use the first 3 viewport buffers.
115 
116  // Hopefully return the most recently used viewport buffer so that motion detect, histogram, zebra and edge overly are using current image data
117  return viewport_buffers[b];
118 }
int vid_get_viewport_width ( )

Definiert in Zeile 55 der Datei lib.c.

56 {
57  // viewport width table for each image size
58  // 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1
59  static long vp_w[4] = { 360, 360, 360, 270 };//{ 360, 480, 360, 272 };
61 }
int vid_get_viewport_xoffset ( )

Definiert in Zeile 63 der Datei lib.c.

64 {
65  // viewport width offset table for each image size
66  // 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1
67  static long vp_w[4] = {0, 0, 0, 44};//{ 60, 0, 36, 104 }; // should all be even values for edge overlay
69 }
int vid_get_viewport_yoffset ( )

Definiert in Zeile 79 der Datei lib.c.

80 {
81  // viewport height offset table for each image size
82  // 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1
83  static long vp_h[4] = { 0, 30, 13, 0 };
85 }

Variablen-Dokumentation

char active_viewport_buffer
int af_locked_in_movierec = 0
static

Definiert in Zeile 169 der Datei lib.c.

void* viewport_buffers[]