Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter

- CitrineOS core extracted (CSMS OCPP 2.0.1)
- OpenOCPP extracted (firmware OCPP 1.6J/2.0.1)
- ShapeShifter library installed (pip install -e)
- ShapeShifter specification extracted
- EVerest extracted

TODO updated with progress
This commit is contained in:
Eric F
2026-06-08 00:38:27 -04:00
parent 468cfeaa50
commit d398a6ced2
7326 changed files with 1177561 additions and 7 deletions

View File

@@ -0,0 +1,72 @@
# Getting Started
## Requirements
For Debian GNU/Linux 11 you will need the following dependencies:
```bash
sudo apt install build-essential cmake python3-pip libboost-all-dev libsqlite3-dev libssl-dev
```
OpenSSL version 3.0 or above is required.
Clone this repository.
```bash
git clone https://github.com/EVerest/libocpp
```
In the libocpp folder create a folder named build and cd into it.
Execute cmake and then make:
```bash
mkdir build && cd build
cmake ..
make -j$(nproc)
```
## Unit testing
GTest is required for building the test cases target.
To build the target and run the tests you can reference the script `.ci/build-kit/install_and_test.sh`.
The script allows the GitHub Actions runner to execute.
Local testing:
```bash
mkdir build
cmake -B build -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="./dist"
cd build
make -j$(nproc) install
```
Run any required tests from build/tests.
## Clarifications for directory structures, namespaces and OCPP versions
This repository contains multiple subdirectories and namespaces named v16, v2 and v21.
* The v16 directories contain files for configuring and implementing OCPP 1.6.
* The v2 directories include files for both OCPP2.0.1 and OCPP2.1, as OCPP 2.1
is fully backward compatible with OCPP 2.0.1.
* The v21 directories include files only for OCPP2.1.
## Get Started with OCPP1.6
Please see the [Getting Started documentation for OCPP1.6](../v16/getting_started.md).
## Get Started with OCPP2.0.1
Please see the [Getting Started documentation for OCPP2.0.1](../v2/getting_started.md).
## Building the doxygen documentation
```bash
cmake -S . -B build
cmake --build build --target doxygen-ocpp
```
You will find the generated doxygen documentation at:
`build/dist/docs/html/index.html`
The main reference for the integration of libocpp for OCPP1.6 is the ocpp::v16::ChargePoint class defined in `v16/charge_point.hpp` , for OCPP2.0.1 and OCPP2.1 that is the ocpp::v2::ChargePoint class defined in `v2/charge_point.hpp` .