import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

pinA = 18
pinB = 23

def discharge():
    GPIO.setup(pinA, GPIO.IN)
    GPIO.setup(pinB, GPIO.OUT)
    GPIO.output(pinB, False)
    time.sleep(0.01)

def chargeTime():
    GPIO.setup(pinB, GPIO.IN)
    GPIO.setup(pinA, GPIO.OUT)
    start = time.time()
    GPIO.output(pinA, True)
    while not GPIO.input(pinB):
        pass
    elapsed = time.time() - start
    GPIO.setup(pinA, GPIO.IN)
    GPIO.setup(pinB, GPIO.OUT)
    GPIO.output(pinB, False)
    return elapsed

def analogRead():
    discharge()
    return chargeTime()

try:
    while True:
        print(analogRead())
        time.sleep(0.5)
except KeyboardInterrupt:
    print("halted")
finally:
    GPIO.cleanup()

