os/linux-2.6-tag--devboard-R2_10-4/arch/cris/arch-v32/drivers/elphel/pgm_functions.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define FRAMEPAR_MODIFIED(x)   (thispars->mod[(x) >> 5] & (1<<((x) & 0x1f)))
#define SETFRAMEPARS_SET(p, v)   { pars_to_update[nupdate ].num= (p) ; pars_to_update[nupdate++].val=(v);}
#define SETFRAMEPARS_UPDATE(p)   { pars_to_update[nupdate ].num= (p) ; pars_to_update[nupdate++].val=thispars->pars[(p) & 0xffff];}
#define SETFRAMEPARS_UPDATE_SET(p, v)   { pars_to_update[nupdate ].num= (p) ; pars_to_update[nupdate++].val=thispars->pars[(p) & 0xffff]?thispars->pars[(p) & 0xffff]:(v);}

Functions

int init_pgm_proc (void)
 extern struct sensorproc_t * sensorproc;
int add_sensor_proc (int index, int(*sens_func)(struct sensor_t *, struct framepars_t *, struct framepars_t *, int))
 initialize array of functions that program different acquisition parameters (some are sensor dependent)


Define Documentation

#define FRAMEPAR_MODIFIED ( x   )     (thispars->mod[(x) >> 5] & (1<<((x) & 0x1f)))

Definition at line 9 of file pgm_functions.h.

Referenced by mt9x001_pgm_exposure(), pgm_compmode(), pgm_focusmode(), pgm_prescal(), pgm_sensorin(), pgm_trigseq(), and pgm_window_common().

#define SETFRAMEPARS_SET ( p,
 )     { pars_to_update[nupdate ].num= (p) ; pars_to_update[nupdate++].val=(v);}

Definition at line 10 of file pgm_functions.h.

Referenced by mt9x001_pgm_gains(), mt9x001_pgm_initsensor(), mt9x001_pgm_limitfps(), mt9x001_pgm_window_common(), pgm_afterinit(), pgm_compmode(), pgm_gamma(), pgm_gammaload(), pgm_sensorphase(), and pgm_window_common().

#define SETFRAMEPARS_UPDATE (  )     { pars_to_update[nupdate ].num= (p) ; pars_to_update[nupdate++].val=thispars->pars[(p) & 0xffff];}

Definition at line 11 of file pgm_functions.h.

Referenced by pgm_afterinit().

#define SETFRAMEPARS_UPDATE_SET ( p,
 )     { pars_to_update[nupdate ].num= (p) ; pars_to_update[nupdate++].val=thispars->pars[(p) & 0xffff]?thispars->pars[(p) & 0xffff]:(v);}

Definition at line 12 of file pgm_functions.h.

Referenced by pgm_afterinit().


Function Documentation

int add_sensor_proc ( int  index,
int(*)(struct sensor_t *, struct framepars_t *, struct framepars_t *, int)  sens_func 
)

initialize array of functions that program different acquisition parameters (some are sensor dependent)

Parameters:
index function index (internally 32 is added to distinguish from the common (not sensor-specific) functions
sens_func pointer to a sensor-specific function
Returns:

Definition at line 267 of file pgm_functions.c.

References MDF1, sensorproc_t::pgm_func, printk, and sensorproc.

Referenced by mt9x001_pgm_detectsensor().

int init_pgm_proc ( void   ) 

extern struct sensorproc_t * sensorproc;

recalculate sequences/latencies, according to P_SKIP, P_TRIG

detect sensor type, sets sensor structure (capabilities), function pointers

program sensor clock/phase

program i2c

resets sensor, reads sensor registers, schedules "secret" manufacturer's corrections to the registers (stops/re-enables hardware i2c)

restore image size, decimation,... after sensor reset or set them according to sensor capabilities if none were specified

program sensor WOI and mirroring (flipping)

program sensor WOI and mirroring (flipping) - lower latency, no bad frames

program exposure

program analog gains

program sensor trigger mode

program sensor input in FPGA (Bayer, 8/16 bits, ??)

Stop acquisition from the sensor to the FPGA (start has latency of 2)

Start/single acquisition from the sensor to the FPGA (stop has latency of 1)

program gamma table

program histogram window

program autoexposure mode

program quantization table(s)

program memory channels 0 (sensor->memory) and 1 (memory->FPN)

program memory channel 2 (memory->compressor)

check compressor will keep up, limit sensor FPS if needed

program compressor modes

program focus modes

program sequencer (int/ext)

program smart IRQ mode

restart after changing geometry (recognizes ASAP and programs memory channel 2 then)

stop compressor when changing geometry

only start/stop/single (after explicitly changed, not when geometry was changed)

write gamma tables (should be prepared). Maybe - just last byte, to activate?

write sensor registers (only changed from outside the driver as they may have different latencies)?

change scales for per-color digital gains, apply vignetting correction

Definition at line 223 of file pgm_functions.c.

References MDF1, onchange_aexp, onchange_afterinit, onchange_compctl, onchange_compmode, onchange_comprestart, onchange_compstop, onchange_detectsensor, onchange_exposure, onchange_focusmode, onchange_gains, onchange_gamma, onchange_gammaload, onchange_hist, onchange_i2c, onchange_initsensor, onchange_irq, onchange_limitfps, onchange_memcompressor, onchange_memsensor, onchange_prescal, onchange_quality, onchange_recalcseq, onchange_sensorin, onchange_sensorphase, onchange_sensorregs, onchange_sensorrun, onchange_sensorstop, onchange_triggermode, onchange_trigseq, onchange_window, onchange_window_safe, pgm_aexp(), pgm_afterinit(), pgm_compctl(), pgm_compmode(), pgm_comprestart(), pgm_compstop(), pgm_detectsensor(), pgm_exposure(), pgm_focusmode(), sensorproc_t::pgm_func, pgm_gains(), pgm_gamma(), pgm_gammaload(), pgm_hist(), pgm_i2c(), pgm_initsensor(), pgm_irq(), pgm_limitfps(), pgm_memcompressor(), pgm_memsensor(), pgm_prescal(), pgm_quality(), pgm_recalcseq(), pgm_sensorin(), pgm_sensorphase(), pgm_sensorregs(), pgm_sensorrun(), pgm_sensorstop(), pgm_triggermode(), pgm_trigseq(), pgm_window(), pgm_window_safe(), printk, and sensorproc.

Referenced by image_acq_init().


Generated on Fri Nov 28 00:08:09 2008 for elphel by  doxygen 1.5.1