def updFuelGauge(): global chkFuel, batteryLast, batteryLevel, Volt, Fuel, text_file, t_i2c Volt = ((Adafruit_I2C.readU16(AdaI2C, 0x02, little_endian=False)) >> 4) * 1.25 /1000 Fuel = Adafruit_I2C.readU8(AdaI2C, 0x04) # Load Fuel Level # text_file = open("Output.txt", "a") # text_file.write("Fuel: %003d, Volts: %.4f \n" % (Fuel, Volt)) # text_file.close() if Volt >= 3.68: batteryLevel = 0 elif Volt >= 3.61: batteryLevel = 1 elif Volt >= 3.54: batteryLevel = 2 elif Volt >= 3.47: batteryLevel = 3 elif Volt >= 3.40: batteryLevel = 4 elif Volt == 0.00: batteryLevel = 4 else: batteryLevel = 4 chkFuel = False if (GPIO.input(17)==0): batteryLevel += 5 if batteryLevel != batteryLast: if batteryLevel in [4, 9]: GPIO.output(18, GPIO.LOW) else: GPIO.output(18, GPIO.HIGH) # print "Fuel: 0x%02X - Level: 0x%02X - Last: 0x%02X " % (Fuel, batteryLevel, batteryLast) batteryLast = batteryLevel setBatteryLevel(batteryLevel) pygame.display.update()