EVerest / everest-core

Apache License 2.0
92 stars 67 forks source link

EvseV2G: Integration of libcbv2g as OpenV2G replacement #544

Closed SebaLukas closed 2 months ago

SebaLukas commented 6 months ago

Currently the EvseV2G module uses the OpenV2G project to encode and decode EXI messages. The goal now is to replace OpenV2G with the new libcbv2g library.

The libcbv2g contains the generated c EXI code from the cbexigen generator with a CMake integration.

Tasks:

Every contribution is appreciated :smiley:

SiebrenW commented 6 months ago

I am somewhat prepared to work on this a bit in my free time. I have no facilities to test this though, besides unit tests and such.

SebaLukas commented 6 months ago

That's great :+1: For now, it would be enough if everest-core (EvseV2G module with libcbv2g) builds without errors and warnings. DIN70121 would also be the "easiest" to start with, as PnC is not possible here. You can use the various SILs for testing.

If you need any help, let me know.

SiebrenW commented 6 months ago

~~As mentioned in the cbexigen issue, the SignedInfo element must be encoded in another schema, so the fragments in ISO-2 and ISO-20 for SignedInfo are useless. This is a bit of a blocker for removing OpenV2G altogether (I started with removing it completely, only to notice that this schema was missing). More in issue EVerest/cbexigen#69~~

SiebrenW commented 6 months ago

So the previous isn't an issue after all. Apparently cbv2g decided to duplicate the xmldsig fragment encoders for every message namespace, which on one hand is duplicate logic, but on the other simplifies things (just assign the element instead of converting it from one type to the other.

This PR has the initial changes to remove openv2g: #563

SebaLukas commented 2 months ago

Done and merged #563