CHDK_DE Vorschauversion  Trunk Rev. 6014
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
lib.c-Dateireferenz
#include "platform.h"
+ Include-Abhängigkeitsdiagramm für lib.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define LED_PR   0xc022006C
 
#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)
 

Makro-Dokumentation

#define LED_BASE   0xc0220000

Definiert in Zeile 30 der Datei lib.c.

#define LED_PR   0xc022006C

Definiert in Zeile 20 der Datei lib.c.

Dokumentation der Funktionen

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

Definiert in Zeile 32 der Datei lib.c.

34 {
35  int leds[] = {308,304,108,312,108,148,108};
36  if(led < 4 || led > 10 || led == 6) return;
37  volatile long *p=(void*)LED_BASE + leds[led-4];
38  if (state)
39  p[0]=0x46;
40  else
41  p[0]=0x44;
42 }
void debug_led ( int  state)

Definiert in Zeile 22 der Datei lib.c.

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

Definiert in Zeile 44 der Datei lib.c.

44  {
45  return 110;
46 }
void shutdown ( )

Definiert in Zeile 3 der Datei lib.c.

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