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

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  script_shoot_hook_t
 

Funktionen

void script_shoot_hooks_reset (void)
 
void script_shoot_hook_set (int hook, int timeout)
 
void rawop_update_hook_status (int active)
 
void script_shoot_hook_run (int hook)
 
int script_shoot_hook_ready (int hook)
 
void script_shoot_hook_continue (int hook)
 
int script_shoot_hook_count (int hook)
 

Variablen

const char * shoot_hook_names [SCRIPT_NUM_SHOOT_HOOKS]
 
static script_shoot_hook_t hooks [SCRIPT_NUM_SHOOT_HOOKS]
 

Dokumentation der Funktionen

void rawop_update_hook_status ( int  active)

Definiert in Zeile 752 der Datei rawhookops.c.

752  {
753  if(active) {
755  init_raw_params();
756  } else {
757  raw_buffer_valid = 0;
758  }
759 }
void script_shoot_hook_continue ( int  hook)

Definiert in Zeile 63 der Datei script_shoot_hook.c.

64 {
65  hooks[hook].active = 0;
66 }
int script_shoot_hook_count ( int  hook)

Definiert in Zeile 69 der Datei script_shoot_hook.c.

70 {
71  return hooks[hook].count;
72 }
int script_shoot_hook_ready ( int  hook)

Definiert in Zeile 57 der Datei script_shoot_hook.c.

58 {
59  return hooks[hook].active;
60 }
void script_shoot_hook_run ( int  hook)

Definiert in Zeile 32 der Datei script_shoot_hook.c.

33 {
34  int timeleft = hooks[hook].timeout;
35  hooks[hook].count++;
36  // only mark hook active if it was set
37  if(timeleft > 0) {
38  // notify rawop when in raw hook, so it can update valid raw status
39  // and values that might change between shots
40  if(hook == SCRIPT_SHOOT_HOOK_RAW) {
42  }
43  hooks[hook].active = 1;
44  while(timeleft > 0 && hooks[hook].active) {
45  msleep(10);
46  timeleft -= 10;
47  }
48  if(hook == SCRIPT_SHOOT_HOOK_RAW) {
50  }
51  hooks[hook].active = 0;
52  }
53  // TODO may want to record timeout
54 }
void script_shoot_hook_set ( int  hook,
int  timeout 
)

Definiert in Zeile 25 der Datei script_shoot_hook.c.

25  {
26  hooks[hook].timeout = timeout;
27 }
void script_shoot_hooks_reset ( void  )

Definiert in Zeile 19 der Datei script_shoot_hook.c.

20 {
21  memset(hooks,0,sizeof(hooks));
22 }

Variablen-Dokumentation

Definiert in Zeile 16 der Datei script_shoot_hook.c.

const char* shoot_hook_names[SCRIPT_NUM_SHOOT_HOOKS]
Initialisierung:
= {
"hook_preshoot",
"hook_shoot",
"hook_raw",
}

Definiert in Zeile 10 der Datei script_shoot_hook.c.