Difference between revisions of "Day 3"

From Bambi
Jump to: navigation, search
(Created page with "#[https://www.ethz.ch/content/dam/ethz/special-interest/mavt/robotics-n-intelligent-systems/rsl-dam/ROS2017/how_to_setup_developer_pc.pdf Setup ROS development environment usi...")
 
(LESSONS LEARNED)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
#[https://www.ethz.ch/content/dam/ethz/special-interest/mavt/robotics-n-intelligent-systems/rsl-dam/ROS2017/how_to_setup_developer_pc.pdf Setup ROS development environment using Eclipse Oxygen]
 
#[https://www.ethz.ch/content/dam/ethz/special-interest/mavt/robotics-n-intelligent-systems/rsl-dam/ROS2017/how_to_setup_developer_pc.pdf Setup ROS development environment using Eclipse Oxygen]
 +
#* <code>catkin config -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER_ARG1=-std=c++11 -D__cplusplus=201103L -D__GXX_EXPERIMENTAL_CXX0X__=1</code>
 +
#* <code>bash -i -c "eclipse"</code>
 +
# Discussed messages and nodes design
 +
# Switched back to QtCreator for new bambi ros package, because we noticed the catkin build tool support (not <code>catkin_make</code>)
 +
# Refactored bambi repository!
 +
#* Created submodules for mavlink and mavros
 +
#* Checked it in as whole catkin workspace
 +
#* PROVIDED developer setup shell script (!)
 +
 +
= LESSONS LEARNED =
 +
 +
In a submodule we are initially detached from the original repository, i.e. <code>git push</code> will not push to the originating remote repository (which makes actually sense, since we are in a submodule and won't necessary change the original repository (we are formally not working on them). So any commit in the submodule will result in a <code>HEAD DETACHED</code> state.
 +
 +
If we anyhow want to commit to the main repository of the submodule we have to checkout first:
 +
 +
# <code>git checkout <original-branch></code> e.g. release/kinetic/mavlink
 +
 +
To fix head detached state:
 +
 +
# <code>git checkout <original-branch></code> e.g. release/kinetic/mavlink --> <code>Previous HEAD position was fdea82a...</code>
 +
# <code>git merge <your-temporary-branch-number-from-head-detached></code> with head position number from point 1
 +
# <code>git push</code>

Latest revision as of 21:35, 7 August 2018

  1. Setup ROS development environment using Eclipse Oxygen
    • catkin config -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER_ARG1=-std=c++11 -D__cplusplus=201103L -D__GXX_EXPERIMENTAL_CXX0X__=1
    • bash -i -c "eclipse"
  2. Discussed messages and nodes design
  3. Switched back to QtCreator for new bambi ros package, because we noticed the catkin build tool support (not catkin_make)
  4. Refactored bambi repository!
    • Created submodules for mavlink and mavros
    • Checked it in as whole catkin workspace
    • PROVIDED developer setup shell script (!)

LESSONS LEARNED

In a submodule we are initially detached from the original repository, i.e. git push will not push to the originating remote repository (which makes actually sense, since we are in a submodule and won't necessary change the original repository (we are formally not working on them). So any commit in the submodule will result in a HEAD DETACHED state.

If we anyhow want to commit to the main repository of the submodule we have to checkout first:

  1. git checkout <original-branch> e.g. release/kinetic/mavlink

To fix head detached state:

  1. git checkout <original-branch> e.g. release/kinetic/mavlink --> Previous HEAD position was fdea82a...
  2. git merge <your-temporary-branch-number-from-head-detached> with head position number from point 1
  3. git push