Backported battery capacity calculation and temperature compensation for iSpindel.

Wed, 23 Aug 2023 10:30:09 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Wed, 23 Aug 2023 10:30:09 +0200
changeset 848
542bdc7f6522
parent 847
dc9281501ca6
child 849
16079aef4c4c

Backported battery capacity calculation and temperature compensation for iSpindel.

www/getispindellog.php file | annotate | diff | comparison | revisions
www/js/global.js file | annotate | diff | comparison | revisions
www/js/mon_ispindel.js file | annotate | diff | comparison | revisions
--- a/www/getispindellog.php	Sat Aug 19 15:11:35 2023 +0200
+++ b/www/getispindellog.php	Wed Aug 23 10:30:09 2023 +0200
@@ -13,15 +13,25 @@
 }
 mysqli_set_charset($connect, "utf8" );
 
+function HydroCorrection($mg, $tr, $tc)
+{
+    $trf = $tr * 1.8 + 32;
+    $tcf = $tc * 1.8 + 32;
+
+    return $mg * ((1.00130346 - 1.34722124E-4 * $trf + 2.04052596E-6 * $trf * $trf - 2.32820948E-9 * $trf * $trf * $trf) /
+                  (1.00130346 - 1.34722124E-4 * $tcf + 2.04052596E-6 * $tcf * $tcf - 2.32820948E-9 * $tcf * $tcf * $tcf));
+}
+
 $query = "SELECT * FROM log_ispindel WHERE code='".$code."' ORDER BY datetime;";
 $result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect));
 while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
 
+    $SG = HydroCorrection($row['sg'], $row['temperature'], 20.0);
     $logs[] = array(
 	'date' => substr($row['datetime'],0,16),
 	'temperature' => $row['temperature'],
 	'plato' => $row['plato'],
-	'sg' => $row['sg'],
+	'sg' => $SG,
 	'battery' => $row['battery']
     );
 }
--- a/www/js/global.js	Sat Aug 19 15:11:35 2023 +0200
+++ b/www/js/global.js	Wed Aug 23 10:30:09 2023 +0200
@@ -1240,4 +1240,3 @@
  return total_alkalinity - (calcium / 1.4 + magnesium / 1.7);
 }
 
-
--- a/www/js/mon_ispindel.js	Sat Aug 19 15:11:35 2023 +0200
+++ b/www/js/mon_ispindel.js	Wed Aug 23 10:30:09 2023 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2019-2020
+ * Copyright (C) 2019-2023
  *
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -173,10 +173,11 @@
     $('#vg_abv').html('');
    }
 
-   var batt = record.battery - 3.064; // 0% voltage.
+   var battery_max = 4.13;
+   var battery_min = 3.43;
+   var batt = Math.round(((record.battery - battery_min) / (battery_max - battery_min)) * 1000) / 10;
    if (batt < 0)
     batt = 0;
-   batt = Math.round(batt / 1.17875 * 100); // 100% range
    if (batt > 100)
     batt = 100;
    $('#vg_batt').html(batt + '%');

mercurial