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   0xC02200B6
 

Funktionen

void vid_bitmap_refresh ()
 
void shutdown ()
 
void debug_led (__attribute__((unused)) 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)
 
void * vid_get_viewport_live_fb ()
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 
void * vid_get_bitmap_active_palette ()
 

Makro-Dokumentation

#define LED_PR   0xC02200B6

Definiert in Zeile 40 der Datei lib.c.

Dokumentation der Funktionen

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

Definiert in Zeile 47 der Datei lib.c.

47  {
48  static char led_table[5]={4,5,7,8,9};
49  _LEDDrive(led_table[led%sizeof(led_table)], state<=1 ? !state : state);
50 }
void debug_led ( __attribute__((unused)) int  state)

Definiert in Zeile 42 der Datei lib.c.

43 {
44  //*(int*)LED_PR=state ? 0x46 : 0x44;
45 }
int get_flash_params_count ( void  )

Definiert in Zeile 52 der Datei lib.c.

52  {
53  return 120;
54 }
void JogDial_CCW ( void  )

Definiert in Zeile 60 der Datei lib.c.

60  {
61  _PostLogicalEventToUI(0x877, 1); // RotateJogDialLeft
62 }
void JogDial_CW ( void  )

Definiert in Zeile 56 der Datei lib.c.

56  {
57  _PostLogicalEventToUI(0x876, 1); // RotateJogDialRight
58 }
void shutdown ( )

Definiert in Zeile 24 der Datei lib.c.

25 {
26  volatile long *p = (void*)0xC022001C;
27 
28  asm(
29  "MRS R1, CPSR\n"
30  "AND R0, R1, #0x80\n"
31  "ORR R1, R1, #0x80\n"
32  "MSR CPSR_cf, R1\n"
33  :::"r1","r0");
34 
35  *p = 0x44; // power off.
36 
37  while(1);
38 }
void vid_bitmap_refresh ( )

Definiert in Zeile 4 der Datei lib.c.

5 {
7  extern int full_screen_refresh;
8 
9  // i've tried refreshphysical screen (screen unlock) and that caused the canon and
10  // function menu to not display at all. This seems to work and is called in a similar
11  // way in other places where original OSD should be refreshed.
12  extern void _ScreenLock();
13  extern void _ScreenUnlock();
14 
15  _ScreenLock();
16 
17  enabled_refresh_physical_screen=1;
18  full_screen_refresh=3; //found in ScreenUnlock underneath a CameraLog.c call sub_FFA02598
19 
20  _ScreenUnlock();
21 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 77 der Datei lib.c.

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

Definiert in Zeile 75 der Datei lib.c.

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

Definiert in Zeile 74 der Datei lib.c.

74 { return 3 ; }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 64 der Datei lib.c.

65 {
66  void **fb=(void **)0x222C;
67  unsigned char buff = *((unsigned char*)0x206C);
68  if (buff == 0) buff = 2; else buff--;
69  return fb[buff];
70 }