add temp input to simulator

This commit is contained in:
Robert Masen 2024-08-02 18:20:44 -05:00
parent e732afbec6
commit ccf99a9727
2 changed files with 32 additions and 2 deletions

View file

@ -45,7 +45,15 @@ void thermistor_driver_disable(void) {
// Disable the enable pin's output circuitry. // Disable the enable pin's output circuitry.
watch_disable_digital_output(THERMISTOR_ENABLE_PIN); watch_disable_digital_output(THERMISTOR_ENABLE_PIN);
} }
#if __EMSCRIPTEN__
#include <emscripten.h>
float thermistor_driver_get_temperature(void)
{
return EM_ASM_DOUBLE({
return temp_c || 25.0;
});
}
#else
float thermistor_driver_get_temperature(void) { float thermistor_driver_get_temperature(void) {
// set the enable pin to the level that powers the thermistor circuit. // set the enable pin to the level that powers the thermistor circuit.
watch_set_pin_level(THERMISTOR_ENABLE_PIN, THERMISTOR_ENABLE_VALUE); watch_set_pin_level(THERMISTOR_ENABLE_PIN, THERMISTOR_ENABLE_VALUE);
@ -56,3 +64,4 @@ float thermistor_driver_get_temperature(void) {
return watch_utility_thermistor_temperature(value, THERMISTOR_HIGH_SIDE, THERMISTOR_B_COEFFICIENT, THERMISTOR_NOMINAL_TEMPERATURE, THERMISTOR_NOMINAL_RESISTANCE, THERMISTOR_SERIES_RESISTANCE); return watch_utility_thermistor_temperature(value, THERMISTOR_HIGH_SIDE, THERMISTOR_B_COEFFICIENT, THERMISTOR_NOMINAL_TEMPERATURE, THERMISTOR_NOMINAL_RESISTANCE, THERMISTOR_SERIES_RESISTANCE);
} }
#endif

View file

@ -905,6 +905,11 @@
<div> <div>
<button onclick="getLocation()">Set register (will prompt for access)</button> <button onclick="getLocation()">Set register (will prompt for access)</button>
</div> </div>
<h2>Temp.</h2>
<div>
<input type="number" min="-100" max="120" id="temp-c" />C
<button onclick="setTemp()">Set</button>
</div>
</div> </div>
<form onSubmit="sendText(); return false" style="display: flex; flex-direction: column; width: 100%"> <form onSubmit="sendText(); return false" style="display: flex; flex-direction: column; width: 100%">
@ -962,6 +967,7 @@
lat = 0; lat = 0;
lon = 0; lon = 0;
tx = ""; tx = "";
temp_c = 25.0;
function updateLocation(location) { function updateLocation(location) {
lat = Math.round(location.coords.latitude * 100); lat = Math.round(location.coords.latitude * 100);
lon = Math.round(location.coords.longitude * 100); lon = Math.round(location.coords.longitude * 100);
@ -1038,10 +1044,25 @@
document.getElementById(skin).checked = true; document.getElementById(skin).checked = true;
setSkin(skin); setSkin(skin);
} }
function setTemp() {
let tempInput = document.getElementById("temp-c");
if (!tempInput) {
return console.warn("no input found");
}
if (tempInput.value == "") {
return console.warn("no value in input");
}
try {
temp_c = Number.parseFloat(tempInput.value);
} catch (e) {
return console.warn("input value is not a valid float:", tempInput.value, e);
}
}
loadPrefs(); loadPrefs();
</script> </script>
{{{ SCRIPT }}} {{{ SCRIPT }}}
</body> </body>
</html> </html>