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_GREEN   0xC0220014
 
#define LED_ON   *((long*) LED_GREEN) = 0x46
 
#define LED_OFF   *((long*) LED_GREEN) = 0x44
 

Funktionen

void debug_led (int state)
 
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)
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 
void * vid_get_bitmap_active_buffer ()
 
void * vid_get_bitmap_active_palette ()
 

Makro-Dokumentation

#define LED_AF   0xC022000C

Definiert in Zeile 13 der Datei lib.c.

#define LED_GREEN   0xC0220014

Definiert in Zeile 14 der Datei lib.c.

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

Definiert in Zeile 17 der Datei lib.c.

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

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 86 der Datei lib.c.

86  {
87  static char led_table[]={7,9};
88  _LEDDrive(led_table[led%sizeof(led_table)], state<=1 ? !state : state);
89 }
void debug_led ( int  state)

Definiert in Zeile 19 der Datei lib.c.

20 {
21  if (state)
22  LED_ON;
23  else
24  LED_OFF;
25 }
int get_flash_params_count ( void  )

Definiert in Zeile 91 der Datei lib.c.

91  {
92  return 0x9f;
93 }
void JogDial_CCW ( void  )

Definiert in Zeile 99 der Datei lib.c.

99  {
100  _PostLogicalEventForNotPowerType(0x875, 2); // RotateJogDialLeft
101 }
void JogDial_CW ( void  )

Definiert in Zeile 95 der Datei lib.c.

95  {
96  _PostLogicalEventForNotPowerType(0x874, 2); // RotateJogDialRight
97 }
void shutdown ( )

Definiert in Zeile 65 der Datei lib.c.

66 {
67  volatile long *p = (void*)0xC022001C;
68 
69  asm(
70  "MRS R1, CPSR\n"
71  "AND R0, R1, #0x80\n"
72  "ORR R1, R1, #0x80\n"
73  "MSR CPSR_cf, R1\n"
74  :::"r1","r0");
75 
76  *p = 0x44; // power off.
77 
78  while(1);
79 }
void vid_bitmap_refresh ( )

Definiert in Zeile 46 der Datei lib.c.

47 {
49  extern int full_screen_refresh;
50 
51  // i've tried refreshphysical screen (screen unlock) and that caused the canon and
52  // function menu to not display at all. This seems to work and is called in a similar
53  // way in other places where original OSD should be refreshed.
54  extern void _LockAndRefresh(); // wrapper function for screen lock
55  extern void _UnlockAndRefresh(); // wrapper function for screen unlock
56 
57  _LockAndRefresh();
58 
59  enabled_refresh_physical_screen=1;
60  full_screen_refresh |= 3;
61 
62  _UnlockAndRefresh();
63 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 108 der Datei lib.c.

109 {
110  extern int active_bitmap_buffer;
111  extern char* bitmap_buffer[];
112  return bitmap_buffer[active_bitmap_buffer];
113 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 115 der Datei lib.c.

116 {
117  extern int active_palette_buffer;
118  extern char* palette_buffer[];
119  void* p = palette_buffer[active_palette_buffer];
120  // Don't add offset if value is 0
121  if (p) p += 8;
122  return p;
123 }
int vid_get_palette_size ( )

Definiert in Zeile 106 der Datei lib.c.

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

Definiert in Zeile 105 der Datei lib.c.

105 { return 3; }