@ -38,7 +38,6 @@ if __name__ == '__main__': 
			
		
	
		
			
				
					    voltage_average  =  ( 0 ,  0 )   # average, count   
			
		
	
		
			
				
					    current_average  =  ( 0 ,  0 )   
			
		
	
		
			
				
					    power_average  =  ( 0 ,  0 )   
			
		
	
		
			
				
					    power_total_average  =  ( 0 ,  0 )   
			
		
	
		
			
				
					    while  sample_time  is  None  or  time . monotonic ( )  -  start_time  <  sample_time :   
			
		
	
		
			
				
					      with  open ( " /sys/bus/i2c/devices/0-0040/hwmon/hwmon1/in1_input " )  as  f :   
			
		
	
		
			
				
					        voltage_total  =  int ( f . read ( ) )  /  1000.   
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -46,23 +45,23 @@ if __name__ == '__main__': 
			
		
	
		
			
				
					      with  open ( " /sys/bus/i2c/devices/0-0040/hwmon/hwmon1/curr1_input " )  as  f :   
			
		
	
		
			
				
					        current_total  =  int ( f . read ( ) )   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					      with  open ( " /sys/class/power_supply/bms/voltage_now " )  as  f :   
			
		
	
		
			
				
					        voltage  =  int ( f . read ( ) )  /  1e6    # volts   
			
		
	
		
			
				
					      # SOM measurements are questionable   
			
		
	
		
			
				
					      #with open("/sys/class/power_supply/bms/voltage_now") as f:   
			
		
	
		
			
				
					      #  voltage = int(f.read()) / 1e6   # volts   
			
		
	
		
			
				
					      #with open("/sys/class/power_supply/bms/current_now") as f:   
			
		
	
		
			
				
					      #  current = int(f.read()) / 1e3   # ma   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					      with  open ( " /sys/class/power_supply/bms/current_now " )  as  f :   
			
		
	
		
			
				
					        current  =  int ( f . read ( ) )  /  1e3    # ma   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					      power  =  voltage * current   
			
		
	
		
			
				
					      power_total  =  voltage_total * current_total   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					      # compute averages   
			
		
	
		
			
				
					      voltage_average  =  average ( voltage_average ,  voltage )   
			
		
	
		
			
				
					      current_average  =  average ( current_average ,  current )   
			
		
	
		
			
				
					      power_average  =  average ( power_average ,  power )   
			
		
	
		
			
				
					      power_total_average  =  average ( power_total_average ,  power_total )   
			
		
	
		
			
				
					      voltage_average  =  average ( voltage_average ,  voltage_total )   
			
		
	
		
			
				
					      current_average  =  average ( current_average ,  current_total )   
			
		
	
		
			
				
					      power_average  =  average ( power_average ,  power_total )   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					      print ( f " { power : 12.2f }  mW  { power_total : 12 .2f}  mW  { power_total  -  power : 12 .2f }  mW " )   
			
		
	
		
			
				
					      print ( f " now:  { power_total : .2f }  mW, avg:   { power_average [ 0 ] :  }  mW " )   
			
		
	
		
			
				
					      time . sleep ( 0.25 )   
			
		
	
		
			
				
					  except  KeyboardInterrupt :   
			
		
	
		
			
				
					    pass   
			
		
	
		
			
				
					  finally :   
			
		
	
		
			
				
					    stop_time  =  time . monotonic ( )   
			
		
	
		
			
				
					    print ( " \n ----------------------Average----------------------------------- " )