Merge branch 'master' of github.com:ferrous-systems/embedded-trainings-2020 into edit-book

This commit is contained in:
Mirabellensaft 2020-07-15 16:30:20 +02:00
commit 3d8d121f23
3 changed files with 14 additions and 7 deletions

View file

@ -51,12 +51,18 @@ jobs:
- name: build tools
working-directory: ./tools
run: cargo build --verbose
run: |
cargo build --verbose
cargo fmt --all -- --check
- name: build beginner/apps
- name: build and fmt beginner/apps
working-directory: ./beginner/apps
run: cargo build --verbose
run: |
cargo build --verbose
cargo fmt --all -- --check
- name: build advanced/firmware
- name: build and fmt advanced/firmware
working-directory: ./advanced/firmware
run: cargo build --verbose
run: |
cargo build --verbose
cargo fmt --all -- --check

View file

@ -44,7 +44,6 @@ fn on_event(usbd: &USBD, event: Event) {
Event::UsbEp0DataDone => todo!(),
Event::UsbEp0Setup => {
// the BMREQUESTTYPE register contains information about data recipient, transfer type and direction
let bmrequesttype = usbd.bmrequesttype.read().bits() as u8;
// the BREQUEST register stores the type of the current request (e.g. SET_ADDRESS, GET_DESCRIPTOR, ...)

View file

@ -17,16 +17,18 @@ use heapless::consts::*; // defines U16, U32, U64... etc. to set the size of t
fn main() {
// A hash map with a capacity of 16 key-value pairs allocated on the stack
// note that U16 is a heapless constant, not Rust's u16
let mut my_map = FnvIndexMap::<_, _, U16>::new();
my_map.insert(b'A', b'~').unwrap();
// A vector with a fixed capacity of 8 elements allocated on the stack
// note that U8 is a heapless constant, not Rust's u8
let mut my_vec = Vec::<_, U8>::new();
my_vec.push(b'A').unwrap();
}
```
If you haven't used a stack-allocated collection before note that you'll need to specify the capacity of the collection as a type parameter using one of the "type-level values" in the `heapless::consts` module. The [`heapless::IndexMap` documentation][indexMap] of the `heapless` crate has some usage examples, as does the [`heapless::Vec` documentation][vec].
If you haven't used a stack-allocated collection before note that you'll need to specify the capacity of the collection as a type parameter using one of the "type-level values" in the `heapless::consts` module (e.g. `U8`, `U64` etc.). The [`heapless::IndexMap` documentation][indexMap] of the `heapless` crate has some usage examples, as does the [`heapless::Vec` documentation][vec].
[indexMap]: https://docs.rs/heapless/0.5.5/heapless/struct.IndexMap.html
[vec]: https://docs.rs/heapless/0.5.5/heapless/struct.Vec.html