main/task_ina219.c

changeset 6
bad3414f7bc4
parent 5
b1f38105ca7e
child 13
c3b29a1dcf1e
--- a/main/task_ina219.c	Thu Mar 30 17:05:05 2023 +0200
+++ b/main/task_ina219.c	Thu Mar 30 21:55:24 2023 +0200
@@ -15,11 +15,6 @@
 
 extern ina219_t			ina219_b_dev;
 extern ina219_t			ina219_s_dev;
-extern float			s_Volts[I_MAX_LOOPS + 1];
-extern float			s_Current[I_MAX_LOOPS + 1];
-extern float			b_Volts[I_MAX_LOOPS + 1];
-extern float			b_Current[I_MAX_LOOPS + 1];
-extern uint8_t			loopno;
 
 const int TASK_INA219_REQUEST_DONE = BIT0;			///< All requests are done.
 const int TASK_INA219_REQUEST_POWER = BIT1;			///< Request power readings
@@ -150,6 +145,15 @@
 		    ina219_state->Solar.current = 234.1;
 		}
 		ina219_state->Solar.valid = true;
+
+		/*
+		 * Now update the outer state
+		 */
+		ina219_state->valid = (ina219_state->Battery.valid && ina219_state->Solar.valid);
+		ina219_state->fake = (ina219_state->Battery.fake || ina219_state->Solar.fake);
+		ina219_state->error = ina219_state->Battery.error;
+		if (ina219_state->error == 0)
+		    ina219_state->error = ina219_state->Solar.error;
 		xSemaphoreGive(xSemaphoreINA219);
 	    }
 

mercurial