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_IO_G   0xC0220130
 
#define LED_IO_R   0xC0220134
 
#define LED_IO_Y   0xC0220134
 
#define LED_AF   0xC0223030
 
#define DEBUG_LED   LED_IO_Y
 

Funktionen

void vid_bitmap_refresh ()
 
void shutdown ()
 
int get_flash_params_count (void)
 
void camera_set_led (int led, int state, __attribute__((unused)) int bright)
 
void debug_led (int state)
 
void JogDial_CW (void)
 
void JogDial_CCW (void)
 
void * vid_get_viewport_fb ()
 
void * vid_get_viewport_live_fb ()
 
void * vid_get_viewport_fb_d ()
 
void * vid_get_bitmap_fb ()
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 
void * vid_get_bitmap_active_buffer ()
 
void * vid_get_bitmap_active_palette ()
 

Variablen

char active_viewport_buffer
 
void * viewport_buffers []
 

Makro-Dokumentation

#define DEBUG_LED   LED_IO_Y

Definiert in Zeile 65 der Datei lib.c.

#define LED_AF   0xC0223030

Definiert in Zeile 7 der Datei lib.c.

#define LED_IO_G   0xC0220130

Definiert in Zeile 4 der Datei lib.c.

#define LED_IO_R   0xC0220134

Definiert in Zeile 5 der Datei lib.c.

#define LED_IO_Y   0xC0220134

Definiert in Zeile 6 der Datei lib.c.

Dokumentation der Funktionen

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

Definiert in Zeile 50 der Datei lib.c.

50  {
51  return; // doesn't seem to work
52  static char led_table[]={0, // green
53  1, // orange, right
54  2, // yellow, left
55  3, // power
56  // 4,5,6,7,
57  8, // blue
58  9 // af
59  };
60  if ((unsigned)led < sizeof(led_table)) {
61  _LEDDrive(led_table[led], state<=1 ? !state : state);
62  }
63 }
void debug_led ( int  state)

Definiert in Zeile 66 der Datei lib.c.

67 {
68  * (int *) DEBUG_LED = state ? 0x46 : 0x44;
69 }
int get_flash_params_count ( void  )

Definiert in Zeile 47 der Datei lib.c.

47 { return 0x94; } // Found @0xff986190
void JogDial_CCW ( void  )

Definiert in Zeile 76 der Datei lib.c.

76  {
77  //_PostLogicalEventForNotPowerType(0x875, 2); // RotateJogDialLeft
78 }
void JogDial_CW ( void  )

Definiert in Zeile 72 der Datei lib.c.

72  {
73  //_PostLogicalEventForNotPowerType(0x874, 2); // RotateJogDialRight
74 }
void shutdown ( )

Definiert in Zeile 30 der Datei lib.c.

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

Definiert in Zeile 12 der Datei lib.c.

12  {
14  extern int full_screen_refresh;
15 
16  // asm1989: i've tried refreshphysical screen (screen unlock) and that caused the canon and
17  // function menu to not display at all. This seems to work and is called in a similar
18  // way in other places where original OSD should be refreshed.
19  extern void _ScreenLock();
20  extern void _ScreenUnlock();
21 
22  _ScreenLock();
23 
24  enabled_refresh_physical_screen=1;
25  full_screen_refresh=3; // found in ScreenUnlock underneath a CameraLog.c call
26 
27  _ScreenUnlock();
28 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 120 der Datei lib.c.

121 { //found @loc_ff90cf28 ixus130 100a ->Called before *"..<GetBmpVramInfo> Add
122  return (void*)(*(int*)(0x556C+0x18));
123 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 125 der Datei lib.c.

125  {
126  return (void*)(*(int*)(0x556C+0x2C)); //Found @ 0xff90ce84 ixus130 100a
127 }
void* vid_get_bitmap_fb ( )

Definiert in Zeile 108 der Datei lib.c.

109 {
110  return (void*)0x40431000; // Found @0xff859828
111 }
int vid_get_palette_size ( )

Definiert in Zeile 118 der Datei lib.c.

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

Definiert in Zeile 117 der Datei lib.c.

117 { return 3; }
void* vid_get_viewport_fb ( )

Definiert in Zeile 87 der Datei lib.c.

88 {
89  // Return first viewport buffer - for case when vid_get_viewport_live_fb not defined
90  return viewport_buffers[0];
91 }
void* vid_get_viewport_fb_d ( )

Definiert in Zeile 102 der Datei lib.c.

103 {
104  extern char *viewport_fb_d;
105  return viewport_fb_d;
106 }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 93 der Datei lib.c.

94 {
96  return viewport_buffers[0]; // Video only seems to use the first viewport buffer.
97 
98  // Hopefully return the most recently used viewport buffer so that motion detect, histogram, zebra and edge overly are using current image data
100 }

Variablen-Dokumentation

char active_viewport_buffer
void* viewport_buffers[]