I am writing my first package and find myself repeatedly changing names of things. This tells me I just do not fully understand all of the moving parts and their interplay.
- Package name?
- The package is a controller for a common 16 channel PWM board with an I2C interface.
- Node name?
- Service names?
- The node has a few setup/configuration services - setting servo centers, turning all servos off, changing PWM frequency, linking servo channels, etc.
- Subscriber names?
- The node has a few subscribers to topics - setting absolute/relative speeds of one or more servos and handling Twist messages
- Message names?
- One of the topics uses the common Twist message.
- The other topics use custom messages.
- Are there any predefined Service message types - eg "single request integer with single response integer" or "no request input with no response output"?
Here are some possible strings to incorporate:
The package is being developed for a low cost robot platform which is shortened to locoro. Their will be other packages and nodes developed for this project. This first package is designed to drive any of the 16 channel PWM breakout board which uses the PCA9685 chip. The primary robotic use of the board is to control the servos and motors but will interface with any hardware which uses PWM. the most common / popular supplier of the board is Adafriut but it is also available from other companies.
I've read and re-read the tutorials and guides. This has been part of why i find myself continually changing the names as the guidance I'd gleaned has lead to multiple interpretations for a novice.
Guidance and suggestions are appreciated.
Originally posted by suforeman on ROS Answers with karma: 300 on 2016-11-10
Post score: 1
Original comments
Comment by gvdhoorn on 2016-11-10:
You must've already some idea for some of these things. To make this question a little less open-ended, you could include what you currently have.
Comment by suforeman on 2016-11-10:
You can get a sense of my indecisiveness with the package name:
pwm16i2c_controller locoro_pwm16 ('locoro' is the over arching project) i2cpwm16ctrl i2cpwm_board
Comment by gvdhoorn on 2016-11-11:
At least for packages you could take a look at REP-144: "ROS Package Naming".
Comment by suforeman on 2016-11-11:
Yes, I have read through REP-11. In re-reading the first comment, I realized I should include the various strings I am working with. I've updated the original question.