You will need a local copy of the workshop materials. We recommend the Github release as it contains pre-compiled HTML docs and pre-compiled dongle firmware, but you can clone the repo with git
and check out the appropriate tag as well if you prefer.
Ask your trainer which release/tag you should be using.
Download the latest release from the rust-exercises Github release area. Unpack the zip file somewhere you can work on the contents.
Clone and change into the rust-exercises git repository:
git clone https://github.com/ferrous-systems/rust-exercises.git
cd rust-exercises
The git repository contains all workshop materials, i.e. code snippets, custom tools and the source for this handbook, but not the pre-compiled dongle firmware.
The target firmware for the nRF52 for this exercise lives in ./nrf52-code
:
$ tree -L 2
.
├── boards
│ ├── dk
│ ├── dk-solution
│ ├── dongle
│ └── dongle-fw
├── consts
│ ├── Cargo.lock
│ ├── Cargo.toml
│ └── src
├── hal-app
│ ├── Cargo.lock
│ ├── Cargo.toml
│ └── src
├── loopback-fw
│ ├── Cargo.lock
│ ├── Cargo.toml
│ └── src
├── puzzle-fw
│ ├── Cargo.lock
│ ├── Cargo.toml
│ ├── build.rs
│ └── src
├── radio-app
│ ├── Cargo.lock
│ ├── Cargo.toml
│ └── src
├── usb-app
│ ├── Cargo.lock
│ ├── Cargo.toml
│ └── src
├── usb-app-solutions
│ ├── Cargo.lock
│ ├── Cargo.toml
│ ├── src
│ └── traces
├── usb-lib
│ ├── Cargo.lock
│ ├── Cargo.toml
│ └── src
└── usb-lib-solutions
├── get-descriptor-config
├── get-device
└── set-config
27 directories, 17 files
Contains a Board Support Package for the nRF52840 Developer Kit.
Contains a Board Support Package for the nRF52840 Developer Kit, with a solution to the BSP exercise.
Contains a Board Support Package for the nRF52840 USB Dongle. You won't be using this.
In the release zip file, this contains pre-compiled firmware for the nRF52 USB Dongle, which you use in the nRF52 Radio Exercise. In the Git repository, it's empty.
Contains constants (e.g. USB Vendor IDs) shared by multiple crates.
Contains template and solution binary crates for the nRF BSP exercise.
Source code for the USB Dongle firmware to implement loopback mode.
Source code for the USB Dongle firmware to implement puzzle mode. No, you won't find the solution to the puzzle in this source directory - nice try!
Contains template and solution binary crates for the nRF Radio exercise.
Contains template binary crates for the nRF USB exercise.
Contains solution binary crates for the nRF USB exercise.
Contains a template library crate for the nRF USB exercise. This library can parse USB descriptor information.
Contains a solution library crate for the nRF USB exercise.
Contains a solution library crate for the nRF USB exercise.
Contains a solution library crate for the nRF USB exercise.