'Engine' for handling concurrency and other 'low-level' tasks
See ROS Humble documentation for details on how to use ros2.
This engine uses external dependencies that are located in the extern
directory.
To directly clone the repository with these submodules add the --recursive
flag to your git clone
command.
To clone the submodules after cloning the engine, run git submodule update --init --recursive
make
source install/setup.bash
Then you can call anything defined in the package.
For example: ros2 run sgengine pico
make check
to run testsPython code should follow snake case, with proper public/private seperation in class development. Public/private in Python is done with an underscore at the front of an attribute. For example,
self._example: str = "example"
is private
self.example: str = "example"
is public
make help
Displays all possible commands for utilizing the Makefile.
make
Builds all ros packages
make check
runs all tests (including ros and formatting tests). This must pass before your code can be merged into main.
$HOME
directory with the --recursive
flagscripts/pi_software_install.py
script to set up the Piscripts/install_deps.py
script to configure this repositories' dependencieshttps://github.com/atar-axis/xpadneo
repository and follow the instructions in the Prerequisites
and Installation
sections of the READMEsudo usermod -a -G dialout pi
to give pi user serial accessraspi-config
in Interface Options->Serial Port. Second option must be set to raspi-config
in Interface Options->SSHTo enable the launch service:
Make sure that the SpaceGrantEngine
repository is located at /home/pi/SpaceGrantEngine
Run systemctl enable $HOME/SpaceGrantEngine/scripts/engine_launch.service
to enable the service on boot.