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

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define LED_PR   0xC02200D4
 

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_viewport_width ()
 
long vid_get_viewport_height ()
 
int vid_get_viewport_yscale ()
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 
int vid_get_viewport_height_proper ()
 
int vid_get_viewport_fullscreen_height ()
 
void * vid_get_bitmap_active_palette ()
 
void load_chdk_palette ()
 

Makro-Dokumentation

#define LED_PR   0xC02200D4

Definiert in Zeile 36 der Datei lib.c.

Dokumentation der Funktionen

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

Definiert in Zeile 55 der Datei lib.c.

55  {
56  static char led_table[8]={0,1,2,3,8,9,14,15};
57  _LEDDrive(led_table[led%sizeof(led_table)], state<=1 ? !state : state);
58 }
void debug_led ( int  state)

Definiert in Zeile 38 der Datei lib.c.

39 {
40  *(int*)LED_PR=state ? 0x46 : 0x44;
41 }
int get_flash_params_count ( void  )

Definiert in Zeile 60 der Datei lib.c.

60  {
61  return 0x78 ; // G10 per SD990 & finsig2 - _sub_FF971C10__PropertyTableManagerCore.c__6 value at 0xff971c50 in 1.02a
62  // found in GetParameterData
63 }
void JogDial_CCW ( void  )

Definiert in Zeile 69 der Datei lib.c.

69  {
70  _PostLogicalEventForNotPowerType(0x875, 1); // RotateJogDialLeft (G10 1.02A table @ FFB43EF8)
71 }
void JogDial_CW ( void  )

Definiert in Zeile 65 der Datei lib.c.

65  {
66  _PostLogicalEventForNotPowerType(0x874, 1); // RotateJogDialRight (G10 1.02A table @ FFB43EEC)
67 }
void load_chdk_palette ( )

Definiert in Zeile 106 der Datei lib.c.

107 {
108  extern char** palette_buffer_ptr;
109  extern int active_palette_buffer;
110 
111  if ((active_palette_buffer == 0) || (active_palette_buffer == 1))
112  {
113  int *pal = (int*)vid_get_bitmap_active_palette();
114  if (pal[CHDK_COLOR_BASE+0] != 0x33ADF62)
115  {
116  pal[CHDK_COLOR_BASE+0] = 0x33ADF62; // Red
117  pal[CHDK_COLOR_BASE+1] = 0x326EA40; // Dark Red
118  pal[CHDK_COLOR_BASE+2] = 0x34CD57F; // Light Red
119  pal[CHDK_COLOR_BASE+3] = 0x373BFAE; // Green
120  pal[CHDK_COLOR_BASE+4] = 0x34BD6CA; // Dark Green
121  pal[CHDK_COLOR_BASE+5] = 0x395AB95; // Light Green
122  pal[CHDK_COLOR_BASE+6] = 0x34766F0; // Blue
123  pal[CHDK_COLOR_BASE+7] = 0x31250F3; // Dark Blue
124  pal[CHDK_COLOR_BASE+8] = 0x37F408F; // Cyan
125  pal[CHDK_COLOR_BASE+9] = 0x3512D5B; // Magenta
126  pal[CHDK_COLOR_BASE+10] = 0x3A9A917; // Yellow
127  pal[CHDK_COLOR_BASE+11] = 0x3819137; // Dark Yellow
128  pal[CHDK_COLOR_BASE+12] = 0x3DED115; // Light Yellow
129  pal[CHDK_COLOR_BASE+13] = 0x0090000; // Transparent dark grey
130 
131  // extern char palette_control;
132  // palette_control = 1;
134  }
135  }
136 }
void shutdown ( )

Definiert in Zeile 12 der Datei lib.c.

13 {
14  volatile long *p = (void*)0xC022001C; // G10 @ 0xFF829EE4,0xFF829EE8 & 0xFF829EEC
15 
16  asm(
17  "MRS R1, CPSR\n"
18  "AND R0, R1, #0x80\n"
19  "ORR R1, R1, #0x80\n"
20  "MSR CPSR_cf, R1\n"
21  :::"r1","r0");
22 
23  *p = 0x44; // power off.
24 
25  while(1);
26 }
void vid_bitmap_refresh ( )

Definiert in Zeile 5 der Datei lib.c.

6 {
7  _ScreenLock();
9 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 99 der Datei lib.c.

100 {
101  extern int active_palette_buffer;
102  extern char** palette_buffer_ptr;
103  return palette_buffer_ptr[active_palette_buffer]+16;
104 }
int vid_get_palette_size ( )

Definiert in Zeile 93 der Datei lib.c.

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

Definiert in Zeile 92 der Datei lib.c.

92 { return 3; }
int vid_get_viewport_fullscreen_height ( )

Definiert in Zeile 97 der Datei lib.c.

97 { return 480; }
long vid_get_viewport_height ( )

Definiert in Zeile 81 der Datei lib.c.

82 {
83  return 240; // G10
84 }
int vid_get_viewport_height_proper ( )

Definiert in Zeile 96 der Datei lib.c.

96 { return 480; }
int vid_get_viewport_width ( )

Definiert in Zeile 76 der Datei lib.c.

77 {
78  return 360 ; // G10
79 }
int vid_get_viewport_yscale ( )

Definiert in Zeile 87 der Datei lib.c.

87  {
88  return 2; // G10 viewport is 480 pixels high
89 }