docs
authorJoseph Coffland <joseph@cauldrondevelopment.com>
Wed, 6 Dec 2017 07:01:03 +0000 (23:01 -0800)
committerJoseph Coffland <joseph@cauldrondevelopment.com>
Wed, 6 Dec 2017 07:01:03 +0000 (23:01 -0800)
src/pwr/config.h
src/pwr/main.c

index ef61776d79e03713bc4f81679ae4a1d7affcc41b..71b5516a79f7f346a59b0304df376cdf90987f0b 100644 (file)
@@ -84,7 +84,7 @@ enum {
 #define VOLTAGE_EXP 0.01
 #define FAULT_TIMEOUT 5000 // ms
 
-#define SHUNT_WATTS_PER_SEC 5
+#define SHUNT_WATTS 5
 #define SHUNT_OHMS 10
 #define SHUNT_MIN_V 1
 #define SHUNT_MAX_V 3
index 38ffa3097e6037586cc6810256a0d7f95dcdd77a..fe60b28723de13c2143c8603017ea81c736d9b88 100644 (file)
@@ -120,11 +120,11 @@ static float get_reg(int reg) {
 
 
 static void update_shunt() {
-  static float watts = SHUNT_WATTS_PER_SEC;
+  static float watts = SHUNT_WATTS;
 
   // Add power dissipation credit
-  watts += SHUNT_WATTS_PER_SEC / 1000.0;
-  if (SHUNT_WATTS_PER_SEC < watts) watts = SHUNT_WATTS_PER_SEC;
+  watts += SHUNT_WATTS / 1000.0;
+  if (SHUNT_WATTS < watts) watts = SHUNT_WATTS;
 
   // Remove power dissipation credit
   watts -= shunt_ms_power;
@@ -177,8 +177,8 @@ ISR(TIMER0_OVF_vect) {
     time++;
     tick = 0;
 
-    update_shunt();
-    if (!(time & 7)) measure_nominal_voltage();
+    update_shunt(); // Every 1ms
+    if (!(time & 7)) measure_nominal_voltage(); // Every 8ms
   }
 }