Skip to content

Commit

Permalink
doc: Update README; fix compatibility table
Browse files Browse the repository at this point in the history
Signed-off-by: Siddharth Chandrasekaran <[email protected]>
  • Loading branch information
sidcha committed Mar 9, 2024
1 parent bdc35db commit 514fcca
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 26 deletions.
16 changes: 10 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

[![Latest Release][1]][2] [![Build CI][3]][4] [![PyPI Version][16]][12]

This is an open source implementation of IEC 60839-11-5 Open Supervised Device
Protocol (OSDP). The protocol is intended to improve interoperability among
access control and security products. It supports Secure Channel (SC) for
encrypted and authenticated communication between configured devices.
This is a cross-platform open source implementation of IEC 60839-11-5 Open
Supervised Device Protocol (OSDP). The protocol is 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
Expand All @@ -21,11 +22,14 @@ This protocol is developed and maintained by [Security Industry Association][20]
- Supports secure channel communication (AES-128)
- Can be used to setup a PD or CP mode of operation
- Exposes a well defined contract though a single header file
- Cross-platform; runs on bare-metal, Linux, Mac, and even Windows
- No run-time memory allocation. All memory is allocated at init-time
- No external dependencies (for ease of cross compilation)
- Fully non-blocking, asynchronous design
- Provides C++, Rust and Python3 bindings for the C library for faster
testing/integration
- Provides Rust, Python3, and C++ bindings for the C library for faster
integration into various development phases.
- Includes dozens of integration and unit tests which are incorporated in CI
to ensure higher quality of releases.
- Built-in, sophisticated, debugging infrastructure and tools ([see][14]).

## Language Support
Expand Down
38 changes: 24 additions & 14 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,29 +11,39 @@ OSDP - Open Supervised Device Protocol
:target: https://github.com/goToMain/libosdp/actions?query=workflow%3A%22Build+CI%22
:alt: Build status

This is an open source implementation of Open Supervised Device Protocol
(OSDP) developed by `Security Industry Association`_ (SIA).
The protocol is intended to improve interoperability among access control and security
products. OSDP is currently in-process to become a standard recognized by the
American National Standards Institute (ANSI).
This is a cross-platform open source implementation of IEC 60839-11-5 Open
Supervised Device Protocol (OSDP). The protocol is 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). The OSDP specification describes the protocol
implementation over a two-wire RS-485 multi-drop serial communication channel.
Nevertheless, this protocol can be used to transfer secure data over any physical
channel. Have a look at the `protocol design documents`_ to get a better idea.
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. Have a look at the
`protocol design documents`_ to get a better idea.

This protocol is developed and maintained by `Security Industry Association`_
(SIA).

.. _Security Industry Association: https://www.securityindustry.org/industry-standards/open-supervised-device-protocol/
.. _protocol design documents: protocol/index.html

Salient Features of LibOSDP
---------------------------

- Supports secure channel communication (AES-128).
- Can be used to setup a PD or CP mode of operation.
- Exposes a well defined contract though ``include/osdp.h``.
- No run-time memory allocation. All memory is allocated at init-time.
- Well designed source code architecture.
- Supports secure channel communication (AES-128)
- Can be used to setup a PD or CP mode of operation
- Exposes a well defined contract though a single header file
- Cross-platform; runs on bare-metal, Linux, Mac, and even Windows
- No run-time memory allocation. All memory is allocated at init-time
- No external dependencies (for ease of cross compilation)
- Fully non-blocking, asynchronous design
- Provides Rust, Python3, and C++ bindings for the C library for faster
integration into various development phases.
- Includes dozens of integration and unit tests which are incorporated in CI
to ensure higher quality of releases.
- Built-in, sophisticated, debugging infrastructure and tools ([see][14]).

Supported Commands and Replies
------------------------------
Expand Down
12 changes: 6 additions & 6 deletions doc/libosdp/compatibility.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ The data found here is mostly sourced from the users and should be treated with
a grain of salt as both sides of this comparison may evolve to have different
versions and hence varying behaviour. Nevertheless, it's a good starting point.

+----------------------------+----------------------------+----------+--------------+
| CP Device | PD Device | Status | Comments |
+============================+============================+==========+==============+
| LibOSDP CP | LibOSDP PD | Working | Native support; CI ensure that this works |
+----------------------------+----------------------------+----------+--------------+
+----------------------------+----------------------------+----------+---------------------------------------------+
| CP Device | PD Device | Status | Comments |
+============================+============================+==========+=============================================+
| LibOSDP CP | LibOSDP PD | Working | Native support; CI ensure that this works |
+----------------------------+----------------------------+----------+---------------------------------------------+

If want to report your own findings here, send an email to [email protected]
or send a PR updating this doc on github.
or send a PR updating this doc on github.

0 comments on commit 514fcca

Please sign in to comment.