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
 

Funktionen

void vid_bitmap_refresh ()
 
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 JogDial_CW (void)
 
void JogDial_CCW (void)
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 
void * vid_get_bitmap_active_palette ()
 

Variablen

int enabled_refresh_physical_screen
 

Makro-Dokumentation

#define LED_AF   0xC022000C

Definiert in Zeile 4 der Datei lib.c.

#define LED_GREEN   0xC0220014

Definiert in Zeile 6 der Datei lib.c.

#define LED_ORANGE   0xC0220010

Definiert in Zeile 5 der Datei lib.c.

Dokumentation der Funktionen

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

Definiert in Zeile 54 der Datei lib.c.

54  {
55  static char led_table[5]={0,1,9,10,11};
56  _LEDDrive(led_table[led%sizeof(led_table)], state<=1 ? !state : state);
57 }
void debug_led ( int  state)

Definiert in Zeile 48 der Datei lib.c.

49 {
50 // *(int*)LED_AF=state ? 0x46 : 0x44;
51  *(int*)LED_GREEN=state ? 0x46 : 0x44;
52 }
int get_flash_params_count ( void  )

Definiert in Zeile 59 der Datei lib.c.

59  {
60  return 132; // at 0xFFD39830, DebugAssert if param_id >= 132
61 }
void JogDial_CCW ( void  )

Definiert in Zeile 67 der Datei lib.c.

67  {
68  _PostLogicalEventForNotPowerType(0x877, 1); // RotateJogDialLeft
69 }
void JogDial_CW ( void  )

Definiert in Zeile 63 der Datei lib.c.

63  {
64  _PostLogicalEventForNotPowerType(0x876, 1); // RotateJogDialRight
65 }
void shutdown ( )

Definiert in Zeile 19 der Datei lib.c.

20 {
21 
22 /*
23 ROM:FFC0CD8C LDR R1, =0xC0220000
24 ROM:FFC0CD90 MOV R0, #0x44
25 ROM:FFC0CD94 STR R0, [R1,#0x54]
26 ROM:FFC0CD98 STR R0, [R1,#0x4C]
27 
28 
29 C0220000+54+4C=0xC02200A0
30 
31 */
32 
33  volatile long *p = (void*)0xC02200A0;
34 
35  asm(
36  "MRS R1, CPSR\n"
37  "AND R0, R1, #0x80\n"
38  "ORR R1, R1, #0x80\n"
39  "MSR CPSR_cf, R1\n"
40  :::"r1","r0");
41 
42  *p = 0x44; // power off.
43 
44  while(1);
45 }
void vid_bitmap_refresh ( )

Definiert in Zeile 10 der Datei lib.c.

11 {
13  *(int*)0x829C=3;
15  //_ScreenUnLock();
16 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 75 der Datei lib.c.

76 {
77  extern int active_palette_buffer;
78  extern char** palette_buffer_ptr;
79  return palette_buffer_ptr[active_palette_buffer]+8;
80 }
int vid_get_palette_size ( )

Definiert in Zeile 73 der Datei lib.c.

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

Definiert in Zeile 72 der Datei lib.c.

72 { return 3 ; }

Variablen-Dokumentation

int enabled_refresh_physical_screen