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 GREEN_LED   0xC0220130
 
#define AF_LED   0xC0223030
 

Funktionen

char * hook_raw_image_addr ()
 
char * hook_alt_raw_image_addr ()
 
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)
 
void * vid_get_viewport_fb ()
 
void * vid_get_viewport_live_fb ()
 
int vid_get_viewport_width ()
 
long vid_get_viewport_height ()
 
void * vid_get_bitmap_fb ()
 
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 ()
 

Variablen

int active_raw_buffer
 
char * raw_buffers []
 
char active_viewport_buffer
 
void * viewport_buffers []
 
int active_bitmap_buffer
 
char * bitmap_buffer []
 

Makro-Dokumentation

#define AF_LED   0xC0223030

Definiert in Zeile 29 der Datei lib.c.

#define GREEN_LED   0xC0220130

Definiert in Zeile 28 der Datei lib.c.

Dokumentation der Funktionen

void camera_set_led ( int  led,
int  state,
__attribute__((unused)) int  bright 
)

Definiert in Zeile 58 der Datei lib.c.

58  {
59  static char led_table[2]={0,4};
60  if(state<=1) _LEDDrive(led_table[led%sizeof(led_table)], (!state)&1);
61 }
void debug_led ( int  state)

Definiert in Zeile 48 der Datei lib.c.

48  {
49  // using power LED, which defaults to on
50  // for debugging turn LED off if state is 1 and on for state = 0
51  // leaves LED on at end of debugging
52  *(int*)GREEN_LED=state ? 0x46 : 0x44;
53 }
int get_flash_params_count ( void  )

Definiert in Zeile 63 der Datei lib.c.

63  {
64  return 0xA6; // Found @0xff1ab268 - found by finsig
65 }
char* hook_alt_raw_image_addr ( )

Definiert in Zeile 13 der Datei lib.c.

14 {
16 }
char* hook_raw_image_addr ( void  )

Definiert in Zeile 8 der Datei lib.c.

9 {
11 }
void shutdown ( )

Definiert in Zeile 31 der Datei lib.c.

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

Definiert in Zeile 18 der Datei lib.c.

18  {
19  extern int full_screen_refresh;
20  extern void _ScreenUnlock();
21  extern void _ScreenLock();
22 
23  _ScreenLock();
24  full_screen_refresh |= 3;
25  _ScreenUnlock();
26 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 124 der Datei lib.c.

124  {
126 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 128 der Datei lib.c.

128  {
129  extern int active_palette_buffer;
130  extern char* palette_buffer[];
131  void* p = palette_buffer[active_palette_buffer];
132  // Don't add offset if value is 0
133  if (p) p += 4;
134  return p;
135 }
void* vid_get_bitmap_fb ( )

Definiert in Zeile 111 der Datei lib.c.

111  {
112  // Return first bitmap buffer address
113  return bitmap_buffer[0];
114 }
int vid_get_palette_size ( )

Definiert in Zeile 122 der Datei lib.c.

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

Definiert in Zeile 121 der Datei lib.c.

121 { return 3; }
int vid_get_viewport_display_xoffset_proper ( )

Definiert in Zeile 117 der Datei lib.c.

117 { return vid_get_viewport_display_xoffset() * 2; }
int vid_get_viewport_display_yoffset_proper ( )

Definiert in Zeile 118 der Datei lib.c.

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

Definiert in Zeile 74 der Datei lib.c.

75 {
76  // Return first viewport buffer - for case when vid_get_viewport_live_fb not defined
77  return viewport_buffers[0];
78 }
int vid_get_viewport_fullscreen_height ( )

Definiert in Zeile 120 der Datei lib.c.

120 { return 480; }
long vid_get_viewport_height ( )

Definiert in Zeile 100 der Datei lib.c.

100  {
101  if ((mode_get() & MODE_MASK) == MODE_PLAY) {
102  return 240;
103  }
104  extern int _GetVRAMVPixelsSize();
105  return _GetVRAMVPixelsSize() >> 1;
106 }
int vid_get_viewport_height_proper ( )

Definiert in Zeile 119 der Datei lib.c.

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

Definiert in Zeile 81 der Datei lib.c.

82 {
83  if (MODE_IS_VIDEO(mode_get()))
84  return viewport_buffers[0]; // Video only seems to use the first viewport buffer.
85 
86  // Hopefully return the most recently used viewport buffer so that motion detect, histogram, zebra and edge overly are using current image data
88 }
int vid_get_viewport_width ( )

Definiert in Zeile 91 der Datei lib.c.

91  {
92  if ((mode_get() & MODE_MASK) == MODE_PLAY) {
93  return 360;
94  }
95  extern int _GetVRAMHPixelsSize();
96  return _GetVRAMHPixelsSize() >> 1;
97 }

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[]