Giter VIP home page Giter VIP logo

libcbv2g's Introduction

libcbV2G - The V2GTP EXI codec library

libcbv2g is a library to encode and decode EXI messages and is able to process DIN70121, ISO15118-2 and ISO15118-20 messages. The library is based on the generated code output of the cbExiGen generator.

All documentation and the issue tracking can be found in our main repository here: https://github.com/EVerest/everest

Dependencies

To build this library you need everest-cmake checkout in the same directory as libcbV2G.

Getting started

# Run cmake (CB_V2G_BUILD_TESTS to enable/disable unit tests)
cmake -S . -B build -G Ninja -DCB_V2G_BUILD_TESTS=1 -DCMAKE_EXPORT_COMPILE_COMMANDS=1

# Build
ninja -C build

# Running tests
ninja -C build test

libcbv2g's People

Contributors

sebalukas avatar marzellt avatar a-w50 avatar barsnick avatar corneliusclaussen avatar

Stargazers

Murat Kucukyilmaz avatar  avatar  avatar Sylwester Lachiewicz avatar  avatar elsa avatar  avatar

Watchers

Hasjim Williams avatar Marco Möller avatar Maaike Zijderveld avatar Dominik K. avatar Thilo Molitor avatar  avatar  avatar Murat Kucukyilmaz avatar  avatar

libcbv2g's Issues

Adding unit tests for DIN70121 messages

ISO Version

DIN70121

Describe the problem

It would be very useful for the library to have unit tests for each V2G message.

In the following table you will find the XML file and the corresponding EXI stream for each DIN message.

Message Files Done
SessionSetupReq SessionSetupReq.zip ✔️
SessionSetupRes
ServiceDiscoveryReq ServiceDiscoveryReq.zip ✔️
ServiceDiscoveryRes ServiceDiscoveryRes.zip ✔️
ServicePaymentSelectionReq ServicePaymentSelectionReq.zip
ServicePaymentSelectionRes ServicePaymentSelectionRes.zip
ContractAuthenticationReq ContractAuthenticationReq.zip
ContractAuthenticationRes ContractAuthenticationRes.zip
ChargeParameterDiscoveryReq ChargeParameterDiscoveryReq.zip
ChargeParameterDiscoveryRes ChargeParameterDiscoveryRes.zip
CableCheckReq CableCheckReq.zip
CableCheckRes CableCheckRes.zip
PreChargeReq PreChargeReq.zip
PreChargeRes PreChargeRes.zip
PowerDeliveryReq PowerDeliveryReq.zip
PowerDeliveryRes PowerDeliveryRes.zip
CurrentDemandReq CurrentDemandReq.zip
CurrentDemandRes CurrentDemandRes.zip
WeldingDetectionReq WeldingDetectionReq.zip
WeldingDetectionRes WeldingDetectionRes.zip
SessionStopReq SessionStopReq.zip
SessionStopRes SessionStopRes.zip

Describe your solution

Create for every message a encode and decode test with the help of XML and EXI messages.

A sample of how the tests can be written can be found in the tests/app_handshake folder.

Additional context

Adding unit tests for ISO15118-2 messages

ISO Version

ISO15118-2

Describe the problem

It would be very useful for the library to have unit tests for each V2G message.

In the following table you will find the XML file and the corresponding EXI stream for each ISO-2 message.

Message Files Done
SessionSetupReq SessionSetupReq.zip
SessionSetupRes SessionSetupRes.zip
ServiceDiscoveryReq ServiceDiscoveryReq.zip
ServiceDiscoveryRes ServiceDiscoveryRes.zip
ServiceDetailReq
ServiceDetailRes
PaymentServiceSelectionReq PaymentServiceSelectionReq.zip
PaymentServiceSelectionRes PaymentServiceSelectionRes.zip
CertificateUpdateReq
CertificateUpdateRes
CertificateInstallationReq
CertificateInstallationRes
PaymentDetailsReq
PaymentDetailsRes
AuthorizationReq
AuthorizationRes
ChargeParameterDiscoveryReq
ChargeParameterDiscoveryRes
PowerDeliveryReq
PowerDeliveryRes
SessionStopReq
SessionStopRes
MeteringReceiptReq
MeteringReceiptRes
ChargingStatusReq
ChargingStatusRes
CableCheckReq
CableCheckRes
PreChargeReq
PreChargeRes
CurrentDemandReq
CurrentDemandRes
WeldingDetectionReq
WeldingDetectionRes

Describe your solution

Create for every message a encode and decode test with the help of XML and EXI messages.

A sample of how the tests can be written can be found in the tests/app_handshake folder.

Additional context

Attention: Not all EXI & XML messages uploaded yet

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.