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) |
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, | |||
v | ) | { 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 | ( | 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);} |
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)
index | function index (internally 32 is added to distinguish from the common (not sensor-specific) functions | |
sens_func | pointer to a sensor-specific function |
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().