-
Notifications
You must be signed in to change notification settings - Fork 170
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
Left/Right Instance Discussion #718
Conversation
Signed-off-by: Erik Jaegervall <[email protected]>
MoM:
|
Putting it on hold/draft for now, in the sense that there seems to be more to discuss |
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.
Some thoughts on this topic.
by a configuration file. | ||
|
||
|
||
As an example is shown below for doors. In VSS four instances of doors are specified for each row, |
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.
Review phrasing. Not clear what is meant by "As an example is shown below."
"In VSS" -> "In VSS,"
|
||
As an example is shown below for doors. In VSS four instances of doors are specified for each row, | ||
but there are at most two physical doors on each side. | ||
`DriverSide`and `PassengerSide`can be considered as aliases for `Left`and `Right`, or vice versa. |
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.
can ->
can
as aliases -> aliases
and ->
and
|
||
<!-- Image source in docs-gen/image_source/instance_tree.puml --> | ||
![Example tree](/vehicle_signal_specification/images/instance_tree.png) | ||
|
||
When expanded this corresponds to: | ||
|
||
If expanded (for instance by [VSS-tools](https://github.com/COVESA/vss-tools)) this corresponds to: |
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.
) -> ),
interpreted by the tools. As an example is shown below for doors: | ||
interpreted by the tools. | ||
|
||
The instance names defined in VSS can be seen as labels |
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.
I think this makes sense, but I would like to spend some more time thinking this through as to how this would be implemented in practice.
I immediately see two approaches:
- Use an overlay to (effectively) delete the entries that are not implemented (that is, replace ["DriverSide", "PassengerSide", "Left", "Right"] by ["Left", "Right"] or ["DriverSide", "PassengerSide"]).
- Support them as aliases.
For 1., there are portability issues (an app written to look for DriverSide would not find it on vehicles that use a ["Left", "Right"] definition, and thus would need to be adapted). There is also the argument that if we expect an overlay to be used here, then going with one or the other of ["Left", "Right"] or ["DriverSide", "PassengerSide"] makes some minimal portability guarantee (at least for vehicles that use the definition as it is).
For 2., any code that reports the value for this signal would need to know that it needs to report (or store) this value twice and not just once as it normally does for other signals. Another issue is that
As well, this approach embeds the notion of left-hand vs. right-hand driver side in a bit of an awkward way. Thinking out loud, would it be better for this notion of driver side not to be embedded in this signal, but carried independently, leaving this signal to only have ["Left", "Right"] as instances, with the application relaying on the independent driver position information to cheese between the two instances?
Lastly, where does this leave us with vehicles that do not have a driver side? That is, where the driver is in the middle?
Closing this one for now, may reopen later |
This is a follow up proposal to the items listed below, showing a potential solution:
Concerning implementation, I see several alternatives.
Would a change like in this PR be an acceptable solution?
#695
#639
#642