From 37e5e776d7fbd54ad009e55856120fdcbd8f3c03 Mon Sep 17 00:00:00 2001
From: Amit Kucheria <amit.kucheria.ext@huawei.com>
Date: Tue, 6 Jul 2021 19:10:55 +0530
Subject: [PATCH] docs/hardware-support: Add information about peripheral
 modules to be used in blueprints

These are generic HW modules that can be used across several blueprints
to depict basic input/output interactions with the system.

Signed-off-by: Amit Kucheria <amit.kucheria.ext@huawei.com>
---
 docs/blueprints/index.rst                     | 10 +++
 .../blueprint-peripherals/index.rst           | 18 ++++
 .../io-devices/index.rst                      | 88 +++++++++++++++++++
 .../lock-devices/index.rst                    | 24 +++++
 docs/hardware-support/index.rst               |  1 +
 5 files changed, 141 insertions(+)
 create mode 100644 docs/hardware-support/blueprint-peripherals/index.rst
 create mode 100644 docs/hardware-support/blueprint-peripherals/io-devices/index.rst
 create mode 100644 docs/hardware-support/blueprint-peripherals/lock-devices/index.rst

diff --git a/docs/blueprints/index.rst b/docs/blueprints/index.rst
index b6732774..25f61e60 100644
--- a/docs/blueprints/index.rst
+++ b/docs/blueprints/index.rst
@@ -46,3 +46,13 @@ This section details the available blueprints provided as part of the All Scenar
    touchpanel
    transparent-gateway
    vending-machine
+
+Blueprint Hardware
+******************
+
+This section details some of the hardware modules that will be used to create a blueprint.
+
+.. toctree::
+   :maxdepth: 2
+
+   ../hardware-support/blueprint-peripherals/index
diff --git a/docs/hardware-support/blueprint-peripherals/index.rst b/docs/hardware-support/blueprint-peripherals/index.rst
new file mode 100644
index 00000000..f414d29a
--- /dev/null
+++ b/docs/hardware-support/blueprint-peripherals/index.rst
@@ -0,0 +1,18 @@
+.. SPDX-FileCopyrightText: Huawei Inc.
+..
+.. SPDX-License-Identifier: CC-BY-4.0
+
+Peripherals used in implementing blueprints
+###########################################
+
+This section lists some of the peripherals proposed to be used (and supported) as part of All Scenarios OS Blueprints.
+
+Peripheral Categories
+*********************
+
+.. toctree::
+   :maxdepth: 2
+
+   io-devices/index
+   lock-devices/index
+
diff --git a/docs/hardware-support/blueprint-peripherals/io-devices/index.rst b/docs/hardware-support/blueprint-peripherals/io-devices/index.rst
new file mode 100644
index 00000000..55ac69e2
--- /dev/null
+++ b/docs/hardware-support/blueprint-peripherals/io-devices/index.rst
@@ -0,0 +1,88 @@
+.. SPDX-FileCopyrightText: Huawei Inc.
+..
+.. SPDX-License-Identifier: CC-BY-4.0
+
+Input/Output Peripherals used in blueprints
+###########################################
+
+This section lists some of the peripherals used for input and output used as part of All Scenarios OS Blueprints.
+
+.. toctree::
+   :maxdepth: 3
+
+Touch-based input
+*****************
+Smart devices accept a variety of input, typically through different types of touch interfaces. Here are a few that are used to produce All Scenarios OS Blueprints.
+
+Capacitive Touch Sensor
+-----------------------
+A capacitive touch sensor is used in various use cases with many different touch finishes, including glass, acrylic, polyester films, etc. It supports multi-touch use cases but needs direct skin contact to work.
+
+Raw Capacitive Touch Sensor
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ - `Raw touch sensor<https://www.adafruit.com/product/4830>`
+
+Glass Smart Switches
+^^^^^^^^^^^^^^^^^^^^
+For switches connected to a wifi network.
+
+ - `Sonoff <https://www.sonoff.in/product/sonoff-t3eu-tx-smart-wifi-black-wall-touch-switch-with-smart-home-edge-3-gang-433-rf-remote-control-works-with-alexa-ifttt/>`
+
+Resistive Touch Sensor
+----------------------
+If a pressure-based touch experience is required (to prevent stray touches), or if it is a low-cost, single-touch application, a resistive touch sensor may be used. These sensors also work with gloves and styluses and are generally more rugged and more resistant to water, dust, and debris.
+
+Matrix Keypad
+-------------
+Usecases such as PIN entry for payment or alarm system require a numeric keypad. Matrix 3x4 or 4x4 keypads are useful in such cases, with a generic gpio keypad driver able to read the input.
+
+ - `Adafruit <https://www.adafruit.com/product/419>`
+ - `Wider selection at Adafruit <https://learn.adafruit.com/matrix-keypad/featured_products>`
+
+Finger-print sensor
+-------------------
+For authentication use cases, a fingerprint module might be required.
+
+- `Adafruit fingerprint sensor <https://www.adafruit.com/product/751>`
+
+Combined display and Touch panel
+--------------------------------
+For applications needing a custom UI, a touch panel might be used. These can be categorized into two:
+
+Touch Panel (Lite)
+^^^^^^^^^^^^^^^^^^
+
+ .. note::
+    Needs experimental verification with our boards
+
+ - `Adafruit 2.8" PiTFT for Arduino <https://www.adafruit.com/product/1947>`
+ - `Generic SPI display <https://www.buydisplay.com/2-8-inch-tft-touch-shield-for-arduino-w-capacitive-touch-screen-module>`
+ - `Monochrome 2.4" OLED Display with touch <https://www.winstar.com.tw/products/oled-module/oled-touch-display/weo012864j-ctp.html>`
+
+
+Touch Panel (Rich)
+^^^^^^^^^^^^^^^^^^
+
+ .. note::
+    Needs experimental verification with our boards
+
+ - `Adafruit 2.8" PiTFT for RPi <https://www.adafruit.com/product/1983>`
+ - `Generic SPI display <https://www.buydisplay.com/2-8-inch-tft-touch-shield-for-arduino-w-capacitive-touch-screen-module>`
+ - `Adafruit 7" touchscreen display for RPi with DSI interface <https://www.adafruit.com/product/2718>`
+
+Display output
+**************
+Several devices have a display component to reflect the device's status, provide feedback to user input or show other useful information. Depending on the application, you might choose just a display or a display with a touch panel that allows input.
+
+Display-only
+------------
+A simple SPI display might be used for applications only needing a display with no touch input.
+
+ .. note::
+    Needs experimental verification with our boards
+
+ - `Adafruit 2.0" 320x240 Color IPS TFT Display <https://www.adafruit.com/product/4311>`
+
+Combined display and Touch panel
+--------------------------------
+See `Combined display and Touch panel above`
diff --git a/docs/hardware-support/blueprint-peripherals/lock-devices/index.rst b/docs/hardware-support/blueprint-peripherals/lock-devices/index.rst
new file mode 100644
index 00000000..17356bde
--- /dev/null
+++ b/docs/hardware-support/blueprint-peripherals/lock-devices/index.rst
@@ -0,0 +1,24 @@
+.. SPDX-FileCopyrightText: Huawei Inc.
+..
+.. SPDX-License-Identifier: CC-BY-4.0
+
+Lock Peripherals used in blueprints
+###################################
+
+Smart devices might need keyless locking functionality, e.g., a vending machine, a post box, or a smart door lock. Here are a few that are used in All Scenarios OS Blueprints.
+
+.. toctree::
+   :maxdepth: 3
+
+Solenoids
+*********
+Solenoids are electromagnets. When the coil is energized, it pulls the lock cylinder to unlock. In the non-energized (unpowered) state, the lock is engaged.
+
+ - `Adafruit Lock-style Solenoid - 12VDC <https://www.adafruit.com/product/1512>`
+
+Solenoids with key and button backup
+************************************
+For applications where you want to be able to disengage the lock in the absense of electricity.
+
+ - `Sonoff <https://www.sonoff.in/product/electric-control-rim-lock/>`
+
diff --git a/docs/hardware-support/index.rst b/docs/hardware-support/index.rst
index 38f62074..5c526ed8 100644
--- a/docs/hardware-support/index.rst
+++ b/docs/hardware-support/index.rst
@@ -16,3 +16,4 @@ All Scenarios OS.
    boards/index
    virtual-boards/index
    adding-hardware-support
+   blueprint-peripherals/index
-- 
GitLab