Quick Start
There are two kinds of roles available when using the RRIV platform.
One is contributing as a developer, this means writing code and uploading this
code to the RRIV board to make new functionality.
The other is operating the board to develop new sensors or deploy them into the field.
This role is called being an operator.
This quick start guide is divided into setup paths for either developer or operator roles.
A developer probably wants to do both setups, while an operator only needs to set up for the
operator role.
Choose the right setup path for your use case below and get started!
Operator Setup
To get set up to operate and deploy the RRIV board, you will need to install the rrivctl command line tool and set up your computer for USB communication with the RRIV board. You will communicate with the RRIV board using the rrivctl command line tool.
The instructions below are for linux. If you are using MacOS or Windows some of the installation steps will be different.
- Download and install the rrivctl command line tool
- Navigate to https://github.com/rrivirr/rriv-ctl
- Clone this repository onto your computer using git
- Using the command line, navigate to the rriv-ctl folder
- Install nodejs dependencies on your computer
- sudo apt-get install nodejs
- sudo apt-get install npm
- sudo npm i typescript -g
- Follow the setup instructions in rriv-ctl/README.md
- npm install # installs the nodejs packages required by rriv-ctl
- npm run build # builds the rriv-ctl tool
- source ./create-alias.sh # makes the command rrivctl available on the command line
- You can now test this installation by typing
rrivctl
on the command line, you should see the help message.
- Update your computer to allow USB communication with the rriv board
- The following two files must be copied into the /etc/udev/rules.d/ folder on your computer
- https://github.com/rrivirr/rriv-documentation/blob/main/hardware/udev/69-probe-rs.rules
- https://github.com/rrivirr/rriv-documentation/blob/main/hardware/udev/69-rriv.rules
- Download each file using the ‘raw’ link on github provided by the links above
- Copy them into place using a command like
sudo cp ${filename} /etc/udev/rules.d/
- After both files are copied into place, reload the udev rules by running
sudo udevadm control --reload
- Now we can try connecting to the board
- Plug the RRIV board into the computer using the USB port.
- Run the command
rrivctl connect
Developer Setup
To get set up to write new code for the rriv firmware and/or to install compiled firmware onto the RRIV board, it is necessary to set up the development environment.
- Clone the rriv-rust repository
- Install rust toolchain following the instructions in the readme here: https://github.com/rrivirr/rriv-rust
- Follow the instructions here to install rustup: https://rustup.rs/
- rustup toolchain install nightly
- rustup target add thumbv7m-none-eabi
- rustup default nightly
- cargo install probe-rs –features cli
- Install VSCode
- Install required VSCode extensions
- rust-analyzer
- probe-rs-debugger
- Install udev rules
- The following two files must be copied into the /etc/udev/rules.d/ folder on your computer
- https://github.com/rrivirr/rriv-documentation/blob/main/hardware/udev/69-probe-rs.rules
- https://github.com/rrivirr/rriv-documentation/blob/main/hardware/udev/69-rriv.rules
- Download each file using the ‘raw’ link on github provided by the links above
- Copy them into place using a command like
sudo cp ${filename} /etc/udev/rules.d/
- Connect the jtag board between the computer and the RRIV board.
- Test build and install by pressing the play button in VSCode