Files
Sasa Karanovic f3efb34f8e Initial commit
2026-05-19 00:13:24 -04:00

369 lines
16 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Filament Dry Box v2 - Sasa Karanovic</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="css/bootstrap.min.css" />
<link rel="stylesheet" href="css/custom.min.css" />
<link href="css/fontawesome.min.css" rel="stylesheet">
<link href="css/brands.min.css" rel="stylesheet">
<link href="css/solid.min.css" rel="stylesheet">
<link rel="shortcut icon" type="image/jpg" href="img/favicon.png" />
</head>
<body class="d-flex flex-column min-vh-100">
<div class="navbar navbar-expand-lg fixed-top navbar-dark dark-bg">
<div class="container">
<a href="index.html" class="navbar-brand">Filament Dry Box v2</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="settings.html">Settings</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://sasakaranovic.com/projects/diy-filament-dry-box-v2/">Project Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://github.com/SasaKaranovic/DIY-Filament-Dryer-v2" target="_blank">Source Code</a>
</li>
</ul>
</div>
</div>
</div>
<!-- Page header - Camera slider -->
<div class="container">
<!-- Main content -->
<div class="row">
<!-- Left column -->
<div class="col-lg-5 col-md-5 col-sm-5">
<div class="row mt-4">
<div class="col-lg-12 mr-1">
<div class="row">
<div class="col-lg-12 mr-1">
<legend>PID Values</legend>
<div class="alert alert-danger" role="alert">
<p><i class="fas fa-exclamation"></i>&nbsp;WARNING&nbsp;<i class="fas fa-exclamation"></i></p>
<p>Do _NOT_ modify below values unless you are absolutely sure that you know what you are doing!</p>
</div>
</div>
<!-- Left column -->
<div class="col-lg-7 mr-2">
<div class="float-right">
<a href="#" id="pop-pid-calc"><img src="img/help.png" /></a>
</div>
<div class="form-group">
<label class="control-label">KP coefficient</label>
<div class="input-group mb-1">
<div class="input-group-prepend">
<span class="input-group-text">P</span>
</div>
<input type="text" id="input_kp" class="form-control" size="5" maxlength="3" value="$PID_KP$">
</div>
</div>
<div class="form-group">
<label class="control-label">KI coefficient</label>
<div class="input-group mb-1">
<div class="input-group-prepend">
<span class="input-group-text">I</span>
</div>
<input type="text" id="input_ki" class="form-control" size="5" maxlength="3" value="$PID_KI$">
</div>
</div>
<div class="form-group">
<label class="control-label">KD coefficient</label>
<div class="input-group mb-1">
<div class="input-group-prepend">
<span class="input-group-text">D</span>
</div>
<input type="text" id="input_kd" class="form-control" size="5" maxlength="3" value="$PID_KD$">
</div>
</div>
<div class="row mr-4">
<div class="col-lg-12 mr-2">
&nbsp;
</div>
</div>
<div>
<button type="button" id="btn_SavePIDSettings" class="btn btn-primary">Save settings</button>
</div>
<div class="row mr-4">
<div class="col-lg-12 mr-2">
&nbsp;
</div>
</div>
<div>
<button type="button" id="btn_ResetSettings" class="btn btn-primary">Reset to default settings</button>
</div>
</div> <!-- End left speed column -->
</div >
<div class="clearfix"></div>
<div style="padding-top: 3em;"></div>
<div class="row">
<div class="col-lg-12 mr-1">
<legend>Temperature compensation</legend>
</div>
<!-- Left column -->
<div class="col-lg-7 mr-2">
<div class="float-right">
<a href="#" id="pop-pid-calc"><img src="img/help.png" /></a>
</div>
<div class="form-group">
<label class="control-label">Inside temperature</label>
<div class="input-group mb-1">
<input type="text" id="input_in_temperature" class="form-control" size="5" maxlength="6" value="$COMPENSATE_TEMP_IN$">
</div>
</div>
<div class="form-group">
<label class="control-label">Outside temperature</label>
<div class="input-group mb-1">
<input type="text" id="input_out_temperature" class="form-control" size="5" maxlength="6" value="$COMPENSATE_TEMP_OUT$">
</div>
</div>
<div class="row mr-4">
<div class="col-lg-12 mr-2">
&nbsp;
</div>
</div>
<div>
<button type="button" id="btn_SaveTemperatureSettings" class="btn btn-primary">Save settings</button>
</div>
<div class="row mr-4">
<div class="col-lg-12 mr-2">
&nbsp;
</div>
</div>
</div> <!-- End left speed column -->
</div >
</div>
</div>
</div> <!-- End left column -->
<!-- Right column -->
<div class="col-lg-5 col-md-5 col-sm-5 offset-2">
<div class="row">
</div>
</div> <!-- End right column -->
<div class="container">
<div class="p-5 text-center bg-body-tertiary">
<h1 class="text-body-emphasis">Firmware information</h1>
<table class="table table-sm table-striped text-left">
<thead>
<tr class="d-flex">
<th class="col-4 text-break">Parameter</th>
<th class="col-2">Value</th>
<th class="col-6">Note</th>
</tr>
</thead>
<tbody>
<tr class="d-flex">
<td class="col-4 text-break">PWM_HEATER_INVERT_VALUES</td>
<td class="col-2 text-break">$PWM_HEATER_INVERT_VALUES$</td>
<td class="col-6">Maximum number of calibration points supported by firmware.</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">PWM_FREQ_HEATER</td>
<td class="col-2 text-break">$PWM_FREQ_HEATER$</td>
<td class="col-6">PWM frequency used for heater signal</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">PWM_FREQ_FAN</td>
<td class="col-2 text-break">$PWM_FREQ_FAN$</td>
<td class="col-6">PWM frequency used for fan PWM signal</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">PWM_MAX_VALUE</td>
<td class="col-2 text-break">$PWM_MAX_VALUE$</td>
<td class="col-6">Maximum value of the PWM channel</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">PWM_HEATER_INVERT_VALUES</td>
<td class="col-2 text-break">$PWM_HEATER_INVERT_VALUES$</td>
<td class="col-6">Heater driver requires inverted (1) or non-inverted (0) signal</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">PWM_CH_HEATER</td>
<td class="col-2 text-break">GPIO$PWM_CH_HEATER$</td>
<td class="col-6">GPIO controlling the heater</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">PWM_CH_FAN</td>
<td class="col-2 text-break">GPIO$PWM_CH_FAN$</td>
<td class="col-6">GPIO controlling the fan</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">LIMIT_TEMP_IN_MAX</td>
<td class="col-2 text-break">$LIMIT_TEMP_IN_MAX$</td>
<td class="col-6">Maximum INSIDE temperature</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">LIMIT_TEMP_HEATER_MAX</td>
<td class="col-2 text-break">$LIMIT_TEMP_HEATER_MAX$</td>
<td class="col-6">Maximum HEATER temperature</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">NTC_BETA</td>
<td class="col-2 text-break">$NTC_BETA$</td>
<td class="col-6">Beta value of NTC thermistor</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">NTC_RESISTANCE</td>
<td class="col-2 text-break">$NTC_RESISTANCE$</td>
<td class="col-6">NTC resistance</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">NTC_R1_VALUE</td>
<td class="col-2 text-break">$NTC_R1_VALUE$</td>
<td class="col-6">Value of R1 in the NTC resistor divider</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">ADC_HEATER_SAMPLES</td>
<td class="col-2 text-break">$ADC_HEATER_SAMPLES$</td>
<td class="col-6">Number of ADC samples for NTC conversion</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">ADC_MAX_VAUE</td>
<td class="col-2 text-break">$ADC_MAX_VAUE$</td>
<td class="col-6">Maximum ADC value</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">COMPENSATE_TEMP_IN</td>
<td class="col-2 text-break">$COMPENSATE_TEMP_IN$</td>
<td class="col-6">Inside temperature compensation</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">COMPENSATE_TEMP_OUT</td>
<td class="col-2 text-break">$COMPENSATE_TEMP_OUT$</td>
<td class="col-6">Outside temperature compensation</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">WIFI_CHECK_CONNECTION_MS</td>
<td class="col-2 text-break">$WIFI_CHECK_CONNECTION_MS$</td>
<td class="col-6">How often (in miliseconds) to check for WiFi connectivity</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">BUILD_TIME</td>
<td class="col-2 text-break">$BUILD_TIME$</td>
<td class="col-6">Time when firmware was compiled</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">BUILD_DATE</td>
<td class="col-2 text-break">$BUILD_DATE$</td>
<td class="col-6">Date when firmware was compiled</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">BUILD_HASH</td>
<td class="col-2 text-break">$BUILD_HASH$</td>
<td class="col-6">Build Git hash (short)</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">ADC_CHIP</td>
<td class="col-2 text-break">$ADC_CHIP$</td>
<td class="col-6">ADC chip populated on the board</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">PID_MIN_VALUE</td>
<td class="col-2 text-break">$PID_MIN_VALUE$</td>
<td class="col-6">Minimum accepted P/I/D coefficient</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">PID_MAX_VALUE</td>
<td class="col-2 text-break">$PID_MAX_VALUE$</td>
<td class="col-6">Maximum accepted P/I/D coefficient</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">DEF_DEBUG_PID</td>
<td class="col-2 text-break">$DEF_DEBUG_PID$</td>
<td class="col-6">PID debug prinout over serial (1=Enabled)</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">I2C_DEVICE_LIST</td>
<td class="col-2 text-break">$I2C_DEVICE_LIST$</td>
<td class="col-6">List of I2C devices detected</td>
</tr>
<tr class="d-flex">
<td class="col-4 text-break">FW_INT_TEMP_LIB_STYPE</td>
<td class="col-2 text-break">$FW_INT_TEMP_LIB_STYPE$</td>
<td class="col-6">FW SHT library sensor type</td>
</tr>
</tbody>
</table>
<div class="">
<p class="col-lg-8 mx-auto fs-5 text-muted mb-4">
Values in this table are provided for development/debugging purposes (and just for fun).<br>
You should not have to worry about them during devices normal operation.
</p>
</div>
</div>
</div>
</div>
<!-- FOOTER -->
<footer class="w-100 py-2 flex-shrink-0 mt-auto dark-bg">
<div class="container py-2">
<div class="row gy-4 gx-5">
<div class="col-lg-6 col-md-6">
<p class="small text-muted">
Dry box controller by <a href="https://SasaKaranovic.com/" target="_blank">Saša Karanović</a><br>
Released as open-source and open-hardware for you to hack and enjoy! :)<br>
Firmware version $VERSION_MAJOR$$VERSION_MINOR$$VERSION_PATCH$
</p>
</div>
<div class="col-lg-6 col-md-6">
<a class="m-2" href="https://sasakaranovic.com/" target="_blank"><i class="fas fa-home"></i> Blog</a>
<a class="m-2" href="https://youtube.com/c/sasakaranovic" target="_blank"><i class="fab fa-youtube"></i> YouTube</a>
<a class="m-2" href="https://twitter.com/_sasakaranovic_" target="_blank"><i class="fab fa-twitter"></i> Twitter</a>
<a class="m-2" href="https://github.com/sasakaranovic" target="_blank"><i class="fab fa-github"></i> GitHub</a>
<a class="m-2" href="https://github.com/sponsors/SasaKaranovic" target="_blank"><i class="fas fa-heart"></i> Sponsor on GitHub</a>
</div>
</div>
</div>
</footer>
</div>
<script src="js/jquery-3.6.0.min.js"></script>
<script src="js/bootstrap.bundle.min.js"></script>
<script src="js/settings.js"></script>
</body>
</html>