From 514fccaeef3d9a3db3d7bf235ad020eaf64e00b5 Mon Sep 17 00:00:00 2001 From: Siddharth Chandrasekaran Date: Sat, 9 Mar 2024 23:11:11 +0100 Subject: [PATCH] doc: Update README; fix compatibility table Signed-off-by: Siddharth Chandrasekaran --- README.md | 16 +++++++++------ doc/index.rst | 38 ++++++++++++++++++++++------------- doc/libosdp/compatibility.rst | 12 +++++------ 3 files changed, 40 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 3609e18f..3db46425 100644 --- a/README.md +++ b/README.md @@ -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 @@ -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 diff --git a/doc/index.rst b/doc/index.rst index 3de9aa31..52b81483 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -11,17 +11,20 @@ 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 @@ -29,11 +32,18 @@ channel. Have a look at the `protocol design documents`_ to get a better idea. 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 ------------------------------ diff --git a/doc/libosdp/compatibility.rst b/doc/libosdp/compatibility.rst index fb6b0eea..0a9fe5d7 100644 --- a/doc/libosdp/compatibility.rst +++ b/doc/libosdp/compatibility.rst @@ -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 sidcha.dev@gmail.com -or send a PR updating this doc on github. \ No newline at end of file +or send a PR updating this doc on github.