From 75aebbd211d0c76c819460932cef6ee40155ec94 Mon Sep 17 00:00:00 2001 From: corneliusclaussen <62659547+corneliusclaussen@users.noreply.github.com> Date: Wed, 6 Dec 2023 17:28:10 +0100 Subject: [PATCH 1/2] Add libcap dependency to README.md Signed-off-by: corneliusclaussen <62659547+corneliusclaussen@users.noreply.github.com> --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8ff8e0fd5..3ef631935 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ More CPU cores will optionally boost the build process, while requiring more RAM #### Ubuntu 20.04 & 22.04 ```bash sudo apt update -sudo apt install -y python3-pip git rsync wget cmake doxygen graphviz build-essential clang-tidy cppcheck openjdk-17-jdk npm docker docker-compose libboost-all-dev nodejs libssl-dev libsqlite3-dev clang-format curl rfkill libpcap-dev libevent-dev pkg-config +sudo apt install -y python3-pip git rsync wget cmake doxygen graphviz build-essential clang-tidy cppcheck openjdk-17-jdk npm docker docker-compose libboost-all-dev nodejs libssl-dev libsqlite3-dev clang-format curl rfkill libpcap-dev libevent-dev pkg-config libcap-dev ``` ##### Ubuntu 20.04 In order to build EVerest, we need clang-format version greater than 11. To date *apt* does only install an older version, so we install version 12 manually: @@ -34,13 +34,13 @@ to install a newer version, minimum v12. ```bash zypper update && zypper install -y sudo shadow zypper install -y --type pattern devel_basis -zypper install -y git rsync wget cmake doxygen graphviz clang-tools cppcheck boost-devel libboost_filesystem-devel libboost_log-devel libboost_program_options-devel libboost_system-devel libboost_thread-devel java-17-openjdk java-17-openjdk-devel nodejs nodejs-devel npm python3-pip gcc-c++ libopenssl-devel sqlite3-devel libpcap-devel libevent-devel +zypper install -y git rsync wget cmake doxygen graphviz clang-tools cppcheck boost-devel libboost_filesystem-devel libboost_log-devel libboost_program_options-devel libboost_system-devel libboost_thread-devel java-17-openjdk java-17-openjdk-devel nodejs nodejs-devel npm python3-pip gcc-c++ libopenssl-devel sqlite3-devel libpcap-devel libevent-devel libcap-devel ``` #### Fedora 37, 38 & 39 ```bash sudo dnf update -sudo dnf install make automake gcc gcc-c++ kernel-devel python3-pip python3-devel git rsync wget cmake doxygen graphviz clang-tools-extra cppcheck java-17-openjdk java-17-openjdk-devel boost-devel nodejs nodejs-devel npm openssl openssl-devel libsqlite3x-devel curl rfkill libpcap-devel libevent-devel +sudo dnf install make automake gcc gcc-c++ kernel-devel python3-pip python3-devel git rsync wget cmake doxygen graphviz clang-tools-extra cppcheck java-17-openjdk java-17-openjdk-devel boost-devel nodejs nodejs-devel npm openssl openssl-devel libsqlite3x-devel curl rfkill libpcap-devel libevent-devel libcap-devel ``` ### Build & Install: From 65ce9c2a8a5fc8bad5a4d782de2ae37cccd69c59 Mon Sep 17 00:00:00 2001 From: Cornelius Claussen Date: Thu, 7 Dec 2023 08:52:03 +0100 Subject: [PATCH 2/2] Add capabilities to module documentation Signed-off-by: Cornelius Claussen --- modules/EvseSlac/design.rst | 19 ------------------- modules/EvseSlac/doc.rst | 24 ++++++++++++++++++++++++ modules/Setup/README.md | 3 +++ 3 files changed, 27 insertions(+), 19 deletions(-) delete mode 100644 modules/EvseSlac/design.rst create mode 100644 modules/EvseSlac/doc.rst diff --git a/modules/EvseSlac/design.rst b/modules/EvseSlac/design.rst deleted file mode 100644 index d34610670..000000000 --- a/modules/EvseSlac/design.rst +++ /dev/null @@ -1,19 +0,0 @@ -=================== -Basic Driver Design -=================== - -This is an implementation of the ISO 15188-3 EVSE side SLAC protocol. -The general flow of operation will be like this: - -- start of operation begins with a control pilot transition from state - A, E or F to Bx, Cx or Dx -- tbc - - -==== -Todo -==== - -- implement D-LINK.Terminate, D-LINK.Error and D-LINK.Pause -- make use of the enable flag in the reset command or drop it, if not needed -- handle CM_VALIDATE.REQ message diff --git a/modules/EvseSlac/doc.rst b/modules/EvseSlac/doc.rst new file mode 100644 index 000000000..7dc1a8581 --- /dev/null +++ b/modules/EvseSlac/doc.rst @@ -0,0 +1,24 @@ +=================== +EvseSlac +=================== + +This is an implementation of the ISO 15118-3 EVSE side SLAC protocol. +The general flow of operation will be like this: + +- start of operation begins with a control pilot transition from state + A, E or F to Bx, Cx or Dx. This is indicated by the EvseManager by calling + the commands enter_bcd/leave_bcd. +- Once started, it waits for a CM_SLAC_PARM_REQ from the EV side to start the SLAC session. +- In case of success, SLAC finishes with a CM_SLAC_MATCH_RES, which sends a new NMK to the EV side. + The EV then joins the logical network and the two modems are paired. A dlink_ready(true) is published + to signal to the EvseManager that the low level PLC link is ready for communication. + +If not run as root user, this modules requires the capability CAP_NET_RAW. + +==== +Todo +==== + +- make use of the enable flag in the reset command or drop it, if not needed +- handle CM_VALIDATE.REQ message +- implement PLC chip resetting after unplug or failed SLAC sessions (especially for QCA chips) diff --git a/modules/Setup/README.md b/modules/Setup/README.md index 28d0773a3..068d82473 100644 --- a/modules/Setup/README.md +++ b/modules/Setup/README.md @@ -1,6 +1,9 @@ # Setup module API documentation This module is responsible for setup tasks that might need privileged access, for example wifi configuration. +If not run as root user, set at least the following capabilities in your EVerest config file: CAP_NET_ADMIN, CAP_NET_RAW, CAP_DAC_OVERRIDE. +They will be passed on to the child processes such as wpa_cli etc. + ## Periodically published variables ### everest_api/setup/var/supported_setup_features This variable is published periodically and contains a JSON object with the supported features in the following form: