def enrollFingerprint(enrollID):
    print ("Waiting for valid finger to enroll")
    time.sleep(0.5)
    
    p = False
    while (not p):
        p = Fingerprint.getImage()
        if(p):
            print ("Image taken")
            break
        elif(not p):
            print (".")
        else:
            print ("Unknown Error")
    
    time.sleep(0.5)
    p = Fingerprint.image2Tz(1)
    
    if(p):
        print ("Image converted")
    elif(not p):
        print ("Image not converted")
        return p
    else:
        print ("Unknown Error")
        return p
    
    print ("Remove Finger")
    time.sleep(2.0)
    
    p = False
    print ("Place same finger again")
    time.sleep(1.0)
    while(not p):
        p = Fingerprint.getImage()
        
        if(p):
            print ("Image taken")
            break
        elif(not p):
            print (".")
        else:
            print ("Unknown Error")

    time.sleep(0.5)
    p = Fingerprint.image2Tz(2)
    
    if(p):
        print ("Image converted")
    elif(not p):
        print ("Image not converted")
        return p
    else:
        print ("Unknown Error")
        return p

    #Converted
    time.sleep(0.5)
    p = Fingerprint.createModel()
    
    if(p):
        print ("Fingerprints match")
    elif(not p):
        print ("Fingerprints did not match")
        return p
    else:
        print ("Unknown Error")
        return p
    
    time.sleep(0.5)
    enrollIDbytes = int(enrollID, 16)
    p = Fingerprint.storeModel(enrollIDbytes, 1)
    
    if(p):
        print ("Stored fingerprint template")
        enrollIDLoop()
    elif(not p):
        print ("Store Fingerprint Error")
        return p
    else:
        print ("Unknown Error")
        return p
def imageDownload():
    #userInput = input("ID # to store the finger as:")
    while(True):
        userID = input("ID # to download the finger or Q to quit:")
        
        if(userID.isdigit()):
            break
        elif((userID == 'q') or (userID == 'Q')):
            userID = ''
            main()
        else:
            print ("Must enter digit only")
    
    print ("Downloading ID #" + userID)
    
    p = Fingerprint.downloadImage(userID)
    time.sleep(.05)
    
    if(p):
        print ("Image downloaded to sensor")
    elif(not p):
        print ("Image not downloaded to sensor")
        return p
    else:
        print ("Unknown Error")
        return p

    p = Fingerprint.image2Tz(1)
    time.sleep(.05)
    if(p):
        print ("Image converted")
    elif(not p):
        print ("Image not converted")
        return p
    else:
        print ("Unknown Error")
        return p

    p = Fingerprint.downloadImage(userID)
    time.sleep(.05)
    if(p):
        print ("Image downloaded to sensor")
    elif(not p):
        print ("Image not downloaded to sensor")
        return p
    else:
        print ("Unknown Error")
        return p

    p = Fingerprint.image2Tz(2)
    time.sleep(.05)
    if(p):
        print ("Image converted")
    elif(not p):
        print ("Image not converted")
        return p
    else:
        print ("Unknown Error")
        return p

    #Converted
    p = Fingerprint.createModel()
    if(p):
        print ("Fingerprints match")
    elif(not p):
        print ("Fingerprints did not match")
        return p
    else:
        print ("Unknown Error")
        return p
    
    enrollIDbytes = int(userID, 16)
    p = Fingerprint.storeModel(enrollIDbytes, 1)
    if(p):
        print ("Stored fingerprint template")
        return p
    elif(not p):
        print ("Store Fingerprint Error")
        return p
    else:
        print ("Unknown Error")
        return p
def enrollFingerprint(enrollID):
    print ("Waiting for valid finger to enroll")
    time.sleep(0.5)
    
    p = False
    while (not p):
        p = Fingerprint.getImage()
        if(p):
            print ("Image taken")
            break
        elif(not p):
            print (".")
        else:
            print ("Unknown Error")
    
    time.sleep(0.5)
    p = Fingerprint.image2Tz(1)
    
    if(p):
        print ("Image converted")
    elif(not p):
        print ("Image not converted")
        return p
    else:
        print ("Unknown Error")
        return p
    
    print ("Remove Finger")
    time.sleep(2.0)
    
    p = False
    print ("Place same finger again")
    time.sleep(1.0)
    while(not p):
        p = Fingerprint.getImage()
        
        if(p):
            print ("Image taken")
            break
        elif(not p):
            print (".")
        else:
            print ("Unknown Error")

    time.sleep(0.5)
    p = Fingerprint.image2Tz(2)
    
    if(p):
        print ("Image converted")
    elif(not p):
        print ("Image not converted")
        return p
    else:
        print ("Unknown Error")
        return p

    #Converted
    time.sleep(0.5)
    p = Fingerprint.createModel()
    
    if(p):
        print ("Fingerprints match")
    elif(not p):
        print ("Fingerprints did not match")
        return p
    else:
        print ("Unknown Error")
        return p
    
    time.sleep(0.5)
    enrollIDbytes = int(enrollID, 16)
    p = Fingerprint.storeModel(enrollIDbytes, 1)
    
    if(p):
        print ("Stored fingerprint template")
        enrollIDLoop()
    elif(not p):
        print ("Store Fingerprint Error")
        return p
    else:
        print ("Unknown Error")
        return p
def imageDownload():
    #userInput = input("ID # to store the finger as:")
    while (True):
        userID = input("ID # to download the finger or Q to quit:")

        if (userID.isdigit()):
            break
        elif ((userID == 'q') or (userID == 'Q')):
            userID = ''
            main()
        else:
            print("Must enter digit only")

    print("Downloading ID #" + userID)

    p = Fingerprint.downloadImage(userID)
    time.sleep(.05)

    if (p):
        print("Image downloaded to sensor")
    elif (not p):
        print("Image not downloaded to sensor")
        return p
    else:
        print("Unknown Error")
        return p

    p = Fingerprint.image2Tz(1)
    time.sleep(.05)
    if (p):
        print("Image converted")
    elif (not p):
        print("Image not converted")
        return p
    else:
        print("Unknown Error")
        return p

    p = Fingerprint.downloadImage(userID)
    time.sleep(.05)
    if (p):
        print("Image downloaded to sensor")
    elif (not p):
        print("Image not downloaded to sensor")
        return p
    else:
        print("Unknown Error")
        return p

    p = Fingerprint.image2Tz(2)
    time.sleep(.05)
    if (p):
        print("Image converted")
    elif (not p):
        print("Image not converted")
        return p
    else:
        print("Unknown Error")
        return p

    #Converted
    p = Fingerprint.createModel()
    if (p):
        print("Fingerprints match")
    elif (not p):
        print("Fingerprints did not match")
        return p
    else:
        print("Unknown Error")
        return p

    enrollIDbytes = int(userID, 16)
    p = Fingerprint.storeModel(enrollIDbytes, 1)
    if (p):
        print("Stored fingerprint template")
        return p
    elif (not p):
        print("Store Fingerprint Error")
        return p
    else:
        print("Unknown Error")
        return p