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

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define NUM_FL   101
 
#define NUM_DATA   2
 

Funktionen

void boot ()
 
void startup ()
 
unsigned int _GetLensFocalLengthAll (unsigned int *, unsigned int *, unsigned int *)
 
int get_effective_focal_length (__attribute__((unused)) int zp)
 
int get_focal_length (__attribute__((unused)) int zp)
 
int get_zoom_x (__attribute__((unused)) int zp)
 
long get_vbatt_min ()
 
long get_vbatt_max ()
 

Variablen

long link_bss_start
 
long link_bss_end
 
const int zoom_points = NUM_FL
 

Makro-Dokumentation

#define NUM_DATA   2

Definiert in Zeile 25 der Datei main.c.

#define NUM_FL   101

Definiert in Zeile 24 der Datei main.c.

Dokumentation der Funktionen

unsigned int _GetLensFocalLengthAll ( unsigned int *  ,
unsigned int *  ,
unsigned int *   
)
void boot ( )

Definiert in Zeile 43 der Datei boot.c.

43  {
44 
45  long *canon_data_src = (void*)0xFFEDAC70; // value taken at ROM:FFC00188
46  long *canon_data_dst = (void*)0x1900;
47  long canon_data_len = 0xDF84 - 0x1900; // data_end - data_start 0xDF7C taken at ROM:FFC00138
48  long *canon_bss_start = (void*)0xDF84; // just after data
49  long canon_bss_len = 0xD4F38 - 0xDF84; // d4ec8 taken at ROM:FFC00FB4
50 
51  long i;
52 
53  // enable caches and write buffer...
54  // this is a carryover from old dryos ports, may not be useful
55  asm volatile (
56  "MRC p15, 0, R0,c1,c0\n"
57  "ORR R0, R0, #0x1000\n"
58  "ORR R0, R0, #4\n"
59  "ORR R0, R0, #1\n"
60  "MCR p15, 0, R0,c1,c0\n"
61  :::"r0"
62  );
63 
64  for(i=0;i<canon_data_len/4;i++)
65  canon_data_dst[i]=canon_data_src[i];
66 
67  for(i=0;i<canon_bss_len/4;i++)
68  canon_bss_start[i]=0;
69 
70  asm volatile ("B sub_FFC001A4_my\n");
71 };
int get_effective_focal_length ( __attribute__((unused)) int  zp)

Definiert in Zeile 40 der Datei main.c.

40  {
41  unsigned int focal [3];
42  _GetLensFocalLengthAll(&focal[0], &focal[1], &focal[2]);
43  return ( (unsigned short)(focal[0]) * 1600 ) ;
44 }
int get_focal_length ( __attribute__((unused)) int  zp)

Definiert in Zeile 46 der Datei main.c.

46  {
47  unsigned int focal [3];
48  _GetLensFocalLengthAll(&focal[0], &focal[1], &focal[2]);
49  return ((unsigned short)(focal[0]) * 1000);
50 }
long get_vbatt_max ( )

Definiert in Zeile 64 der Datei main.c.

65 {
66  return 2*4168; // 4168 original battery just charged ASM1989
67 }
long get_vbatt_min ( )

Definiert in Zeile 58 der Datei main.c.

59 {
60  return 2*3300;
61 }
int get_zoom_x ( __attribute__((unused)) int  zp)

Definiert in Zeile 52 der Datei main.c.

52  {
53  unsigned int focal [3];
54  _GetLensFocalLengthAll(&focal[0], &focal[1], &focal[2]);
55  return (unsigned short)(focal[0]) * 10 / (unsigned short)(focal[1]) ;
56 }
void startup ( )

Definiert in Zeile 11 der Datei main.c.

11  {
12  long *bss = &link_bss_start;
13  // sanity check
14  if ((long)&link_bss_end > (MEMISOSTART + MEMISOSIZE)) {
15  started();
16  shutdown();
17  }
18  // initialize .bss senment
19  while (bss<&link_bss_end)
20  *bss++ = 0;
21  boot();
22 }

Variablen-Dokumentation

long link_bss_end
long link_bss_start
const int zoom_points = NUM_FL

Definiert in Zeile 37 der Datei main.c.