Skip to content

Latest commit

 

History

History
72 lines (48 loc) · 1.99 KB

getting_started.md

File metadata and controls

72 lines (48 loc) · 1.99 KB

Getting Started

Requirements

For Debian GNU/Linux 11 you will need the following dependencies:

  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.

  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:

  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:

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.

Get Started with OCPP2.0.1

Please see the Getting Started documentation for OCPP2.0.1.

Building the doxygen documentation

  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 .