zephyr/samples/subsys/mgmt/osdp
Gerard Marull-Paretas c7b5b3c419 samples: migrate includes to contain <zephyr/...> prefix
In order to bring consistency in-tree, migrate all samples to the use
the new prefix <zephyr/...>. Note that the conversion has been scripted:

```python
from pathlib import Path
import re

EXTENSIONS = ("c", "h", "cpp", "rst")

for p in Path(".").glob("samples/**/*"):
    if not p.is_file() or p.suffix and p.suffix[1:] not in EXTENSIONS:
        continue

    content = ""
    with open(p) as f:
        for line in f:
            m = re.match(r"^(.*)#include <(.*)>(.*)$", line)
            if (m and
                not m.group(2).startswith("zephyr/") and
                (Path(".") / "include" / "zephyr" / m.group(2)).exists()):
                content += (
                    m.group(1) +
                    "#include <zephyr/" + m.group(2) +">" +
                    m.group(3) + "\n"
                )
            else:
                content += line

    with open(p, "w") as f:
        f.write(content)
```

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-05-06 11:29:59 +02:00
..
control_panel samples: migrate includes to contain <zephyr/...> prefix 2022-05-06 11:29:59 +02:00
peripheral_device samples: migrate includes to contain <zephyr/...> prefix 2022-05-06 11:29:59 +02:00
README.rst

.. _osdp-sample:

Open Supervised Device Protocol (OSDP)
######################################

Open Supervised Device Protocol (OSDP) is an IEC standard (IEC 60839-11-5)
intended to improve interoperability among access control and security products.
It supports Secure Channel (SC) for encrypted and authenticated communication
between configured devices.

OSDP describes the communication protocol for interfacing one or more Peripheral
Devices (PD) to a Control Panel (CP) over a two-wire RS-485 multi-drop serial
communication channel. Nevertheless, this protocol can be used to transfer
secure data over any stream based physical channel. Read more about `OSDP here
<https://libosdp.gotomain.io/>`_..

Although OSDP is steered towards the Access and Security industries, it can be
used as a general communication protocol for devices in a secure way without
too much resource requirements. The security is not top-notch (AES-128) but it
is reasonable enough, given that the alternative is no security at all.

OSDP Supports the control of the following components on a PD:
   - LED
   - Buzzer
   - Keypad
   - Output (GPIOs)
   - Input Control (GPIOs)
   - Displays
   - Device status (tamper, power, etc.,)
   - Card Reader
   - Fingerprint Reader