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
 

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 ()
 

Makro-Dokumentation

#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.

57  {
58 if (led == 4 || led == 7 ) // Green (power) or orange led
59  _LEDDrive(7, state<=1 ? !state : state);
60 else if ( led == 9 ) // Red AF-Light
61  _LEDDrive(9, state<=1 ? !state : state);
62 }
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 64 der Datei lib.c.

64  {
65 /*
66 ROM:FFD36E08 BIC R4, R4, #0x4000
67 ROM:FFD36E0C CMP R4, #0x94
68 ROM:FFD36E10 LDRCS R0, =aPropertytablem ; "PropertyTableManagerCore.c"
69 */
70  return 0x94;
71 }
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 72 der Datei lib.c.

72  {
74  extern int full_screen_refresh;
75 
76  // asm1989: i've tried refreshphysical screen (screen unlock) and that caused the canon and
77  // function menu to not display at all. This seems to work and is called in a similar
78  // way in other places where original OSD should be refreshed.
79  extern void _LockAndRefresh(); // wrapper function for screen lock
80  extern void _UnlockAndRefresh(); // wrapper function for screen unlock
81 
82  _LockAndRefresh();
83 
84  enabled_refresh_physical_screen=1;
85  full_screen_refresh=3; // found in ScreenUnlock underneath a CameraLog.c call
86 
87  _UnlockAndRefresh();
88 }