Skip to content

Commit 3ce6e92

Browse files
authored
Merge pull request #25 from jerryneedell/jerryn_r503_save
fix fingerprint save for r503 sensor example
2 parents 3e34bf6 + ef7e46f commit 3ce6e92

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

examples/fingerprint_r503_rpi.py

+16-4
Original file line numberDiff line numberDiff line change
@@ -154,13 +154,25 @@ def enroll_finger(location):
154154

155155
def save_fingerprint_image(filename):
156156
"""Scan fingerprint then save image to filename."""
157-
while finger.get_image():
158-
pass
157+
print("Place finger on sensor...", end="", flush=True)
158+
while True:
159+
i = finger.get_image()
160+
if i == adafruit_fingerprint.OK:
161+
print("Image taken")
162+
break
163+
if i == adafruit_fingerprint.NOFINGER:
164+
print(".", end="", flush=True)
165+
elif i == adafruit_fingerprint.IMAGEFAIL:
166+
print("Imaging error")
167+
return False
168+
else:
169+
print("Other error")
170+
return False
159171

160172
# let PIL take care of the image headers and file structure
161173
from PIL import Image # pylint: disable=import-outside-toplevel
162174

163-
img = Image.new("L", (256, 288), "white")
175+
img = Image.new("L", (192, 192), "white")
164176
pixeldata = img.load()
165177
mask = 0b00001111
166178
result = finger.get_fpdata(sensorbuffer="image")
@@ -178,7 +190,7 @@ def save_fingerprint_image(filename):
178190
pixeldata[x, y] = (int(result[i]) >> 4) * 17
179191
x += 1
180192
pixeldata[x, y] = (int(result[i]) & mask) * 17
181-
if x == 255:
193+
if x == 191:
182194
x = 0
183195
y += 1
184196
else:

0 commit comments

Comments
 (0)