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

Go to the documentation of this file.
00001 /*!********************************************************************************
00002 *! FILE NAME  : latency.h
00003 *! Table that specifies what frame should "onchange" function be programmed to, relative to the frame for which parameters are specified
00004 *! 1 - same frame             (programmed at least 1 frame earlier), will happen immediately after VACT start for that frame (usually before the interrupt for that frame)
00005 *! 2 - previous frame         (programmed at least 2 frames earlier)
00006 *! 3 - pre-previous frame     (programmed at least 3 frames earlier)
00007 *! 4 - pre-pre-previous frame (programmed at least 4 frames earlier)
00008 *! 0 - ASAP (programmed after that frame interrupt - when compression of the previous frame is finished)
00009 *!  each group consists of 6 numbers:
00010 *!  "onchange" index (0..31), then 5 values for:
00011 *!  1 - continuous run , safe mode (skipping frame when geometry is modified)
00012 *!  2 - continuous run , no skipping frame when geometry is modified, trying to save all frames
00013 *!  3 - async mode (external trigger/timer) , safe mode (skipping frame when geometry is modified)
00014 *!  4 - async mode (external trigger/timer) , no skipping frame when geometry is modified, trying to save all frames
00015 *!  5 - async, non-overlap (program - acquire/compress - program next - acquire/compress next (i.e.10347 with CCD)
00016 *! Used in pgm_functions.c
00017 *!
00018 *! Copyright (C) 2008 Elphel, Inc.
00019 *! -----------------------------------------------------------------------------**
00020 *!
00021 *!  This program is free software: you can redistribute it and/or modify
00022 *!  it under the terms of the GNU General Public License as published by
00023 *!  the Free Software Foundation, either version 3 of the License, or
00024 *!  (at your option) any later version.
00025 *!
00026 *!  This program is distributed in the hope that it will be useful,
00027 *!  but WITHOUT ANY WARRANTY; without even the implied warranty of
00028 *!  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00029 *!  GNU General Public License for more details.
00030 *!
00031 *!  You should have received a copy of the GNU General Public License
00032 *!  along with this program.  If not, see <http://www.gnu.org/licenses/>.
00033 *! -----------------------------------------------------------------------------**
00034 *!  $Log: latency.h,v $
00035 *!  Revision 1.1.1.1  2008/11/27 20:04:01  elphel
00036 *!
00037 *!
00038 *!  Revision 1.12  2008/11/27 09:27:31  elphel
00039 *!  Support fro new parameters (vignetting correction related)
00040 *!
00041 *!  Revision 1.11  2008/10/25 19:53:49  elphel
00042 *!  increased latency for gamma/gamma_load to fix a bug
00043 *!
00044 *!  Revision 1.10  2008/10/23 08:06:40  elphel
00045 *!  set latencies for async modes
00046 *!
00047 *!  Revision 1.9  2008/10/22 05:29:03  elphel
00048 *!  Rev. 8.0.alpha5 - working on external trigger mode - moved programming away from the sequencer that can only pass 24 data bits
00049 *!
00050 *!  Revision 1.8  2008/10/22 03:44:50  elphel
00051 *!  increased limitfps latency to the same as the one for window to prevent sensor from missing counter rollover
00052 *!
00053 *!  Revision 1.7  2008/10/21 04:22:26  elphel
00054 *!  changed latency for exposure to 2 (was 3)
00055 *!
00056 *!  Revision 1.6  2008/10/18 06:14:21  elphel
00057 *!  8.0.alpha4 - removed some obsolete parameters, renumbered others, split P_FLIP into P_FLIPH and P_FLIPV (different latencies because of bad frames), pgm_window-> pgm_window, pgm_window_safe
00058 *!
00059 *!  Revision 1.5  2008/10/17 05:44:48  elphel
00060 *!  fixing latencies
00061 *!
00062 *!  Revision 1.4  2008/10/08 21:26:25  elphel
00063 *!  snapsot 7.2.0.pre4 - first images (actually - second)
00064 *!
00065 *!  Revision 1.3  2008/09/25 00:58:11  elphel
00066 *!  snapshot
00067 *!
00068 *!  Revision 1.2  2008/08/11 19:17:01  elphel
00069 *!  reduced syntax complaints by KDevelop
00070 *!
00071 *!  Revision 1.1  2008/07/29 01:15:06  elphel
00072 *!  another snapshot
00073 *!
00074 *!
00075 */
00076 
00077 #ifndef _LATENCY_H
00078 #define _LATENCY_H
00080 const unsigned long ahead_tab[]= 
00081   {                   
00082 #if 0
00083   onchange_recalcseq,     0,    0,    0,    0,    0,   0, 
00084   onchange_detectsensor,  1,    0,    0,    0,    0,   0, 
00085   onchange_sensorphase,   1,    0,    0,    0,    0,   0, 
00086   onchange_i2c,           0,    0,    0,    0,    0,   0, 
00087   onchange_initsensor,    1,    0,    0,    0,    0,   0,  
00088   onchange_afterinit,     0,    0,    0,    0,    0,   0, 
00089   onchange_window,        0,    3,    2,    2,    2,   0, 
00090   onchange_exposure,      0,    3,    3,    2,    2,   0, 
00091   onchange_gains,         0,    2,    2,    2,    2,   0, 
00092   onchange_triggermode,   0,    3,    2,    2,    2,   0, 
00093   onchange_sensorin,      0,    1,    1,    1,    1,   0, 
00094   onchange_sensorstop,    0,    1,    1,    1,    1,   0, 
00095   onchange_sensorrun,     0,    2,    2,    2,    2,   0, 
00096   onchange_gamma,         0,    1,    1,    1,    1,   0, 
00097   onchange_hist,          0,    1,    1,    1,    1,   0, 
00098   onchange_aexp,          0,    1,    1,    1,    1,   0, 
00099   onchange_quality,       0,    1,    1,    1,    1,   0, 
00100   onchange_memsensor,     0,    1,    1,    1,    1,   0, 
00101   onchange_memcompressor, 0,    1,    1,    1,    1,   0, 
00102   onchange_limitfps,      0,    2,    2,    2,    2,   0, 
00103   onchange_compmode,      0,    1,    1,    1,    1,   0, 
00104   onchange_focusmode,     1,    0,    0,    0,    0,   0, 
00105   onchange_trigseq,       0,    0,    0,    0,    0,   0, 
00106   onchange_irq,           0,    0,    0,    0,    0,   0, 
00107   onchange_comprestart,   0,    1,    0,    1,    0,   0, 
00108 
00109 //  onchange_compstop,      0,    2,    1,    2,    1,   0, /// stop compressor when changing geometry
00110   onchange_compstop,      0,    3,    2,    3,    2,   0, 
00111   onchange_compctl,       0,    1,    1,    1,    1,   0, 
00112 //  onchange_gammaload,     1,    0,    0,    0,    0,   0, /// write gamma tables (should be prepared). Maybe - just last byte, to activate?
00113   onchange_gammaload,     1,    1,    1,    1,    1,   0, 
00114   onchange_sensorregs,    0,    2,    2,    2,    2,   0  
00115 // 29 - 3 left
00116 #endif
00118   onchange_recalcseq,     0,    0,    0,    0,    0,   0, 
00119   onchange_detectsensor,  1,    0,    0,    0,    0,   0, 
00120   onchange_sensorphase,   1,    0,    0,    0,    0,   0, 
00121   onchange_i2c,           0,    0,    0,    0,    0,   0, 
00122   onchange_initsensor,    1,    0,    0,    0,    0,   0,  
00123   onchange_afterinit,     0,    0,    0,    0,    0,   0, 
00124   onchange_window,        0,    2,    1,    1,    1,   0, 
00125   onchange_window_safe,   0,    1,    1,    1,    1,   0, 
00126 //  onchange_exposure,      0,    3,    3,    2,    2,   0, 
00127   onchange_exposure,      0,    2,    1,    1,    1,   0, 
00128   onchange_gains,         0,    1,    1,    1,    1,   0, 
00129   onchange_triggermode,   0,    2,    1,    1,    1,   0, 
00130   onchange_sensorin,      0,    0,    0,    0,    0,   0, 
00131   onchange_sensorstop,    0,    0,    0,    0,    0,   0, 
00132   onchange_sensorrun,     0,    1,    1,    1,    1,   0, 
00133   onchange_gamma,         0,    1,    1,    1,    1,   0, 
00134   onchange_hist,          0,    0,    0,    0,    0,   0, 
00135   onchange_aexp,          0,    0,    0,    0,    0,   0, 
00136   onchange_quality,       0,    0,    0,    0,    0,   0, 
00137   onchange_memsensor,     0,    0,    0,    0,    0,   0, 
00138   onchange_memcompressor, 0,    0,    0,    0,    0,   0, 
00139 //  onchange_limitfps,      0,    1,    2,    2,    2,   0, 
00140 
00141 
00142   onchange_limitfps,      0,    2,    1,    1,    1,   0, 
00143   onchange_compmode,      0,    0,    1,    1,    1,   0, 
00144   onchange_focusmode,     1,    0,    0,    0,    0,   0, 
00145 //  onchange_trigseq,       0,    0,    0,    0,    0,   0, 
00146   onchange_trigseq,       1,    0,    0,    0,    0,   0, 
00147   onchange_irq,           0,    0,    0,    0,    0,   0, 
00148   onchange_comprestart,   0,    0,    0,    0,    0,   0, 
00149 
00150 //  onchange_compstop,      0,    2,    1,    2,    1,   0, 
00151   onchange_compstop,      0,    2,    1,    1,    1,   0, 
00152   onchange_compctl,       0,    0,    1,    1,    1,   0, 
00153 //  onchange_gammaload,     1,    0,    0,    0,    0,   0, 
00154   onchange_gammaload,     1,    1,    1,    1,    1,   0, 
00155   onchange_sensorregs,    0,    1,    1,    1,    1,   0, 
00156   onchange_prescal,       0,    0,    0,    0,    0,   0  
00157   };
00158 #endif

Generated on Fri Nov 28 00:06:23 2008 for elphel by  doxygen 1.5.1