Skip to content

Commit

Permalink
exi encoding for DC message correction, improve EXI codec performance
Browse files Browse the repository at this point in the history
  • Loading branch information
OSkrdgz committed Feb 21, 2022
1 parent 6524117 commit 14f0216
Show file tree
Hide file tree
Showing 174 changed files with 36,099 additions and 35,816 deletions.
40 changes: 20 additions & 20 deletions doc/Makefile
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
Binary file modified doc/build/doctrees/README.doctree
100755 → 100644
Binary file not shown.
Binary file modified doc/build/doctrees/environment.pickle
100755 → 100644
Binary file not shown.
Binary file modified doc/build/doctrees/evcc.doctree
100755 → 100644
Binary file not shown.
Binary file modified doc/build/doctrees/evcc.states.doctree
100755 → 100644
Binary file not shown.
Binary file modified doc/build/doctrees/index.doctree
100755 → 100644
Binary file not shown.
Binary file modified doc/build/doctrees/modules.doctree
100755 → 100644
Binary file not shown.
Binary file modified doc/build/doctrees/secc.doctree
100755 → 100644
Binary file not shown.
Binary file modified doc/build/doctrees/secc.states.doctree
100755 → 100644
Binary file not shown.
Binary file modified doc/build/doctrees/shared.charge_controller_tcp_driver.doctree
100755 → 100644
Binary file not shown.
Binary file modified doc/build/doctrees/shared.doctree
100755 → 100644
Binary file not shown.
Binary file modified doc/build/doctrees/shared.xml_classes.app_protocol.doctree
100755 → 100644
Binary file not shown.
Binary file modified doc/build/doctrees/shared.xml_classes.common_messages.doctree
100755 → 100644
Binary file not shown.
Binary file modified doc/build/doctrees/shared.xml_classes.dc.doctree
100755 → 100644
Binary file not shown.
Binary file modified doc/build/doctrees/shared.xml_classes.doctree
100755 → 100644
Binary file not shown.
Empty file modified doc/build/html/.buildinfo
100755 → 100644
Empty file.
Empty file modified doc/build/html/README.html
100755 → 100644
Empty file.
242 changes: 121 additions & 121 deletions doc/build/html/_sources/README.rst.txt
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,121 +1,121 @@
Presentation
------------
This project implements the 15118-20 norm for the use case DC BPT Dynamic using *Python*.


Installation and configuration
------------------------------
To install the tool, it is fairly straightforward:

1. Download the git repository <https://gitlab.pleiade.edf.fr/R43/15118-20-v2g> and Miniconda <https://docs.conda.io/en/latest/miniconda.html>

.. code-block:: bash
git clone https://gitlab.pleiade.edf.fr/R43/15118-20-v2g
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
2. Setup a virtual environment

.. code-block:: bash
conda create -n edf15118-20 python=3.8
3. Install dependencies

.. code-block:: bash
pip install -r requirements.txt // using pip
conda install -f environment.yml // using conda
4. Configure the tool by modifying the *.ini* files.


Usage
-----

GUI
===

.. code-block:: bash
python secc/evse_gui.py // run evse
python secc/ev_gui.py // run ev
To stop running, use the **stop** button on the EV side.

Log-based
=========

.. code-block:: bash
python secc/start_evse.py // run evse
python secc/start_ev.py // run ev
To stop running, press **ENTER** on the EV side in the terminal.

Extras
------

Generating documentation
========================
To generate the documentation, go to *doc* and run:

.. code-block:: bash
make html
Updating XSD files and associated XML classes
=============================================
To update the *XSD* files and the associated *XML* classes:

1. Make a backup of the old *XSD* files in *shared/xsd_files/previous_version*
2. Make a backup of the old *EXIG* files as well in *shared/exig_files/previous_version*
3. Copy the new *XSD* files in *shared/xsd_files/latest_version*
4. Generate the new *EXIG* files using **OpenEXI_Example4 :see:`http://openexi.sourceforge.net/tutorial/example4.htm`**
5. Copy the new *EXIG* files in *shared/exig_files/latest_version*
6. Delete *shared/xml_classes* package
7. Generate the new *XML* classes:

.. code-block:: bash
xsdata shared/xsd_files/latest_version/V2G_CI_AppProtocol.xsd --package shared.xml_classes.app_protocol
xsdata shared/xsd_files/latest_version/V2G_CI_CommonMessages.xsd --package shared.xml_classes.common_messages
xsdata shared/xsd_files/latest_version/V2G_CI_DC.xsd --package shared.xml_classes.dc
Generating new certificates
===========================
To generate new certificates, go to *shared/certificates/* and run:

.. code-block:: bash
./generateCertificates.sh
Updating packages
=================
To update all **pip** packages, run:

.. code-block:: bash
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
Exporting dependencies
======================
To export dependencies, run:

.. code-block:: bash
pip freeze > requirements.txt // using pip
conda env export > environment.yml // using conda
Generating python file from QtDesigner
======================================
After generating *.ui* file, run:

.. code-block:: bash
pyuic5 <name>.ui > <name>.py
Presentation
------------
This project implements the 15118-20 norm for the use case DC BPT Dynamic using *Python*.


Installation and configuration
------------------------------
To install the tool, it is fairly straightforward:

1. Download the git repository <https://gitlab.pleiade.edf.fr/R43/15118-20-v2g> and Miniconda <https://docs.conda.io/en/latest/miniconda.html>

.. code-block:: bash
git clone https://gitlab.pleiade.edf.fr/R43/15118-20-v2g
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
2. Setup a virtual environment

.. code-block:: bash
conda create -n edf15118-20 python=3.8
3. Install dependencies

.. code-block:: bash
pip install -r requirements.txt // using pip
conda install -f environment.yml // using conda
4. Configure the tool by modifying the *.ini* files.


Usage
-----

GUI
===

.. code-block:: bash
python secc/evse_gui.py // run evse
python secc/ev_gui.py // run ev
To stop running, use the **stop** button on the EV side.

Log-based
=========

.. code-block:: bash
python secc/start_evse.py // run evse
python secc/start_ev.py // run ev
To stop running, press **ENTER** on the EV side in the terminal.

Extras
------

Generating documentation
========================
To generate the documentation, go to *doc* and run:

.. code-block:: bash
make html
Updating XSD files and associated XML classes
=============================================
To update the *XSD* files and the associated *XML* classes:

1. Make a backup of the old *XSD* files in *shared/xsd_files/previous_version*
2. Make a backup of the old *EXIG* files as well in *shared/exig_files/previous_version*
3. Copy the new *XSD* files in *shared/xsd_files/latest_version*
4. Generate the new *EXIG* files using **OpenEXI_Example4 :see:`http://openexi.sourceforge.net/tutorial/example4.htm`**
5. Copy the new *EXIG* files in *shared/exig_files/latest_version*
6. Delete *shared/xml_classes* package
7. Generate the new *XML* classes:

.. code-block:: bash
xsdata shared/xsd_files/latest_version/V2G_CI_AppProtocol.xsd --package shared.xml_classes.app_protocol
xsdata shared/xsd_files/latest_version/V2G_CI_CommonMessages.xsd --package shared.xml_classes.common_messages
xsdata shared/xsd_files/latest_version/V2G_CI_DC.xsd --package shared.xml_classes.dc
Generating new certificates
===========================
To generate new certificates, go to *shared/certificates/* and run:

.. code-block:: bash
./generateCertificates.sh
Updating packages
=================
To update all **pip** packages, run:

.. code-block:: bash
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
Exporting dependencies
======================
To export dependencies, run:

.. code-block:: bash
pip freeze > requirements.txt // using pip
conda env export > environment.yml // using conda
Generating python file from QtDesigner
======================================
After generating *.ui* file, run:

.. code-block:: bash
pyuic5 <name>.ui > <name>.py
Loading

0 comments on commit 14f0216

Please sign in to comment.