packages/web/353/php_top/demo_focus.php

Go to the documentation of this file.
00001 <?php
00002 //
00003 $focus_rdonly=array(
00004   "FOCUS_SHOW"=>0,
00005   "FOCUS_VALUE"=>0,
00006   "FOCUS_LEFT"=>0,
00007   "FOCUS_WIDTH"=>0,
00008   "FOCUS_TOP"=>0,
00009   "FOCUS_HEIGHT"=>0,
00010   "FOCUS_TOTWIDTH"=>0,
00011   "FOCUS_FILTER"=>0
00012 );
00013 $filter=array(
00014  array(0,    0.1,  0.25, 0.5,  1.0,  1.0,  0.5,  0,
00015        0.1,  0.1,  0.25, 0.5,  1.0,  1.0,  0.5,  0,
00016        0.25, 0.25, 0.5,  1.0,  1.0,  0.5,  0.25, 0,
00017        0.5,  0.5,  1.0,  1.0,  0.5,  0.25, 0.15, 0,
00018        1.0,  1.0,  1.0,  0.5,  0.25, 0.15, 0.1,  0,
00019        1.0,  1.0,  0.5,  0.25, 0.15, 0.1,  0,    0,
00020        0.5,  0.5,  0.25, 0.15, 0.1,  0,    0,    0,
00021        0,    0,    0,    0,    0,    0,    0,    0),
00022 
00023  array(0,    0.1,  0.25, 0.5,  1.0,  1.0,  0.5,  0,
00024        0,    0.1,  0.25, 0.5,  1.0,  1.0,  0.5,  0,
00025        0,    0.1,  0.25, 0.5,  1.0,  1.0,  0.5,  0,
00026        0,    0.1,  0.25, 0.5,  1.0,  1.0,  0.5,  0,
00027        0,    0.1,  0.25, 0.5,  1.0,  1.0,  0.5,  0,
00028        0,    0.1,  0.25, 0.5,  1.0,  1.0,  0.5,  0,
00029        0,    0.1,  0.25, 0.5,  1.0,  1.0,  0.5,  0,
00030        0,    0,    0,    0,    0,    0,    0,    0),
00031 
00032  array(0,    0,    0,    0,    0,    0,    0,    0,
00033        0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,
00034        0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25,
00035        0.5,  0.5,  0.5,  0.5,  0.5,  0.5,  0.5,  0.5,
00036        1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,
00037        1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,
00038        0.5,  0.5,  0.5,  0.5,  0.5,  0.5,  0.5,  0.5,
00039          0,  0,    0,    0,    0,    0,    0,    0),
00040 
00041  array(0,    0,    0.1,  0.3,  0.8,  1.0,  1.0,  0,
00042        0,    0.1,  0.15, 0.4,  0.9,  1.0,  1.0,  0,
00043        0.1,  0.15, 0.4,  0.6,  1.0,  1.0,  1.0,  0,
00044        0.3,  0.4,  0.6,  1.0,  1.0,  1.0,  1.0,  0,
00045        0.8,  0.9,  1.0,  1.0,  1.0,  1.0,  1.0,  0,
00046        1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  0,
00047        1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  0,
00048        0,    0,    0,    0,    0,    0,    0,    0),
00049 
00050  array(0,    0,    0.1,  0.3,  0.8,  1.0,  1.0,  0,
00051        0,    0,    0.1,  0.3,  0.8,  1.0,  1.0,  0,
00052        0,    0,    0.1,  0.3,  0.8,  1.0,  1.0,  0,
00053        0,    0,    0.1,  0.3,  0.8,  1.0,  1.0,  0,
00054        0,    0,    0.1,  0.3,  0.8,  1.0,  1.0,  0,
00055        0,    0,    0.1,  0.3,  0.8,  1.0,  1.0,  0,
00056        0,    0,    0.1,  0.3,  0.8,  1.0,  1.0,  0,
00057        0,    0,    0,    0,    0,    0,    0,    0),
00058 
00059  array(0,    0,    0,    0,    0,    0,    0,    0,
00060        0,    0,    0,    0,    0,    0,    0,    0,
00061        0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,  0.1,
00062        0.3,  0.3,  0.3,  0.3,  0.3,  0.3,  0.3,  0.3,
00063        0.8,  0.8,  0.8,  0.8,  0.8,  0.8,  0.8,  0.8,
00064        1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,
00065        1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,
00066          0,  0,    0,    0,    0,    0,    0,    0),
00067 
00068  array(0,    0,    0,    0,    0.2,  1.0,  1.0,  0,
00069        0,    0,    0,    0,    0.2,  1.0,  1.0,  0,
00070        0,    0,    0,    0,    0.2,  1.0,  1.0,  0,
00071        0,    0,    0,    0,    0.2,  1.0,  1.0,  0,
00072        0.2,  0.2,  0.2,  0.2,  0.2,  1.0,  1.0,  0,
00073        1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  0,
00074        1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  0,
00075        0,    0,    0,    0,    0,    0,    0,    0),
00076 
00077  array(0,    0,    0,    0,    0.2,  1.0,  1.0,  0,
00078        0,    0,    0,    0,    0.2,  1.0,  1.0,  0,
00079        0,    0,    0,    0,    0.2,  1.0,  1.0,  0,
00080        0,    0,    0,    0,    0.2,  1.0,  1.0,  0,
00081        0,    0,    0,    0,    0.2,  1.0,  1.0,  0,
00082        0,    0,    0,    0,    0.2,  1.0,  1.0,  0,
00083        0,    0,    0,    0,    0.2,  1.0,  1.0,  0,
00084        0,    0,    0,    0,    0,    0,    0,    0),
00085 
00086  array(0,    0,    0,    0,    0,    0,    0,    0,
00087        0,    0,    0,    0,    0,    0,    0,    0,
00088        0,    0,    0,    0,    0,    0,    0,    0,
00089        0,    0,    0,    0,    0,    0,    0,    0,
00090        0.2,  0.2,  0.2,  0.2,  0.2,  1.0,  1.0,  0,
00091        1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  0,
00092        1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  0,
00093        0,    0,    0,    0,    0,    0,    0,    0),
00094 
00095  array(0,    0,    0,    0,    0,    0.2,  1.0,  0,
00096        0,    0,    0,    0,    0.2,  1.0,  1.0,  0,
00097        0,    0,    0,    0.2,  1.0,  1.0,  1.0,  0,
00098        0,    0,    0.2,  1.0,  1.0,  1.0,  1.0,  0,
00099        0,    0.2,  1.0,  1.0,  1.0,  1.0,  1.0,  0,
00100        0.2,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  0,
00101        1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  0,
00102        0,    0,    0,    0,    0,    0,    0,    0),
00103 
00104  array(0,    0,    0,    0,    0,    0.2,  1.0,  0,
00105        0,    0,    0,    0,    0,    0.2,  1.0,  0,
00106        0,    0,    0,    0,    0,    0.2,  1.0,  0,
00107        0,    0,    0,    0,    0,    0.2,  1.0,  0,
00108        0,    0,    0,    0,    0,    0.2,  1.0,  0,
00109        0,    0,    0,    0,    0,    0.2,  1.0,  0,
00110        0,    0,    0,    0,    0,    0.2,  1.0,  0,
00111        0,    0,    0,    0,    0,    0,    0,    0),
00112 
00113  array(0,    0,    0,    0,    0,    0,    0,    0,
00114        0,    0,    0,    0,    0,    0,    0,    0,
00115        0,    0,    0,    0,    0,    0,    0,    0,
00116        0,    0,    0,    0,    0,    0,    0,    0,
00117        0,    0,    0,    0,    0,    0,    0,    0,
00118        0.2,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  0,
00119        1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  0,
00120        0,    0,    0,    0,    0,    0,    0,    0),
00121 
00122  array(0,    0,    0,    0,    0,    0,    0.2,  0,
00123        0,    0,    0,    0,    0,    0.2,  1.0,  0,
00124        0,    0,    0,    0,    0.2,  1.0,  1.0,  0,
00125        0,    0,    0,    0.2,  1.0,  1.0,  1.0,  0,
00126        0,    0,    0.2,  1.0,  1.0,  1.0,  1.0,  0,
00127        0,    0.2,  1.0,  1.0,  1.0,  1.0,  1.0,  0,
00128        0.2,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  0,
00129        0,    0,    0,    0,    0,    0,    0,    0),
00130 
00131  array(0,    0,    0,    0,    0,    0,    0,    0,
00132        0,    0,    0,    0,    0,    0,    0,    0,
00133        0,    0,    0,    0,    0,    0,    0,    0,
00134        0,    0,    0,    0,    0,    0,    0,    0,
00135        0,    0,    0,    0,    0,    0,    0,    0,
00136        0,    0,    0,    0,    0,    0,    0,    0,
00137        0,    0,    0,    0,    0,    0,    0,    0,
00138        0,    0,    0,    0,    0,    0,    0,    0),
00139  array(0,    0,    0,    0,    0,    0,    0,    0,
00140        0,    0,    0,    0,    0,    0,    0,    0,
00141        0,    0,    0,    0,    0,    0,    0,    0,
00142        0,    0,    0,    0,    0,    0,    0,    0,
00143        0,    0,    0,    0,    0,    0,    0,    0,
00144        0,    0,    0,    0,    0,    0,    0,    0,
00145        0,    0,    0,    0,    0,    0,    0,    0,
00146        0,    0,    0,    0,    0,    0,    0,    0)
00147 );
00148 echo "<pre>";
00149 print_r($_GET);
00150 print_r (elphel_get_P_warr($focus_rdonly));
00151 print_r (elphel_get_P_arr ($focus_rdonly));
00152 $scale=$_GET["SCALE"]*1.0;
00153 if (!(($scale>0) && ($scale<100000))) $scale=4096;
00154 if (count($_GET) > 0 ) {
00155   $pars=array();
00156   foreach($_GET as $key=>$value) {
00157    if ($key=="SCALE") {
00158    } else if ($key=="TABLE") {
00159      $fn=$value+0;
00160      if ($fn<0) $fn=0;
00161      else if ($fn>14) $fn=14;
00162      for ($i=0; $i<64; $i++) {
00163       $filter[$fn][$i]=intval($scale*$filter[$fn][$i]);
00164       if ($filter[$fn][$i]>65535) $filter[$fn][$i]=65535;
00165      }
00166      for ($i=0; $i<64; $i+=8)
00167        printf("%4x %4x %4x %4x %4x %4x %4x %4x\n",$filter[$fn][$i+0],$filter[$fn][$i+1],$filter[$fn][$i+2],$filter[$fn][$i+3],
00168                                                   $filter[$fn][$i+4],$filter[$fn][$i+5],$filter[$fn][$i+6],$filter[$fn][$i+7]);
00169      $binary_tab="";
00170      for ($i=0; $i<64; $i++) $binary_tab.=pack("L",$filter[$fn][$i]);
00171      $tables_file  = fopen('/dev/fpga_tables', 'w');
00172      fseek ($tables_file, 0x2000+256*$fn) ; // start of filter table
00173      printf ("file position before table write=0x%x\n",ftell($tables_file));
00174      fwrite($tables_file, $binary_tab);
00175      printf ("file position after table write=0x%x\n",ftell($tables_file));
00176      fclose($tables_file);
00177      elphel_set_P_value(ELPHEL_FOCUS_FILTER,$fn);
00178    } else {
00179      $pars[$key]=$value+0;
00180    }
00181   }
00182   elphel_set_P_arr ($pars);
00183   elphel_program_sensor (1);
00184   print_r (elphel_get_P_warr($focus_rdonly));
00185   print_r (elphel_get_P_arr ($focus_rdonly));
00186 }
00187 //print_r (get_defined_constants());
00188 
00189 echo "</pre>";
00190 
00191 ?> 

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