Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add EV side Se/Deserialization for session_setup and unit tests #81

Closed
wants to merge 4 commits into from

Conversation

cienporcien
Copy link
Contributor

@cienporcien cienporcien commented Feb 15, 2025

Describe your changes

Add EV side Se/Deserialization for session_setup and unit tests

Issue ticket number and link

#63 Session Setup Conversion Functions

Checklist before requesting a review

  • I have performed a self-review of my code
  • I have made corresponding changes to the documentation
  • I read the contribution documentation and made sure that my changes meet its requirements

Copy link
Collaborator

@SebaLukas SebaLukas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good! I just have a few small things to say:

  • Look at my comments in the files.
  • LF Energy projects need signed-off-by commits. Please add signed-off-by to your commit: https://git-scm.com/docs/git-commit#Documentation/git-commit.txt--s
  • Linting job is failing. Please run clang-format on your changes. I will provide you the command in the next comment.
  • I will check why the CI job deploy html code coverage is failling.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove your comments.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also the comments in the code file?
src/iso15118/message/session_setup.cpp

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes

Comment on lines 12 to 53
//Note that the doc-raw as well as the verbose v2g representation come from the dsV2Gwireshark plugin
//monitoring the communication between the EV and the EVSE in a typical EVerest ISO 15118-20 DC SIL session using config-sil-dc-d20
//The verbose v2g representation is not used in the tests, but is included for reference

/* V2G Message
WARNING: Preliminary ISO 15118-20 support!
Metadata
EXI: 808C0400000000000000000C9F9C2BD0620B2BA6A4AB1899199A1A9B1B9C1C9820A121A222AC00
Message: SessionSetupReq
Decoded XML […]: <?xml version="1.0" encoding="UTF-8"?><ns1:SessionSetupReq xmlns:ns1="urn:iso:std:iso:15118:-20:CommonMessages" xmlns:ns2="urn:iso:std:iso:15118:-20:CommonTypes"><ns2:Header><ns2:SessionID>0000000000000000</ns2:SessionID
Message Validation: Successful
Schema: urn:iso:std:iso:15118:-20:CommonMessages
SessionSetupReq
[XML Attributes: xmlns:ns1="urn:iso:std:iso:15118:-20:CommonMessages" xmlns:ns2="urn:iso:std:iso:15118:-20:CommonTypes"]
Header
SessionID: 0000000000000000
TimeStamp: 1739635913
EVCCID: WMIV1234567890ABCDEX */

/* unsigned char bytes[] = {0x80, 0x8c, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x9f, 0x9c, 0x2b, 0xd0, 0x62, 0xb,
0x2b, 0xa6, 0xa4, 0xab, 0x18, 0x99, 0x19, 0x9a, 0x1a, 0x9b, 0x1b, 0x9c, 0x1c, 0x98, 0x20, 0xa1, 0x21, 0xa2, 0x22, 0xac, 0x0};
*/

/* V2G Message
WARNING: Preliminary ISO 15118-20 support!
Metadata
EXI: 809004177D0C4A6E3DC8088C9F9C2BD062040451114A9413960A914C4C8CCD0D4A8C40
Message: SessionSetupRes
Decoded XML […]: <?xml version="1.0" encoding="UTF-8"?><ns1:SessionSetupRes xmlns:ns1="urn:iso:std:iso:15118:-20:CommonMessages" xmlns:ns2="urn:iso:std:iso:15118:-20:CommonTypes"><ns2:Header><ns2:SessionID>2EFA1894DC7B9011</ns2:SessionID
Message Validation: Successful
Schema: urn:iso:std:iso:15118:-20:CommonMessages
SessionSetupRes
[XML Attributes: xmlns:ns1="urn:iso:std:iso:15118:-20:CommonMessages" xmlns:ns2="urn:iso:std:iso:15118:-20:CommonTypes"]
Header
SessionID: 2EFA1894DC7B9011
TimeStamp: 1739635913
ResponseCode: OK_NewSessionEstablished
EVSEID: DE*PNX*E12345*1
*/

/* unsigned char bytes[] = {0x80, 0x90, 0x4, 0x17, 0x7d, 0xc, 0x4a, 0x6e, 0x3d, 0xc8, 0x8, 0x8c, 0x9f, 0x9c, 0x2b, 0xd0, 0x62,
0x4, 0x4, 0x51, 0x11, 0x4a, 0x94, 0x13, 0x96, 0xa, 0x91, 0x4c, 0x4c, 0x8c, 0xcd, 0xd, 0x4a, 0x8c, 0x40}; */
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Of course I understand why you need a Json/XML representation of the Exi stream for the unit tests. To write the tests, I used the Json message myself.
Nevertheless, I would not commit the Json/XML representation. Due to the individual catch2 assertions, there is a duplication with the Json/XML representation. Theoretically, you can read out how the Json/XML message is structured from the individual test steps.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was just following the advice of Moritz in Zulip... Personally, I like to have the comments so I can remember what is being tested. I imagine that a more complicated message might have more parameter combinations and more test cases, where these sort of comments could help keep things straight. maybe we can discuss in the car comm meeting?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, then lets have a discussion in the car WG meeting 👍

@SebaLukas
Copy link
Collaborator

In our EVerest projects we use a specific clang-format version. To run this version, call this cmd in your libiso15118 folder:

docker run --user "1000:100" --volume "$(pwd):/source" ghcr.io/everest/everest-clang-format:v1.1.0 -r /source --extensions "hpp,cpp" -e "/source/cache" -e "/source/build" -e "/source/build-cross" -e "/source/build-clang" -i

And commit the changes.

@SebaLukas SebaLukas linked an issue Feb 17, 2025 that may be closed by this pull request
@SebaLukas
Copy link
Collaborator

Please update your branch with the latest main commits. @andistorm fixed the deploy html code coverage ci job for forks

@cienporcien cienporcien marked this pull request as draft February 18, 2025 06:51
@cienporcien
Copy link
Contributor Author

cienporcien commented Feb 18, 2025 via email

@SebaLukas
Copy link
Collaborator

Thats alright! I read your message in Zulip too late 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SessionSetup conversion functions
2 participants