zephyr/samples/sensor/grow_r502a
Benjamin Cabé ee77704715 samples: sensor: use zephyr:code-sample directive
Describe the samples using code-sample directive in preparation for
upcoming changes to the Zephyr documentation that will be leveraging
the provided description and metadata.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-04 21:26:50 +02:00
..
boards drivers: sensor: grow_r502a: add built-in LED control 2024-05-09 12:41:59 -04:00
src drivers: sensor: grow_r502a: add set/read system parameter 2024-05-09 12:41:59 -04:00
CMakeLists.txt
README.rst samples: sensor: use zephyr:code-sample directive 2024-09-04 21:26:50 +02:00
prj.conf drivers: sensor: grow_r502a: add set/read system parameter 2024-05-09 12:41:59 -04:00
sample.yaml

README.rst

.. zephyr:code-sample:: grow_r502a
   :name: GROW R502-A Fingerprint Sensor
   :relevant-api: sensor_interface

   Store and match fingerprints using the GROW R502-A fingerprint sensor.

Overview
********

This sample has the below functionalities:

#. Sensor LED is controlled using led APIs from zephyr subsystem.
#. Shows the number of fingerprints stored in the sensor.
#. Shows the sensor device's configurations like baud rate, library size, address and data packet size in UART frame.
#. When SENSOR_ATTR_RECORD_FREE_IDX is set then it search for free index in sensor library.
#. When SENSOR_ATTR_RECORD_ADD is set then it adds a new fingerprint to the sensor.
#. When SENSOR_ATTR_RECORD_FIND is set then it tries to find a match for the input fingerprint. On finding a match it returns ID and confidence.
#. When SENSOR_ATTR_RECORD_DEL is set then it deletes a fingerprint from the sensor.

Note: Fingerprint add functionality work only when SENSOR_TRIG_TOUCH is set.

Wiring
*******

This sample uses an external breakout for the sensor.  A devicetree
overlay must be provided to identify the UART bus and the GPIO
used to control the sensor. Sensor can be powered using mentioned optional GPIO.

References
**********

For more information about the GROW_R502A Fingerprint Sensor see
http://en.hzgrow.com/product/143.html

Building and Running
********************

After providing a devicetree overlay that specifies the sensor location,
build this sample app using:

.. zephyr-app-commands::
   :zephyr-app: samples/sensor/grow_r502a
   :board: esp32_devkitc_wroom/esp32/procpu
   :goals: build flash

Sample Output
*************

.. code-block:: console

    *** Booting Zephyr OS build v3.6.0-3147-g8ae1a2e2718e ***
    template count : 4
    baud 57600
    addr 0xffffffff
    lib_size 200
    data_pkt_size 128
    Fingerprint Deleted at ID #3
    Fingerprint template free idx at ID #3
    Waiting for valid finger to enroll as ID #3
    Place your finger
    Fingerprint successfully stored at #3
    template count : 4
    Matched ID : 2
    confidence : 110
    <repeats endlessly>