CHDK_DE Vorschauversion  Trunk Rev. 5830
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
modules.c-Dateireferenz
#include "camera_info.h"
#include "console.h"
#include "conf.h"
#include "modules.h"
#include "module_load.h"
#include "shooting.h"
#include "ctype.h"
+ Include-Abhängigkeitsdiagramm für modules.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define MODULE_NAME_EDGEOVR   "edgeovr.flt"
 
#define MODULE_NAME_MDETECT   "mdetect.flt"
 
#define MODULE_NAME_UNK   "unknown"
 
#define MODULE_NAME_LUA   "lua.flt"
 
#define MODULE_NAME_UBASIC   "ubasic.flt"
 
#define SCRIPT_LANG_NONE   0
 
#define SCRIPT_LANG_UBASIC   1
 
#define SCRIPT_LANG_LUA   2
 
#define MODULE_NAME_ZEBRA   "zebra.flt"
 
#define MODULE_NAME_HISTO   "histo.flt"
 
#define MODULE_NAME_CURVES   "curves.flt"
 
#define MODULE_NAME_GRIDS   "grids.flt"
 
#define MODULE_NAME_PALETTE   "palette.flt"
 
#define MODULE_NAME_MPOPUP   "mpopup.flt"
 
#define MODULE_NAME_FSELECT   "fselect.flt"
 
#define MODULE_NAME_DNG   "_dng.flt"
 
#define MODULE_NAME_TBOX   "_tbox.flt"
 
#define MODULE_NAME_HEXBOX   "_hexbox.flt"
 
#define MODULE_NAME_TXTREAD   "txtread.flt"
 
#define MODULE_NAME_SHOTHIST   "shothist.flt"
 

Funktionen

static void dummy_void ()
 
static int dummy_int ()
 
static int module_load_rawop ()
 
static int default_raw_merge_start (int action)
 
static int default_raw_subtract (const char *fromName, const char *fromDir, const char *subName, const char *subDir)
 
int module_restore_edge (void **buf)
 
void module_save_edge (void *buf, int state)
 
static int module_edgeovr_load ()
 
static void default_edge_overlay ()
 
static void default_load_edge_overlay (const char *fn)
 
static int default_md_init_motion_detector (int columns, int rows, int pixel_measure_mode, int detection_timeout, int measure_interval, int threshold, int draw_grid, int clipping_region_mode, int clipping_region_column1, int clipping_region_row1, int clipping_region_column2, int clipping_region_row2, int parameters, int pixels_step, int msecs_before_trigger)
 
static int script_lang_id (const char *script_file)
 
void module_set_script_lang (const char *script_file)
 
static int default_script_start (char const *script, int is_ptp)
 
static int default_script_start_file (char const *filename)
 
static int default_gui_osd_draw_zebra (int show)
 
static void default_histogram_process ()
 
static void default_gui_osd_draw_histo (int is_osd_edit)
 
static int module_curves_load ()
 
static void default_curve_init_mode ()
 
static void default_curve_set_mode ()
 
static void default_curve_set_file ()
 
static void default_gui_grid_draw_osd (int force)
 
static void default_grid_lines_load (const char *fn)
 
static void default_show_palette (int mode, chdkColor st_color, void(*on_select)(chdkColor clr))
 
static void default_show_popup (struct mpopup_item *popup_actions, const unsigned int flags, void(*on_select)(unsigned int actn))
 
static void default_file_select (int title, const char *prev_dir, const char *default_dir, void(*on_select)(const char *fn))
 
static void default_create_badpixel_bin ()
 
static void default_capture_data_for_exif ()
 
static void default_load_bad_pixels_list_b (char *filename)
 
static int default_convert_dng_to_chdk_raw (char *fn)
 
static void default_load_dng_to_rawbuffer (char *fn, char *rawadr)
 
static int default_textbox_init (int title, int msg, const char *defaultstr, unsigned int maxsize, void(*on_select)(const char *newstr), char *input_buffer)
 
static int default_hexbox_init (int *num, char *title, int flags)
 
static int default_read_file (const char *fn)
 
static int default_shot_histogram_set (int enable)
 
static int default_shot_histogram_get_range ()
 

Variablen

librawop_sym default_librawop
 
module_handler_t h_rawop
 
librawop_symlibrawop = &default_librawop
 
static void * saved_edgebuf = 0
 
static int saved_edgestate = 0
 
libedgeovr_sym default_libedgeovr
 
module_handler_t h_edgeovr
 
libedgeovr_symlibedgeovr = &default_libedgeovr
 
libmotiondetect_sym default_libmotiondetect
 
module_handler_t h_motiondetect
 
libmotiondetect_symlibmotiondetect = &default_libmotiondetect
 
libscriptapi_sym default_libscriptapi
 
module_handler_t h_script
 
static int current_lang_id = SCRIPT_LANG_NONE
 
libscriptapi_symlibscriptapi = &default_libscriptapi
 
libzebra_sym default_libzebra
 
module_handler_t h_zebra
 
libzebra_symlibzebra = &default_libzebra
 
libhisto_sym default_libhisto
 
module_handler_t h_histo
 
libhisto_symlibhisto = &default_libhisto
 
libcurves_sym default_libcurves
 
module_handler_t h_curves
 
libcurves_symlibcurves = &default_libcurves
 
libgrids_sym default_libgrids
 
module_handler_t h_grids
 
libgrids_symlibgrids = &default_libgrids
 
libpalette_sym default_libpalette
 
module_handler_t h_palette
 
libpalette_symlibpalette = &default_libpalette
 
libmpopup_sym default_libmpopup
 
module_handler_t h_mpopup
 
libmpopup_symlibmpopup = &default_libmpopup
 
libfselect_sym default_libfselect
 
module_handler_t h_fselect
 
libfselect_symlibfselect = &default_libfselect
 
libdng_sym default_libdng
 
module_handler_t h_dng
 
libdng_symlibdng = &default_libdng
 
libtextbox_sym default_libtextbox
 
module_handler_t h_textbox
 
libtextbox_symlibtextbox = &default_libtextbox
 
libhexbox_sym default_libhexbox
 
module_handler_t h_hexbox
 
libhexbox_symlibhexbox = &default_libhexbox
 
libtxtread_sym default_libtxtread
 
module_handler_t h_txtread
 
libtxtread_symlibtxtread = &default_libtxtread
 
libshothisto_sym default_libshothisto
 
module_handler_t h_shothisto
 
libshothisto_symlibshothisto = &default_libshothisto
 

Makro-Dokumentation

#define MODULE_NAME_CURVES   "curves.flt"

Definiert in Zeile 435 der Datei modules.c.

#define MODULE_NAME_DNG   "_dng.flt"

Definiert in Zeile 632 der Datei modules.c.

#define MODULE_NAME_EDGEOVR   "edgeovr.flt"

Definiert in Zeile 156 der Datei modules.c.

#define MODULE_NAME_FSELECT   "fselect.flt"

Definiert in Zeile 599 der Datei modules.c.

#define MODULE_NAME_GRIDS   "grids.flt"

Definiert in Zeile 491 der Datei modules.c.

#define MODULE_NAME_HEXBOX   "_hexbox.flt"

Definiert in Zeile 737 der Datei modules.c.

#define MODULE_NAME_HISTO   "histo.flt"

Definiert in Zeile 382 der Datei modules.c.

#define MODULE_NAME_LUA   "lua.flt"

Definiert in Zeile 259 der Datei modules.c.

#define MODULE_NAME_MDETECT   "mdetect.flt"

Definiert in Zeile 212 der Datei modules.c.

#define MODULE_NAME_MPOPUP   "mpopup.flt"

Definiert in Zeile 566 der Datei modules.c.

#define MODULE_NAME_PALETTE   "palette.flt"

Definiert in Zeile 533 der Datei modules.c.

#define MODULE_NAME_SHOTHIST   "shothist.flt"

Definiert in Zeile 809 der Datei modules.c.

#define MODULE_NAME_TBOX   "_tbox.flt"

Definiert in Zeile 701 der Datei modules.c.

#define MODULE_NAME_TXTREAD   "txtread.flt"

Definiert in Zeile 773 der Datei modules.c.

#define MODULE_NAME_UBASIC   "ubasic.flt"

Definiert in Zeile 260 der Datei modules.c.

#define MODULE_NAME_UNK   "unknown"

Definiert in Zeile 258 der Datei modules.c.

#define MODULE_NAME_ZEBRA   "zebra.flt"

Definiert in Zeile 346 der Datei modules.c.

#define SCRIPT_LANG_LUA   2

Definiert in Zeile 276 der Datei modules.c.

#define SCRIPT_LANG_NONE   0

Definiert in Zeile 274 der Datei modules.c.

#define SCRIPT_LANG_UBASIC   1

Definiert in Zeile 275 der Datei modules.c.

Dokumentation der Funktionen

static void default_capture_data_for_exif ( )
static

Definiert in Zeile 652 der Datei modules.c.

653 {
654  // If load succeeded call module version of function
655  if (module_load(&h_dng))
657 }
static int default_convert_dng_to_chdk_raw ( char *  fn)
static

Definiert in Zeile 664 der Datei modules.c.

665 {
666  // If load succeeded call module version of function
667  if (module_load(&h_dng))
669 
670  // Failure
671  return 0;
672 }
static void default_create_badpixel_bin ( )
static

Definiert in Zeile 646 der Datei modules.c.

647 {
648  // If load succeeded call module version of function
649  if (module_load(&h_dng))
651 }
static void default_curve_init_mode ( )
static

Definiert in Zeile 457 der Datei modules.c.

458 {
459  // If load succeeded call module version of function
460  if (module_curves_load())
462 }
static void default_curve_set_file ( )
static

Definiert in Zeile 469 der Datei modules.c.

470 {
471  // If load succeeded call module version of function
472  if (module_curves_load())
474 }
static void default_curve_set_mode ( )
static

Definiert in Zeile 463 der Datei modules.c.

464 {
465  // If load succeeded call module version of function
466  if (module_curves_load())
468 }
static void default_edge_overlay ( )
static

Definiert in Zeile 185 der Datei modules.c.

186 {
187  // If load succeeded call module version of function
188  if (module_edgeovr_load())
190 }
static void default_file_select ( int  title,
const char *  prev_dir,
const char *  default_dir,
void(*)(const char *fn on_select 
)
static

Definiert in Zeile 613 der Datei modules.c.

614 {
615  // If load succeeded call module version of function
616  if (module_load(&h_fselect))
617  libfselect->file_select(title, prev_dir, default_dir, on_select);
618 }
static void default_grid_lines_load ( const char *  fn)
static

Definiert in Zeile 512 der Datei modules.c.

513 {
514  // If load succeeded call module version of function
515  if (module_load(&h_grids))
517 }
static void default_gui_grid_draw_osd ( int  force)
static

Definiert in Zeile 505 der Datei modules.c.

506 {
507  // If load succeeded call module version of function
508  if (conf.show_grid_lines)
509  if (module_load(&h_grids))
510  libgrids->gui_grid_draw_osd(force);
511 }
static void default_gui_osd_draw_histo ( int  is_osd_edit)
static

Definiert in Zeile 404 der Datei modules.c.

405 {
406  if (is_osd_edit ||
408  (
410  ((conf.show_histo==SHOW_HISTO_REC) && camera_info.state.mode_rec && (recreview_hold==0)) ||
411  ((conf.show_histo==SHOW_HISTO_ALWAYS) && (recreview_hold==0))
412  )
413  )
414  )
415  {
416  // If load succeeded call module version of function
417  if (module_load(&h_histo))
418  libhisto->gui_osd_draw_histo(is_osd_edit);
419  }
420 }
static int default_gui_osd_draw_zebra ( int  show)
static

Definiert in Zeile 360 der Datei modules.c.

361 {
362  // If load succeeded call module version of function
363  if (module_load(&h_zebra))
364  return libzebra->gui_osd_draw_zebra(show);
365 
366  // Failure
367  return 0;
368 }
static int default_hexbox_init ( int *  num,
char *  title,
int  flags 
)
static

Definiert in Zeile 751 der Datei modules.c.

752 {
753  // If load succeeded call module version of function
754  if (module_load(&h_hexbox))
755  return libhexbox->hexbox_init(num, title, flags);
756 
757  // Failure
758  return 0;
759 }
static void default_histogram_process ( )
static

Definiert in Zeile 396 der Datei modules.c.

397 {
398  // If load succeeded call module version of function
399  if (module_load(&h_histo))
401 }
static void default_load_bad_pixels_list_b ( char *  filename)
static

Definiert in Zeile 658 der Datei modules.c.

659 {
660  // If load succeeded call module version of function
661  if (module_load(&h_dng))
662  libdng->load_bad_pixels_list_b(filename);
663 }
static void default_load_dng_to_rawbuffer ( char *  fn,
char *  rawadr 
)
static

Definiert in Zeile 673 der Datei modules.c.

674 {
675  // If load succeeded call module version of function
676  if (module_load(&h_dng))
678 }
static void default_load_edge_overlay ( const char *  fn)
static

Definiert in Zeile 191 der Datei modules.c.

192 {
193  // If load succeeded call module version of function
194  if (module_edgeovr_load())
196 }
static int default_md_init_motion_detector ( int  columns,
int  rows,
int  pixel_measure_mode,
int  detection_timeout,
int  measure_interval,
int  threshold,
int  draw_grid,
int  clipping_region_mode,
int  clipping_region_column1,
int  clipping_region_row1,
int  clipping_region_column2,
int  clipping_region_row2,
int  parameters,
int  pixels_step,
int  msecs_before_trigger 
)
static

Definiert in Zeile 226 der Datei modules.c.

230 {
231  // If load succeeded call module version of function
234  columns, rows, pixel_measure_mode, detection_timeout, measure_interval, threshold, draw_grid,
235  clipping_region_mode, clipping_region_column1, clipping_region_row1, clipping_region_column2, clipping_region_row2,
236  parameters, pixels_step, msecs_before_trigger);
237 
238  // Failure
239  return 0;
240 }
static int default_raw_merge_start ( int  action)
static

Definiert in Zeile 113 der Datei modules.c.

114 {
115  // If load succeeded call module version of function
116  if (module_load_rawop())
117  return librawop->raw_merge_start(action);
118 
119  // Failure
120  return 0;
121 }
static int default_raw_subtract ( const char *  fromName,
const char *  fromDir,
const char *  subName,
const char *  subDir 
)
static

Definiert in Zeile 122 der Datei modules.c.

123 {
124  // If load succeeded call module version of function
125  if (module_load_rawop())
126  return librawop->raw_subtract(fromName, fromDir, subName, subDir);
127 
128  // Failure
129  return 0;
130 }
static int default_read_file ( const char *  fn)
static

Definiert in Zeile 787 der Datei modules.c.

788 {
789  // If load succeeded call module version of function
790  if (module_load(&h_txtread))
791  return libtxtread->read_file(fn);
792 
793  // Failure
794  return 0;
795 }
static int default_script_start ( char const script,
int  is_ptp 
)
static

Definiert in Zeile 308 der Datei modules.c.

309 {
310  // If load succeeded call module version of function
311  if (module_load(&h_script))
312  return libscriptapi->script_start(script, is_ptp);
313 
314  // Failure
315  return 0;
316 }
static int default_script_start_file ( char const filename)
static

Definiert in Zeile 317 der Datei modules.c.

318 {
319  // If load succeeded call module version of function
320  if (module_load(&h_script))
321  return libscriptapi->script_start_file(filename);
322 
323  // Failure
324  return 0;
325 }
static int default_shot_histogram_get_range ( )
static

Definiert in Zeile 830 der Datei modules.c.

831 {
832  return -1; // Module not loaded
833 }
static int default_shot_histogram_set ( int  enable)
static

Definiert in Zeile 822 der Datei modules.c.

823 {
824  // If enabling shot histogram, then load module, otherwise nothing to do
825  if (enable)
826  if (module_load(&h_shothisto))
827  return libshothisto->shot_histogram_set(enable);
828  return 1;
829 }
static void default_show_palette ( int  mode,
chdkColor  st_color,
void(*)(chdkColor clr)  on_select 
)
static

Definiert in Zeile 547 der Datei modules.c.

548 {
549  // If load succeeded call module version of function
550  if (module_load(&h_palette))
551  libpalette->show_palette(mode, st_color, on_select);
552 }
static void default_show_popup ( struct mpopup_item popup_actions,
const unsigned int  flags,
void(*)(unsigned int actn)  on_select 
)
static

Definiert in Zeile 580 der Datei modules.c.

581 {
582  // If load succeeded call module version of function
583  if (module_load(&h_mpopup))
584  libmpopup->show_popup(popup_actions, flags, on_select);
585 }
static int default_textbox_init ( int  title,
int  msg,
const char *  defaultstr,
unsigned int  maxsize,
void(*)(const char *newstr)  on_select,
char *  input_buffer 
)
static

Definiert in Zeile 715 der Datei modules.c.

716 {
717  // If load succeeded call module version of function
718  if (module_load(&h_textbox))
719  return libtextbox->textbox_init(title,msg,defaultstr,maxsize,on_select,input_buffer);
720 
721  // Failure
722  return 0;
723 }
static int dummy_int ( )
static

Definiert in Zeile 90 der Datei modules.c.

90 { return 0; }
static void dummy_void ( )
static

Definiert in Zeile 89 der Datei modules.c.

89 {}
static int module_curves_load ( )
static

Definiert in Zeile 449 der Datei modules.c.

450 {
451  if (camera_sensor.bits_per_pixel == 10)
452  return module_load(&h_curves);
453  return 0;
454 }
static int module_edgeovr_load ( )
static

Definiert in Zeile 170 der Datei modules.c.

171 {
172  // This flag is because edgeovr called each tick
173  // If module loading failed, then do not try to load it until reboot
174  // (otherwise we will try to load module each tick)
175  static int flag_load_fail = 0;
176 
177  if ( flag_load_fail==0 )
178  if (!module_load(&h_edgeovr))
179  flag_load_fail = 1;
180 
181  return flag_load_fail == 0;
182 }
static int module_load_rawop ( )
static

Definiert in Zeile 107 der Datei modules.c.

108 {
109  return module_load(&h_rawop);
110 }
int module_restore_edge ( void **  buf)

Definiert in Zeile 153 der Datei modules.c.

153 { *buf = saved_edgebuf; return saved_edgestate; }
void module_save_edge ( void *  buf,
int  state 
)

Definiert in Zeile 154 der Datei modules.c.

154 { saved_edgebuf = buf; saved_edgestate = state; }
void module_set_script_lang ( const char *  script_file)

Definiert in Zeile 293 der Datei modules.c.

294 {
295  char* lang_names[] = { MODULE_NAME_UNK, MODULE_NAME_UBASIC, MODULE_NAME_LUA };
296 
297  int lang_id = script_lang_id(script_file);
298 
299  if (lang_id != current_lang_id)
300  {
302  current_lang_id = lang_id;
303  h_script.name = lang_names[lang_id];
304  }
305 }
static int script_lang_id ( const char *  script_file)
static

Definiert in Zeile 280 der Datei modules.c.

281 {
282  if ((script_file == 0) || (script_file[0] == 0))
283  return SCRIPT_LANG_LUA; // Default script is Lua
284 
285  char *ext = strrchr(script_file,'.');
286 
287  if (ext && (strlen(ext) == 4) && (toupper(ext[1]) == 'L') && (toupper(ext[2]) == 'U') && (toupper(ext[3]) == 'A'))
288  return SCRIPT_LANG_LUA;
289 
290  return SCRIPT_LANG_UBASIC;
291 }

Variablen-Dokumentation

int current_lang_id = SCRIPT_LANG_NONE
static

Definiert in Zeile 278 der Datei modules.c.

libcurves_sym default_libcurves
Initialisierung:

Definiert in Zeile 477 der Datei modules.c.

libedgeovr_sym default_libedgeovr
Initialisierung:

Definiert in Zeile 199 der Datei modules.c.

libfselect_sym default_libfselect
Initialisierung:
=
{
{ 0,0,0,0,0 },
}

Definiert in Zeile 621 der Datei modules.c.

libgrids_sym default_libgrids
Initialisierung:

Definiert in Zeile 520 der Datei modules.c.

libhexbox_sym default_libhexbox
Initialisierung:
=
{
{ 0,0,0,0,0 },
}

Definiert in Zeile 762 der Datei modules.c.

libhisto_sym default_libhisto
Initialisierung:

Definiert in Zeile 423 der Datei modules.c.

libmotiondetect_sym default_libmotiondetect
Initialisierung:

Definiert in Zeile 243 der Datei modules.c.

libmpopup_sym default_libmpopup
Initialisierung:
=
{
{ 0,0,0,0,0 },
}

Definiert in Zeile 588 der Datei modules.c.

libpalette_sym default_libpalette
Initialisierung:
=
{
{ 0,0,0,0,0 },
}

Definiert in Zeile 555 der Datei modules.c.

librawop_sym default_librawop
Initialisierung:

Definiert in Zeile 133 der Datei modules.c.

libscriptapi_sym default_libscriptapi
Initialisierung:

Definiert in Zeile 328 der Datei modules.c.

libshothisto_sym default_libshothisto
Initialisierung:

Definiert in Zeile 836 der Datei modules.c.

libtextbox_sym default_libtextbox
Initialisierung:
=
{
{ 0,0,0,0,0 },
}

Definiert in Zeile 726 der Datei modules.c.

libtxtread_sym default_libtxtread
Initialisierung:
=
{
{ 0,0,0,0,0 },
}

Definiert in Zeile 798 der Datei modules.c.

libzebra_sym default_libzebra
Initialisierung:
=
{
{ 0,0,0,0,0 },
}

Definiert in Zeile 371 der Datei modules.c.

module_handler_t h_curves
Initialisierung:

Definiert in Zeile 440 der Datei modules.c.

Initialisierung:

Definiert in Zeile 637 der Datei modules.c.

module_handler_t h_edgeovr
Initialisierung:

Definiert in Zeile 161 der Datei modules.c.

module_handler_t h_fselect
Initialisierung:

Definiert in Zeile 604 der Datei modules.c.

Initialisierung:

Definiert in Zeile 496 der Datei modules.c.

module_handler_t h_hexbox
Initialisierung:

Definiert in Zeile 742 der Datei modules.c.

Initialisierung:

Definiert in Zeile 387 der Datei modules.c.

module_handler_t h_mpopup
Initialisierung:

Definiert in Zeile 571 der Datei modules.c.

module_handler_t h_palette
Initialisierung:

Definiert in Zeile 538 der Datei modules.c.

Initialisierung:

Definiert in Zeile 99 der Datei modules.c.

module_handler_t h_script
Initialisierung:

Definiert in Zeile 265 der Datei modules.c.

module_handler_t h_shothisto
Initialisierung:

Definiert in Zeile 814 der Datei modules.c.

module_handler_t h_textbox
Initialisierung:

Definiert in Zeile 706 der Datei modules.c.

module_handler_t h_txtread
Initialisierung:

Definiert in Zeile 778 der Datei modules.c.

Initialisierung:

Definiert in Zeile 351 der Datei modules.c.

Definiert in Zeile 487 der Datei modules.c.

Definiert in Zeile 697 der Datei modules.c.

Definiert in Zeile 208 der Datei modules.c.

Definiert in Zeile 628 der Datei modules.c.

Definiert in Zeile 528 der Datei modules.c.

Definiert in Zeile 769 der Datei modules.c.

Definiert in Zeile 431 der Datei modules.c.

Definiert in Zeile 254 der Datei modules.c.

Definiert in Zeile 595 der Datei modules.c.

Definiert in Zeile 562 der Datei modules.c.

Definiert in Zeile 143 der Datei modules.c.

Definiert in Zeile 342 der Datei modules.c.

Definiert in Zeile 846 der Datei modules.c.

Definiert in Zeile 733 der Datei modules.c.

Definiert in Zeile 805 der Datei modules.c.

Definiert in Zeile 378 der Datei modules.c.

void* saved_edgebuf = 0
static

Definiert in Zeile 150 der Datei modules.c.

int saved_edgestate = 0
static

Definiert in Zeile 151 der Datei modules.c.