-
Notifications
You must be signed in to change notification settings - Fork 22
Introducing eCAL Feeder for KUKSA.val Integration #161
Conversation
Hey @lalywr2000, thanks for the Pull Request. In order to get the CI running you need to create an eclipse account https://accounts.eclipse.org/user/register and sign the eclipse eca https://www.eclipse.org/legal/ECA.php https://www.eclipse.org/legal/ecafaq.php |
Thanks for the instructions. @lukasmittag Now I have thet ECA Validation. |
Hey @lalywr2000, I see CI is failing due to no SPDX header in the proto file can you fix this? |
@lukasmittag I just added license to the proto file. But now, protobuf-compiler cannot compile this proto file because line syntax = "proto3"; has to appear first. What should I do in this case? Is there a way CI ignore checking certain files? or should I remove this test example? |
Yes, you need to use other style for commenting in these files. E.g.
|
ecal2val/mock_publisher.py
Outdated
try: | ||
protobuf_message.data_int = int(data) | ||
except ValueError: | ||
protobuf_message.data_float = float(data) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what if it's a string/bool etc.?
ecal2val/proto_struct/vss_data.proto
Outdated
message VssData | ||
{ | ||
string description = 1; | ||
int32 data_int = 2; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couldn't you leverage the structure of https://github.com/eclipse/kuksa.val/blob/master/proto/kuksa/val/v1/types.proto so for example use Datapoint etc. directly and then you not need to handle that much for float/bool/string etc.
@lukasmittag To leverage the structure of 'types.proto' effectively, I understood that I should use 'kuksa_client.grpc' library. However, I encountered difficulties in using it directly for topic communication in eCAL. Therefore, the current completed code looks like this. A custom-made proto structure based on 'types.proto' is utilized in communication between eCAL. And for writing data to the databroker, 'kuksa_client.grpc' is used normally. |
Some Linter failures, you may want to check the notes on pre-commit https://github.com/eclipse/kuksa.val.feeders#pre-commit-set-up for a way to check this locally already. It is annoying the first we times it bites you, but then it becomes natural 🚀 |
@SebastianSchildt Thank you. Finished installing pre-commit and solved every issues locally. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks again for the contribution. Sorry this took far too long, first forgot it, then could not find a x64 machine which ecal seems to require
Anyway: Followed the steps in Readme and "works as advertised", checked reception of data with kusksa-client
@erikbosch I think for stuff like this,we really need an "experiments"/"incubation" repo when migrating: We want it, it is cool, but currently is PoC level: Useful but only time will tell it will become "first class provider" such as can.
Background
This pull request contains features implemented as part of the 2023 Eclipse SDV Hackathon Challenge.
Description
This pull request introduces a new utilization example for KUKSA.val through the implementation of the eCAL Feeder. The primary objective of this implementation is to facilitate the input of data received via eCAL into the KUKSA.val databroker. The communication between eCAL and KUKSA.val is established through protobuf-formatted topics, utilizing the VSS (Vehicle Signal Specification) description and data structure outlined in this format. The data is seamlessly provided to the KUKSA.val databroker via the kuksa_client.
About eclipse eCAL