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

Funktionen

void shutdown ()
 
void debug_led (int state)
 
void camera_set_led (int led, int state, __attribute__((unused)) int bright)
 
int vid_get_viewport_width ()
 
long vid_get_viewport_height ()
 
void * vid_get_viewport_fb ()
 
void * vid_get_viewport_live_fb ()
 
void vid_bitmap_refresh ()
 
void * vid_get_bitmap_active_palette ()
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 
void * vid_get_bitmap_active_buffer ()
 
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   0xC0220120

Definiert in Zeile 5 der Datei lib.c.

Dokumentation der Funktionen

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

Definiert in Zeile 136 der Datei lib.c.

136  {
137  _DoAFLock();
139 }
void camera_set_led ( int  led,
int  state,
__attribute__((unused)) int  bright 
)

Definiert in Zeile 34 der Datei lib.c.

34  {
35  static char led_table[2]={0,4};
36  if(state<=1) _LEDDrive(led_table[led%sizeof(led_table)], (!state)&1);
37 }
void debug_led ( int  state)

Definiert in Zeile 23 der Datei lib.c.

24 {
25  // using power LED, which defaults to on
26  // for debugging turn LED off if state is 1 and on for state = 0
27  // leaves LED on at end of debugging
28  *(int*)LED_PR=state ? 0x46 : 0x44;
29 }
void shutdown ( )

Definiert in Zeile 7 der Datei lib.c.

8 {
9  volatile long *p = (void*)LED_PR;
10 
11  asm(
12  "MRS R1, CPSR\n"
13  "AND R0, R1, #0x80\n"
14  "ORR R1, R1, #0x80\n"
15  "MSR CPSR_cf, R1\n"
16  :::"r1","r0");
17 
18  *p = 0x44; // power off.
19 
20  while(1);
21 }
void state_check_for_movie_af ( )

Definiert in Zeile 141 der Datei lib.c.

141  {
144  _UnlockAF();
145  }
146 }
void vid_bitmap_refresh ( )

Definiert in Zeile 68 der Datei lib.c.

68  {
69 
70  extern int full_screen_refresh;
71  extern void _ScreenLock();
72  extern void _ScreenUnlock();
73 
74  full_screen_refresh |= 3;
75  _ScreenLock();
76  _ScreenUnlock();
77 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 127 der Datei lib.c.

128 {
129  return (void*)(*(int*)(0x54C4+0x18)); //Found @ loc_FF90CC3C a3400.101a Not tested
130 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 79 der Datei lib.c.

79  {
80  extern int active_palette_buffer;
81  extern char* palette_buffer[];
82  void* p = palette_buffer[active_palette_buffer & 7];
83  // Don't add offset if value is 0
84  if (p) p += 4;
85  return p;
86 }
int vid_get_palette_size ( )

Definiert in Zeile 125 der Datei lib.c.

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

Definiert in Zeile 124 der Datei lib.c.

124 { return 3; }
void* vid_get_viewport_fb ( )

Definiert in Zeile 53 der Datei lib.c.

54 {
55  // Return first viewport buffer - for case when vid_get_viewport_live_fb not defined
56  return viewport_buffers[0];
57 }
long vid_get_viewport_height ( )

Definiert in Zeile 44 der Datei lib.c.

45 {
46  return 240;
47 }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 59 der Datei lib.c.

60 {
61  if (MODE_IS_VIDEO(mode_get()))
62  return viewport_buffers[0]; // Video only seems to use the first viewport buffer.
63 
64  // Hopefully return the most recently used viewport buffer so that motion detect, histogram, zebra and edge overly are using current image data
66 }
int vid_get_viewport_width ( )

Definiert in Zeile 39 der Datei lib.c.

40 {
41  return 360;
42 }

Variablen-Dokumentation

char active_viewport_buffer
int af_locked_in_movierec = 0
static

Definiert in Zeile 134 der Datei lib.c.

void* viewport_buffers[]