Commit graph

14 commits

Author SHA1 Message Date
Daniel Drake a76f55db0d upekts relicensing
Pavel Machek and Timo Hoenig agreed to relicense their work. Thanks guys,
I look forward to working together.
2007-11-15 09:54:35 +00:00
Daniel Drake 07a81b07be upekts: initialise and deinitialise device during verify/capture
Otherwise it heats up, and verify retries fail because we didn't end the
session.
2007-10-31 22:46:50 +00:00
Daniel Drake 6f633cc771 Use glib's byte order functions 2007-10-29 23:06:06 +00:00
Daniel Drake 294f9ad447 Improve print_data structure and on-disk format
Drivers now have an ID number. These will be assigned by me and documented
on the wiki. 0 cannot be used.

Drivers now define a devtype for each device they initialise. This is to
cope with the situation where a driver can support varying devices where
their print data is incompatible (i.e. image scaling is totally changed).
This doesn't apply to any existing supported devices.

Print data no longer includes driver name, and includes driver ID instead.

Paths to saved print data now include driver ID and devtype, and no longer
include driver name.

APIs exposed for converting a print_data into a blob which can then
be loaded back again later. Useful for systems who don't want to use
my simple storage system (which is only aimed at a single user).

File format is now defined and will be documented on the wiki. The header
is larger as we can no longer rely on directory paths in all scenarios.

Print data compat check now checks devtype and driver ID.
2007-10-28 22:13:51 +00:00
Daniel Drake 0aac3706d7 upekts: release interface on error condition and normal exit 2007-10-25 15:36:13 +01:00
Daniel Drake 0ac74ef649 Pass driver_data from ID table to driver init function 2007-10-25 15:00:30 +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 801fcfc07c upekts: fix memory corruption
Found by valgrind
2007-10-16 14:34:47 +01:00
Daniel Drake 3b8f8c195c upekts: support large messages
Add support for messages with a length greater than 255.
Also picked out a few more retry codes.
2007-10-16 13:41:23 +01:00
Daniel Drake bf9ce44f43 upekts: verify implementation
We can now verify live fingerprints using the verify example.
Error handling during verification needs to be improved.
2007-10-15 22:09:46 +01:00
Daniel Drake f59112d57c Unhide fprint_data buffer from drivers
May as well keep things out in the open.
2007-10-15 22:07:22 +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 ab5b1ca8e9 upekts: communication handling and enrollment implementation
This completes an enrollment implementation for the upekts driver.
It's based on code from libthinkfinger, but as there seemed to be many
unknown details there, I spent some time analysing the bus messages in
more detail and have effectively rewritten almost all of the borrowed code.

Note that libthinkfinger is GPL licensed, so that reflects on this code too.
At release time I will ask them if they are OK for me to relicense it.
2007-10-13 17:13:25 +01:00
Daniel Drake 046bdc0bda Initial driver registration mechanism
Also added the basis of the upekts driver, which is the first I'll
implement.
2007-10-08 17:16:51 +01:00