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   0xC0220088
 
#define LED_AF   0xC0220080
 

Funktionen

void shutdown ()
 
void debug_led (int state)
 
void camera_set_led (int led, int state, __attribute__((unused)) int bright)
 
void vid_bitmap_refresh ()
 
void * vid_get_viewport_fb ()
 
void * vid_get_viewport_live_fb ()
 
int get_flash_params_count (void)
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 
void * vid_get_bitmap_active_palette ()
 
void * vid_get_bitmap_active_buffer ()
 

Variablen

char active_viewport_buffer
 
void * viewport_buffers []
 

Makro-Dokumentation

#define LED_AF   0xC0220080

Definiert in Zeile 6 der Datei lib.c.

#define LED_PR   0xC0220088

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

31  {
32  static char led_table[2]={7,9};
33  if(state<=1) _LEDDrive(led_table[led%sizeof(led_table)], (!state)&1);
34 }
void debug_led ( int  state)

Definiert in Zeile 26 der Datei lib.c.

27 {
28  *(int*)LED_PR=state ? 0x46 : 0x44;
29 }
int get_flash_params_count ( void  )

Definiert in Zeile 68 der Datei lib.c.

68  {
69  return 0xa0;
70  }
void shutdown ( )

Definiert in Zeile 9 der Datei lib.c.

10 {
11  volatile long *p = (void*)LED_PR; // Green LED
12 
13  asm(
14  "MRS R1, CPSR\n"
15  "AND R0, R1, #0x80\n"
16  "ORR R1, R1, #0x80\n"
17  "MSR CPSR_cf, R1\n"
18  :::"r1","r0");
19 
20  *p = 0x44; // power off.
21 
22  while(1);
23 }
void vid_bitmap_refresh ( )

Definiert in Zeile 36 der Datei lib.c.

37 {
38  extern int full_screen_refresh;
39  extern void _ScreenLock();
40  extern void _ScreenUnlock();
41 
42  full_screen_refresh |= 3; //found in ScreenUnlock
43  _ScreenLock();
44  _ScreenUnlock();
45 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 81 der Datei lib.c.

82 {
83  return (void*)(*(int*)(0x49e8+0x0c)); //sub_ffcd8790, via sub_ffe70e04 "Add: %p Width : %ld Hight : %ld",
84 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 78 der Datei lib.c.

78  {
79  return (void *)*(unsigned int*)(0x49e8+0x20); // sub_ffcd86d4, via sub_ffe51bf0 two refs to "Palette Class."
80 }
int vid_get_palette_size ( )

Definiert in Zeile 76 der Datei lib.c.

76 { return 16*4; }
int vid_get_palette_type ( )

Definiert in Zeile 75 der Datei lib.c.

75 { return 4; }
void* vid_get_viewport_fb ( )

Definiert in Zeile 52 der Datei lib.c.

53 {
54  // Return first viewport buffer - for case when vid_get_viewport_live_fb not defined
55  return viewport_buffers[0];
56 }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 58 der Datei lib.c.

59 {
60  if (MODE_IS_VIDEO(mode_get()))
61  return viewport_buffers[0]; // Video only seems to use the first viewport buffer.
62 
63  // Hopefully return the most recently used viewport buffer so that motion detect, histogram, zebra and edge overly are using current image data
65 }

Variablen-Dokumentation

char active_viewport_buffer
void* viewport_buffers[]