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_AF   0xC022000C
 
#define LED_ORANGE   0xC0220010
 
#define LED_GREEN   0xC0220014
 
#define DELAY   300000
 
#define LED_ON   *((long*) LED_GREEN) = 0x46
 
#define LED_OFF   *((long*) LED_GREEN) = 0x44
 
#define LED_ON_RED   *((long*) LED_ORANGE) = 0x46
 
#define LED_OFF_RED   *((long*) LED_ORANGE) = 0x44
 
#define LED_ON_AF   *((long*) LED_AF) = 0x46
 
#define LED_OFF_AF   *((long*) LED_AF) = 0x44
 

Funktionen

void debug_led (int state)
 
void debug_wait ()
 
void debug_blink ()
 
void debug_blink_red ()
 
void vid_bitmap_refresh ()
 
void shutdown ()
 
void camera_set_led (int led, int state, __attribute__((unused)) int bright)
 
int get_flash_params_count (void)
 
void JogDial_CW (void)
 
void JogDial_CCW (void)
 

Makro-Dokumentation

#define DELAY   300000

Definiert in Zeile 19 der Datei lib.c.

#define LED_AF   0xC022000C

Definiert in Zeile 15 der Datei lib.c.

#define LED_GREEN   0xC0220014

Definiert in Zeile 17 der Datei lib.c.

#define LED_OFF   *((long*) LED_GREEN) = 0x44

Definiert in Zeile 22 der Datei lib.c.

#define LED_OFF_AF   *((long*) LED_AF) = 0x44

Definiert in Zeile 28 der Datei lib.c.

#define LED_OFF_RED   *((long*) LED_ORANGE) = 0x44

Definiert in Zeile 25 der Datei lib.c.

#define LED_ON   *((long*) LED_GREEN) = 0x46

Definiert in Zeile 21 der Datei lib.c.

#define LED_ON_AF   *((long*) LED_AF) = 0x46

Definiert in Zeile 27 der Datei lib.c.

#define LED_ON_RED   *((long*) LED_ORANGE) = 0x46

Definiert in Zeile 24 der Datei lib.c.

#define LED_ORANGE   0xC0220010

Definiert in Zeile 16 der Datei lib.c.

Dokumentation der Funktionen

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

Definiert in Zeile 147 der Datei lib.c.

147  {
148  static char led_table[3]={0,1,9};
149  _LEDDrive(led_table[led%sizeof(led_table)], state<=1 ? !state : state);
150 }
void debug_blink ( )

Definiert in Zeile 47 der Datei lib.c.

48 {
49  //led on
50  LED_ON;
51  debug_wait();
52 
53  //led off
54  LED_OFF;
55  debug_wait();
56 }
void debug_blink_red ( )

Definiert in Zeile 58 der Datei lib.c.

59 {
60  //led on
61  LED_ON_RED;
62  debug_wait();
63 
64  //led off
66  debug_wait();
67 }
void debug_led ( int  state)

Definiert in Zeile 30 der Datei lib.c.

31 {
32  if (state)
33  LED_ON;
34  else
35  LED_OFF;
36 }
void debug_wait ( )

Definiert in Zeile 38 der Datei lib.c.

39 {
40  int counter;
41 
42  counter = DELAY;
43  while (counter--) { asm("nop\n nop\n"); };
44 }
int get_flash_params_count ( void  )

Definiert in Zeile 152 der Datei lib.c.

152  {
153  return 0x9a;
154 }
void JogDial_CCW ( void  )

Definiert in Zeile 160 der Datei lib.c.

160  {
161  _PostLogicalEventForNotPowerType(0x875, 1); // RotateJogDialLeft
162 }
void JogDial_CW ( void  )

Definiert in Zeile 156 der Datei lib.c.

156  {
157  _PostLogicalEventForNotPowerType(0x874, 1); // RotateJogDialRight
158 }
void shutdown ( )

Definiert in Zeile 130 der Datei lib.c.

131 {
132  volatile long *p = (void*)0xC022001C;
133 
134  asm(
135  "MRS R1, CPSR\n"
136  "AND R0, R1, #0x80\n"
137  "ORR R1, R1, #0x80\n"
138  "MSR CPSR_cf, R1\n"
139  :::"r1","r0");
140 
141  *p = 0x44; // power off.
142 
143  while(1);
144 }
void vid_bitmap_refresh ( )

Definiert in Zeile 111 der Datei lib.c.

112 {
114  extern int full_screen_refresh;
115 
116  // i've tried refreshphysical screen (screen unlock) and that caused the canon and
117  // function menu to not display at all. This seems to work and is called in a similar
118  // way in other places where original OSD should be refreshed.
119  extern void _LockAndRefresh(); // wrapper function for screen lock
120  extern void _UnlockAndRefresh(); // wrapper function for screen unlock
121 
122  _LockAndRefresh();
123 
124  enabled_refresh_physical_screen=1;
125  full_screen_refresh |= 3;
126 
127  _UnlockAndRefresh();
128 }