[fprint] Documentation for writing a new driver

Igor Filatov ia.filatov at gmail.com
Fri Mar 9 19:02:45 UTC 2018


Not really. The same state is sent to dev_change_state after activation has
ended with fpi_imgdev_activate_complete. You can ignore it.


On Fri, Mar 9, 2018 at 8:51 PM Mark Harfouche <mark.harfouche at gmail.com>
wrote:

> Hi Igor,
>
> Thank you for your reply.
>
> I’m confused about the parameter sent to dev_activate. Is it useful? in
> uru4000.c (which seems to be the latest one written), the authors also seem
> to be confused
>
> /* FIXME: having state parameter here is kinda useless, will we ever
>  * see a scenario where the parameter is useful so early on in the activation
>  * process? asynchronity means that it'll only be used in a later function
>  * call. */static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
> {
>
> Thanks,
>
> Mark
>
> On Fri, Mar 9, 2018 at 10:43 AM, Igor Filatov <ia.filatov at gmail.com>
> wrote:
>
> Hi Mark,
>>
>> There are no high-level docs, unfortunately. There's some valuable info
>> in comments in drv.c, sync.c, async.c, img.c etc. but it only covers
>> specific parts, not how they should interact.
>>
>> There are 6 drivers for press-type sensors: aes3500.c, aes4000.c,
>> fdu2000.c, upektc.c, uru4000.c, vcom5s.c. But there isn't much difference
>> between press and swipe drivers. FP_SCAN_TYPE_* is used to determine which
>> messages to show ("please touch the sensor" vs. "please swipe..."), and I
>> think that's it. Besides that, all drivers essentially do the same thing:
>> obtain the fingerprint image and submit it. You can use any driver as a
>> reference.
>>
>>
>>
>> On Fri, Mar 9, 2018 at 7:50 PM Mark Harfouche <mark.harfouche at gmail.com>
>> wrote:
>>
>>> Hello all,
>>>
>>> I would like to develop a driver for the Validity 0091 sensor available
>>> on the Dell XPS13/15 9X60.
>>>
>>> I would say I have the driver reverse engineered to 95% (There might be
>>> a few things I still don’t understand from the internal state machine).
>>> https://github.com/hmaarrfk/Validity91
>>> WIP: https://github.com/freedesktop/libfprint
>>>
>>> I found the libfprint source, can compile it, and started creating my
>>> own driver.
>>>
>>> However, I am confused about the internal workings of libfprint and the
>>> functions I need to define.
>>> I tried to follow examples that were included, but it seemed that they
>>> were mostly “swipe”‘ sensors, and not capacitive style sensor.
>>> Is there any good documentation about the state machines I need to
>>> implement with regards to the functions
>>>
>>>     .open = dev_open,
>>>     .close = dev_close,
>>>     .activate = dev_activate,
>>>     .deactivate = dev_deactivate,
>>>     .change_state = dev_change_state,
>>>
>>> Thanks,
>>>
>>> Mark
>>>>>> _______________________________________________
>>> fprint mailing list
>>> fprint at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/fprint
>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/fprint/attachments/20180309/4cd36064/attachment.html>


More information about the fprint mailing list