Skip to content

How to contribute?

NRottmann edited this page May 20, 2020 · 17 revisions

In this section, we introduce the different ways on how you can contribute to the ROS-Mobile project. There are basically three different options: You can become a full project member, you add own nodes and make a pull request or you can simply state some improvement suggestions which helps us to improve ROS-Mobile further. Each of the options requires a different level of commitment.

Table of Contents

Become a Project Member

If you think that this is a really nice project, you have some free time and you are quite good with Java and ROS, then you might want to join our project team as a full member. Feel free to contact us:

rosmobile.info(at)gmail.com

Add your own Nodes

If you like to add your own nodes to the app and contribute them to the project, we recommend the following procedure:

  • Fork the repository to your own GitHub account by hitting the fork button at the upper right corner.
  • Add your own Node by adding a new folder named nodename in the app/src/main/java/com/schneewittchen/rosdandroid folder. This will be your node folder which contains the main classes and functionalities. Add to your node folder the five java classes: NodeNameData, NodeNameDetailVH, NodeNameNode, NodeNameView, WidgetNodeNameEntity
    You can easily orientate yourself on already existing nodes when creating the individual classes.
  • Add to the app/src/main/res/layout folder a widget_detail_nodename.xml for defining required details for visualization and control which have to be set by the user itself. Again, we recommend to orientate yourself on already existing .xml files when creating the detail layout.
  • Add into the array list widget_names from the app/src/main/res/values/widgets.xml a new item NodeName and possible other resources required by your node.
  • Compile everything and your node should appear in the selection list in the Details Tab of the app. If something does not work as expected, please first check if you did all the naming conventions correctly, they are case sensitive.

Make Improvement Suggestions

Clone this wiki locally