mirror of
https://github.com/ferrous-systems/embedded-trainings-2020.git
synced 2024-05-19 08:48:17 +00:00
Merge branch 'master' of github.com:ferrous-systems/embedded-trainings-2020 into edit-book
This commit is contained in:
commit
3d8d121f23
16
.github/workflows/rust.yml
vendored
16
.github/workflows/rust.yml
vendored
|
@ -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
|
|
@ -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, ...)
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue