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

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define BUSY_WAIT   busy_wait
 
#define d   (1024*1024*3)
 

Funktionen

void busy_wait (ulong time)
 
void led_on (long *led)
 
void led_off (long *led)
 
void led_flash2_helper ()
 
void __attribute__ ((naked, noinline))
 *-------------------------------------------------------------------— Mehr ...
 
void led_flashx (long *led, ulong times, ulong delay)
 
void led_binx (long val, ulong delay)
 
void led_dumpx (long *mem, ulong len, ulong delay)
 

Variablen

long * LED_GREEN = (long*)0xC0220130
 
long * LED_RED = (long*)0xC0220134
 
long * LED_AF = (long*)0xC0223030
 

Makro-Dokumentation

#define BUSY_WAIT   busy_wait

Definiert in Zeile 12 der Datei led.c.

#define d   (1024*1024*3)

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

*-------------------------------------------------------------------—

!!

Definiert in Zeile 36 der Datei led.c.

36  {
37  asm volatile(
38  "push {r0-r11,lr}\n"
39  "bl led_flash2_helper\n"
40  "pop {r0-r11,pc}\n"
41  );
42 }
void busy_wait ( ulong  time)

Definiert in Zeile 8 der Datei led.c.

8  {
10 }
void led_binx ( long  val,
ulong  delay 
)

Definiert in Zeile 48 der Datei led.c.

48  {
49  long i = 0;
50  led_flashx(val & 0x80000000 ? LED_RED : LED_GREEN, 1, delay);
51  for (i = 1; i < 32; ++i) {
52  if (i%4 == 0) busy_wait(delay);
53  if (i%8 == 0) busy_wait(delay);
54  if (i%16 == 0) busy_wait(delay);
55  val <<= 1;
56  led_flashx(val & 0x80000000 ? LED_RED : LED_GREEN, 1, delay);
57  }
58  led_flashx(LED_AF, 1, 2*delay);
59 }
void led_dumpx ( long *  mem,
ulong  len,
ulong  delay 
)

Definiert in Zeile 61 der Datei led.c.

61  {
62  long i = 0;
63  led_flashx(LED_AF, 1, 2*delay);
64  for (i = 0; i < len; ++i) {
65  led_binx(mem[i], delay);
66  }
67 }
void led_flash2_helper ( )

Definiert in Zeile 22 der Datei led.c.

22  {
23 #define d (1024*1024*3)
24  BUSY_WAIT(d);
26  BUSY_WAIT(d);
27  LED_ON(LED_RED);
28  BUSY_WAIT(2*d);
30  BUSY_WAIT(d);
32  BUSY_WAIT(d);
33 #undef d
34 }
void led_flashx ( long *  led,
ulong  times,
ulong  delay 
)

Definiert in Zeile 44 der Datei led.c.

44  {
45  LED_FLASHX(led, times, delay);
46 }
void led_off ( long *  led)

Definiert in Zeile 18 der Datei led.c.

18  {
19  LED_OFF(led);
20 }
void led_on ( long *  led)

Definiert in Zeile 14 der Datei led.c.

14  {
15  LED_ON(led);
16 }

Variablen-Dokumentation

long * LED_AF = (long*)0xC0223030

Definiert in Zeile 6 der Datei led.c.

long* LED_GREEN = (long*)0xC0220130

Definiert in Zeile 4 der Datei led.c.

long * LED_RED = (long*)0xC0220134

Definiert in Zeile 5 der Datei led.c.