Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated ReadMe to include a Windows specific section, as well as a Common Section for Linux/macOS and Windows #24

Merged
merged 12 commits into from
Oct 8, 2024
Merged
69 changes: 52 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,41 @@

F´ (F Prime) flight software for the PROVES CubeSat Kit. This version of the PROVES flight software is under development and is not ready to be used with flight hardware. Please see [proveskit/flight_software](https://github.com/proveskit/flight_software/) for our latest flight ready software.

## Building and Running the Deployment
### **Note**:
This guide features setup for both Linux/macOS and Windows (through the use of WSL). There will be a section specific to only [Windows](#windows-specific-section) users, as well as a common section where steps will apply to both groups (Linux/macOS and Windows).

If you're a Linux/macOS user, you can go straight to the [Common Section](#common-section-linuxmacos-and-windows). If a Windows user, do the [Windows](#windows-specific-section) section then go on to the [Common Section](#common-section-linuxmacos-and-windows) section.

## Windows Specific Section
### Windows Subsystem for Linux (WSL) Install
If you don’t have Windows Subsystem for Linux (WSL) installed on your computer, install it by opening Windows Powershell and typing
```sh
wsl –install
```

After installation, search for an application on your PC called ‘Ubuntu’ and open. A terminal will open, and it may be accompanied with an error message.*

*If you have an error message, restart your machine. Upon restarting, open the Ubuntu app, and it should now work properly.

Proceed to enter a username and password. After you set up your profile, you are now able to use WSL.

A good first step with your new environment is to install new versions of packages available. In your WSL terminal, the folowing command will install new packages for your WSL environment.
```sh
sudo apt update && sudo apt upgrade
```

Note: Your default Python3 installation in WSL may not come with 'venv', a package to create Python virtual environments. To install, enter
```sh
sudo apt install python3-venv
```

For some of us on WSL, the default download of CMake using apt resulted in build errors, but the latest version was able to allow for succesful builds. We recommend downloading the latest version of CMake.
```sh
wget -qO- https://github.com/Kitware/CMake/releases/download/v3.30.4/cmake-3.30.4-linux-x86_64.tar.gz | tar xzv && sudo mv cmake-3.30.4-linux-x86_64/bin/* /usr/local/bin && rm -r cmake-3.30.4-linux-x86_64
```
Now, you can proceed to the [Common Section](#common-section-linuxmacos-and-windows) and continue setup.
## Common Section (Linux/macOS and Windows)
### Building and Running the Deployment:

Getting started is easy! Please let us know if you run into any issues with the instructions below.

Expand Down Expand Up @@ -37,31 +71,32 @@ git --version

### Setup dependencies

1. Pull the fprime submodule
```sh
git submodule update --init --recursive
```
2. Create a python venv
1. Pull the fprime submodule
```sh
git submodule update --init --recursive
```
1. Create a python venv
```sh
python3 -m venv fprime-venv
```
3. Activate the venv
1. Activate the venv
```sh
source fprime-venv/bin/activate
```
1. Install required packages
```sh
. fprime-venv/bin/activate
pip install -r fprime/requirements.txt
```
4. Install required packages
2. Install the arduino-cli
```sh
pip install -r fprime/requirements.txt
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=$VIRTUAL_ENV/bin sh
```
5. Install the arduino-cli
```sh
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=$VIRTUAL_ENV/bin sh
```
6. Install the arduino-cli-wrapper
1.
Install the arduino-cli-wrapper
```sh
pip install arduino-cli-cmake-wrapper
```
7. Install the RP2040 board
2. Install the RP2040 board
```sh
arduino-cli config init
```
Expand All @@ -71,7 +106,7 @@ git --version
```sh
arduino-cli core install rp2040:[email protected]
```
8. Install additional arduino-cli dependencies:
3. Install additional arduino-cli dependencies:
```sh
arduino-cli lib install Time
```
Expand Down