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   0xC0220010
 
#define LED_BASE   0xc0220000
 

Funktionen

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_bitmap_refresh ()
 
void * vid_get_viewport_live_fb ()
 
void * vid_get_bitmap_active_palette ()
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 
void * vid_get_bitmap_active_buffer ()
 

Variablen

char active_viewport_buffer
 
void * viewport_buffers []
 

Makro-Dokumentation

#define LED_BASE   0xc0220000

Definiert in Zeile 55 der Datei lib.c.

#define LED_PR   0xC0220010

Definiert in Zeile 21 der Datei lib.c.

Dokumentation der Funktionen

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

Definiert in Zeile 57 der Datei lib.c.

59 {
60  int leds[] = {16,0,5,4,0,9,0}; // power, backlight bright, backlight normal, af assist
61  if(led < 4 || led > 10) return;
62  led -= 4;
63  if (leds[led])
64  {
65  volatile long *p=(void*)LED_BASE + leds[led];
66  if (state)
67  p[0]=0x46;
68  else
69  p[0]=0x44;
70  }
71 }
void debug_led ( int  state)

Definiert in Zeile 23 der Datei lib.c.

24 {
25  volatile long *p=(void*)LED_PR;
26  if (state)
27  p[0]=0x46;
28  else
29  p[0]=0x44;
30 }
int get_flash_params_count ( void  )

Definiert in Zeile 81 der Datei lib.c.

81  {
82 /*
83 ROM:FFD36E08 BIC R4, R4, #0x4000
84 ROM:FFD36E0C CMP R4, #0x94
85 ROM:FFD36E10 LDRCS R0, =aPropertytablem ; "PropertyTableManagerCore.c"
86 */
87  return 0x94;
88 }
void shutdown ( )

Definiert in Zeile 4 der Datei lib.c.

5 {
6  volatile long *p = (void*)0xC0220010;
7 
8  asm(
9  "MRS R1, CPSR\n"
10  "AND R0, R1, #0x80\n"
11  "ORR R1, R1, #0x80\n"
12  "MSR CPSR_cf, R1\n"
13  :::"r1","r0");
14 
15  *p = 0x44;
16 
17  while(1);
18 }
void vid_bitmap_refresh ( )

Definiert in Zeile 89 der Datei lib.c.

89  {
91  extern int full_screen_refresh;
92 
93  // asm1989: i've tried refreshphysical screen (screen unlock) and that caused the canon and
94  // function menu to not display at all. This seems to work and is called in a similar
95  // way in other places where original OSD should be refreshed.
96  extern void _ScreenLock();
97  extern void _ScreenUnlock();
98 
99  _ScreenLock();
100 
101  enabled_refresh_physical_screen=1;
102  full_screen_refresh=3; // found in ScreenUnlock underneath a CameraLog.c call
103 
104  _ScreenUnlock();
105 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 129 der Datei lib.c.

130 {
131  return (void*)(*(int*)(0x4c18+0xC)); //found @ 0xff8ebda4 a3100 100a
132 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 121 der Datei lib.c.

121  {
122  return (void*)(*(int*)(0x4c18+0x20)); //Found @ 0xff8ebce8 a3100 100a
123 }
int vid_get_palette_size ( )

Definiert in Zeile 127 der Datei lib.c.

127 { return 16*4; }
int vid_get_palette_type ( )

Definiert in Zeile 126 der Datei lib.c.

126 { return 4; }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 112 der Datei lib.c.

113 {
114  unsigned char buff = (unsigned char) active_viewport_buffer;
115  if (buff == 0) buff = 2; else buff--;
116  return viewport_buffers[buff];
117 }

Variablen-Dokumentation

char active_viewport_buffer
void* viewport_buffers[]