Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Modify tutorial for a fresh Ubuntu installation #178
Conversation
|
@peterpolidoro Hi! Thank you for your interest in micro-ROS. Notice that we’ll discuss the recent contributions and developments in the next Embedded WG meeting. |
I found that I needed to make some slight changes to the tutorial in order to run it on a fresh Ubuntu installation.
The ros2-latest.list must explicitly say [arch=amd64] or it fails to update with an error about not finding 32 bit packages.
The $ROS_DISTRO environment variable is not set to anything before sourcing the setup.bash file so that must explicitly say 'dashing'.
Some extra debian packages needed to be installed before completing the next steps.
I changed microros_ws to uros_ws to make it match the Docker version, although that name is arbitrary.
It seems that the create_firmware step automatically puts the micro-ROS-demos into the src directory. Does that only happen when you specify 'host' firmware? Having those files there already makes the touch ping_pong files unnecessary. The 'export_executable(ping_pong)' line is already in the CMakeLists.txt file so that step is unnecessary as well. I imagine you want to leave those instructions so people know how to create a new app, but I just added a note to make it more clear that those files will already be there.
The file in the ping_pong directory is named main.c instead of app.c. Is one name more standard than the other?
I was unable to build the firmware however. The summary is:
Summary: 59 packages finished [47min 45s]
4 packages had stderr output: micro_ros_demos_rcl micro_ros_demos_rclcpp microxrcedds_agent rmw_microxrcedds
47 minutes is a long time to compile on my older laptop. How can you reduce the number of packages that need to get compiled if you are only interested in the ping_pong app? What all can be removed and deleted to speed up the compilation of just the ping_pong app and its dependencies? Is there a way to list the packages that are about to be compiled? Is there a way to tell it to just compile a single package along with its dependencies instead of all of the packages in the src directory?