'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
- Create a new branch
- Add/modify desired functionality
- Run
make check
to run tests - Open a pull request
Python 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.
- Flash SD card to "Ubuntu Desktop 22.04 LTS (64-bit)" and boot
- Go through initial setup, set username to pi
- Clone this repository in the
$HOME
directory with the--recursive
flag - Run the
scripts/pi_software_install.py
script to set up the Pi - Run the
scripts/install_deps.py
script to configure this repositories' dependencies - Reboot
- Clone the
https://github.com/atar-axis/xpadneo
repository and follow the instructions in thePrerequisites
andInstallation
sections of the README - Use
sudo usermod -a -G dialout pi
to give pi user serial access - Enable serial hardware in
raspi-config
in Interface Options->Serial Port. Second option must be set to - Enable SSH in
raspi-config
in Interface Options->SSH - Reboot
To 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.