if ($i == 76) { $exposurekp1_ns = CalcExposureTime(hexdec($registers[$i]) * 65536 + hexdec($registers[$i - 1]), $registers[82], $registers[85], 12, 250000000); echo "<tr class=\"success\"><td></td>\n\t\t\t\t<td>Exposure Time Kneepoint 1</td>\n\t\t\t\t<td>" . round($exposurekp1_ns, 3) . " ms</td>\n\t\t\t\t<td></td>\n\t\t\t\t<td><input type=\"text\" id=\"exptimekp1\" name=\"exptimekp1\" size=\"8\" value=\"" . round($exposurekp1_ns, 3) . "\"> ms</td>\n\t\t\t\t<td></td>\n\t\t\t\t<td><input type=\"checkbox\" id=\"exptimekp1apply\" name=\"exptimekp1apply\"></td></tr>"; } if ($i == 78) { $exposurekp2_ns = CalcExposureTime(hexdec($registers[$i]) * 65536 + hexdec($registers[$i - 1]), $registers[82], $registers[85], 12, 250000000); echo "<tr class=\"success\"><td></td>\n\t\t\t\t<td>Exposure Time Kneepoint 2</td>\n\t\t\t\t<td>" . round($exposurekp2_ns, 3) . " ms</td>\n\t\t\t\t<td></td>\n\t\t\t\t<td><input type=\"text\" id=\"exptimekp2\" name=\"exptimekp2\" size=\"8\" value=\"" . round($exposurekp2_ns, 3) . "\"> ms</td>\n\t\t\t\t<td></td>\n\t\t\t\t<td><input type=\"checkbox\" id=\"exptimekp2apply\" name=\"exptimekp2apply\"></td></tr>"; } if ($i == 102) { echo "<tr class=\"success\"><td></td>\n\t\t\t\t<td>Black Sun Protection</td>\n\t\t\t\t<td></td>\n\t\t\t\t<td>Default: 120</td>\n\t\t\t\t<td><input type=\"text\" id=\"blacksun\" name=\"blacksun\" size=\"8\" value=\"" . GetBlackSunProtection() . "\"></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td><input type=\"checkbox\" id=\"blacksunapply\" name=\"blacksunapply\"></td></tr>"; } if ($i == 106) { $hdrvoltage2enabled = ExtractBits($registers[$i], 6); $hdrvoltage3enabled = ExtractBits($registers[$i], 13); $hdrvoltage2 = ExtractBits($registers[$i], 0, 6); $hdrvoltage3 = ExtractBits($registers[$i], 7, 6); echo "<tr class=\"success\"><td></td>\n\t\t\t\t<td>HDR Voltage Level 2 Enabled</td>\n\t\t\t\t<td>" . ($hdrvoltage2enabled ? 'enabled' : 'disabled') . "</td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td><input type=\"text\" id=\"Vtfl2en\" name=\"Vtfl2en\" size=\"8\" value=\"" . ($hdrvoltage2enabled ? '1' : '0') . "\"></td>\n\t\t\t\t<td><input type=\"checkbox\" id=\"Vtfl2enapply\" name=\"Vtfl2enapply\"></td></tr>\n\t\t\t\t<tr class=\"success\"><td></td>\n\t\t\t\t<td>HDR Voltage Level 2 </td>\n\t\t\t\t<td>" . $hdrvoltage2 . "</td>\n\t\t\t\t<td></td>\n\t\t\t\t<td>Range: 0-63</td>\n\t\t\t\t<td><input type=\"text\" id=\"Vtfl2\" name=\"Vtfl2\" size=\"8\" value=\"" . $hdrvoltage2 . "\"></td>\n\t\t\t\t<td><input type=\"checkbox\" id=\"Vtfl2apply\" name=\"Vtfl2apply\"></td></tr>\n\t\t\t\t<tr class=\"success\"><td></td>\n\t\t\t\t<td>HDR Voltage Level 3 Enabled</td>\n\t\t\t\t<td>" . ($hdrvoltage3enabled ? 'enabled' : 'disabled') . "</td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td><input type=\"text\" id=\"Vtfl3en\" name=\"Vtfl3en\" size=\"8\" value=\"" . ($hdrvoltage3enabled ? '1' : '0') . "\"></td>\n\t\t\t\t<td><input type=\"checkbox\" id=\"Vtfl3enapply\" name=\"Vtfl3enapply\"></td></tr>\n\t\t\t\t<tr class=\"success\"><td></td>\n\t\t\t\t<td>HDR Voltage Level 3 </td>\n\t\t\t\t<td>" . $hdrvoltage3 . "</td>\n\t\t\t\t<td></td>\n\t\t\t\t<td>Range: 0-63</td>\n\t\t\t\t<td><input type=\"text\" id=\"Vtfl3\" name=\"Vtfl3\" size=\"8\" value=\"" . $hdrvoltage3 . "\"></td>\n\t\t\t\t<td><input type=\"checkbox\" id=\"Vtfl3apply\" name=\"Vtfl3apply\"></td></tr>"; } if ($i == 115) { echo "<tr class=\"success\"><td></td>\n\t\t\t\t<td>Analog Gain</td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td><select name=\"gain\" id=\"gain\">\n\t\t\t\t\t<option value=\"0\" "; if ($registers[115] == 0) { echo "selected"; } echo ">1x</option>\n\t\t\t\t\t<option value=\"1\""; if ($registers[115] == 1) { echo "selected"; } echo ">2x</option>\n\t\t\t\t\t<option value=\"3\""; if ($registers[115] == 3) { echo "selected"; }
function GetBlackSunProtection() { $registers = GetRegisters(); return ExtractBits($registers[102], 0, 7); }
SetRegisterValue(106, $tmpreg); $registers[106] = strtoupper(dechex($tmpreg)); } } $exposure1_ns = CalcExposureTime(hexdec($registers[72]) * 65536 + hexdec($registers[71]), $registers[82], $registers[85], 12, 250000000); $exposure2_ns = CalcExposureTime(hexdec($registers[76]) * 65536 + hexdec($registers[75]), $registers[82], $registers[85], 12, 250000000); $exposure3_ns = CalcExposureTime(hexdec($registers[78]) * 65536 + hexdec($registers[77]), $registers[82], $registers[85], 12, 250000000); $PLR_exp2 = $exposure2_ns / $exposure1_ns; //range 0..1 fraction of exposure time 1 $PLR_exp3 = $exposure3_ns / $exposure1_ns; //range 0..1 fraction of exposure time 1 $hdrvoltage2enabled = ExtractBits($registers[106], 6); $hdrvoltage3enabled = ExtractBits($registers[106], 13); $PLR_vtfl2 = ExtractBits($registers[106], 0, 6); //range 0..63 $PLR_vtfl3 = ExtractBits($registers[106], 7, 6); //range 0..63 $slopes = hexdec($registers[79]); // angle of the first part of the response curve in degrees $alpha = 45; $alpha = $alpha / 180 * M_PI; // convert to RAD //Defaults $width_scale = 0.5; $ExtendedDR_x = 0; $kp1_x = 0; $kp1_y = 0; $kp2_x = 0; $kp2_y = 0; $beta = 1; $gamma = 1;