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 description of "gpio"-tag #38

Merged
merged 1 commit into from
Apr 7, 2021
Merged

Conversation

destogl
Copy link
Member

@destogl destogl commented Feb 23, 2021

No description provided.

@destogl destogl changed the title Add description of a gpio-tag Add description of "gpio"-tag Feb 23, 2021
Comment on lines +25 to +26
The keyword "gpio" is chosen for its generality.
Although strictly used for digital signals, in this document describes any electrical analog, digital signal, or physical value.

Choose a reason for hiding this comment

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

GPIO as an acronym has a fairly well established meaning. See wikipedia/GPIO for instance.

Is the intention to use it like that in ros2_control, or is it even more general?

The text is slightly ambiguous, as in some places it states that the gpio tag should/could be used for anything which is not a joint or a sensor, but in other places (like here) it limits it to the more traditional meaning of the term (ie: "an uncommitted digital signal pin on an integrated circuit or electronic circuit board which may be used as an input or output, or both, and is controllable by the user at runtime" (Wikipedia)).

Copy link
Member Author

Choose a reason for hiding this comment

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

@gavanderhoorn This is a very good point.

For clarification. We would like to use it for everything which has not "a physical" signal. The usual use-case would be digital and analog input outputs on a robot that can not be related to any joint or sensors.

Is the intention to use it like that in ros2_control, or is it even more general?

The use is more general because it also describes analog signals.

Copy link

@gavanderhoorn gavanderhoorn Mar 10, 2021

Choose a reason for hiding this comment

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

We would like to use it for everything which has not "a physical" signal.

That seems to contradict what's in the document right now (emphasis mine):

Although strictly used for digital signals, in this document describes any electrical analog, digital signal, or physical value.

Perhaps you mean something else?

The usual use-case would be digital and analog input outputs on a robot that can not be related to any joint or sensors.

well, anything which you connect to a digital computer in the end is represented by digital input outputs. So this doesn't seem to say very much.

I understand why you went with gpio, but to me, it it's either not specific enough, or it's too generic.

And the given rationale and use-case seem a bit narrow as well: why only robots? What about using ros2_control for something which is not (directly) considered a robot?

@gavanderhoorn
Copy link

@destogl: what about type and width of gpio elements? Is that all left to the implementation "behind" the interface?

@destogl
Copy link
Member Author

destogl commented Mar 10, 2021

@destogl: what about type and width of gpio elements? Is that all left to the implementation "behind" the interface?

We should probably add type. This discussion is related to #39.

Regarding width, I am not sure what would be the use for it. It suggests that we would have to start working with vectors in the backed in the real-time related loop. I think we will keep this on hold until there is a specific use-case for this.

@gavanderhoorn
Copy link

gavanderhoorn commented Mar 10, 2021

Regarding width, I am not sure what would be the use for it. It suggests that we would have to start working with vectors in the backed in the real-time related loop. I think we will keep this on hold until there is a specific use-case for this.

if you are going to use the name gpio, I believe width should be one of the properties. Or you'd have to make it really clear your gpio is not what's typically understood to be gpio and/or clarify that each gpio is always a 1D/scalar value/pin/signal.

Perhaps signal could be an alternative name? It would still make me ask "what's the resolution?" (which in digital contexts is almost the same as width), but at least we'd avoid the use of gpio.

It suggests that we would have to start working with vectors in the backed in the real-time related loop

that's not really a problem.

I would not dismiss design options because they might pose a challenge in the implementation.

@bmagyar bmagyar merged commit 60d365c into ros-controls:master Apr 7, 2021
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.

3 participants