Commit graph

16 commits

Author SHA1 Message Date
Daniel Drake
a86cd51959 Clean up on exit, and convert to singly-linked-lists
This adds fp_exit() to the public API, intended to be called while the
driving app is shutting down.
2007-11-15 09:54:38 +00:00
Daniel Drake
b9238e8b8a Support images with variable dimensions
For example, AES2501 returns images that vary in height.
2007-11-12 23:28:45 +00:00
Daniel Drake
f498fcd1ea Fix img_capture_continuous build
Also enable it in the default development build
2007-11-04 19:10:23 +00:00
Daniel Drake
7e6f25908b remove imgdev abstraction from public API
Make it easier for application developers, don't have to care about this
level of abstraction which we're intending to make superfluous to them.
2007-11-02 17:06:44 +00:00
Daniel Drake
351ccb4ab7 Add XV-based img_capture_continuous example 2007-10-27 15:17:19 +01:00
Daniel Drake
da071ff8a2 Add API for freeing images 2007-10-27 15:16:54 +01:00
Daniel Drake
9960a7ff34 Image standardization
Initially supports flipping and colour inversion
2007-10-27 14:24:57 +01:00
Daniel Drake
f3a838e856 Initial implementation for image device access and capture
Also added new example: img_capture
2007-10-27 00:09:18 +01:00
Daniel Drake
2709c6dc8c Basic image driver foundations
The basic model is that image drivers declare a fp_img_driver structure
rather than a fp_driver struct. fp_img_driver will contain primitive imaging
operations such as 'scan finger and return image'. The imgdev layer will
generically implement the primitive fp_driver operations, and the imgdev
layer will fix up the enroll/verify/etc pointers at driver registration
time.

Removed const from all fp_driver declarations, as these are now modified
dynamically in the case of imaging drivers.
2007-10-23 23:27:21 +01:00
Daniel Drake
680142f268 storage: add save/load functionality
Prints can now be saved to disk (but you currently must classify which
finger they are) and you can load them later.

Added 2 simple example programs to demonstrate this.
2007-10-16 14:34:22 +01:00
Daniel Drake
10bb96a0df Rename verify to verify_live
...to make way for an enroll example which stores on disk, and
a verify example that loads from disk.
2007-10-15 22:16:59 +01:00
Daniel Drake
68bdfc7868 Verification infrastructure
Similar model to enrollment.
2007-10-15 22:06:56 +01:00
Daniel Drake
39271b4fe5 Enrollment: improved error reporting
Convert enrollment function to return a signed integer, which is negative
on error or corresponds into fp_enroll_result otherwise.
Now we can treat a 'FAIL' condition differently from an actual error: fail
means that enrollment didn't complete because the data was nonsense or
whatever (e.g. scanned a different finger for each stage?).

Updated upekts accordingly.
2007-10-14 00:51:20 +01:00
Daniel Drake
50e2de0730 Enrollment tweaks
upekts will need to know when the first enrollment stage is attempted for
the first time, so add an __enroll_stage counter which actually indicates
the next stage to enroll. -1 is a special value and it means 0 is next *and*
it is the initial attemt.

Added more debug output to the enroll handler.
Added new fp_enroll_status codes for too short or uncentered scans.

Changed the print_data allocator to consider the device rather than the
driver, this feels more natural. Added missing return value.

Make fp_enroll_status codes start at 1. 0 can now be used as a
special/temporary value by the drivers. Also check that we aren't exceeding
the number of enroll stages.

Also add a missing exit() call to the verify example and update for the
above.
2007-10-13 15:51:33 +01:00
Daniel Drake
016ff33533 Enrolment infrastructure 2007-10-08 19:53:50 +01:00
Daniel Drake
f81aa47a19 Add 'verify' example skeleton
This will become an example program to enroll a fingerprint and then
verify a finger against it.
2007-10-08 17:37:33 +01:00