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;