diff --git a/embedded-workshop-book/src/bsc-exercise.md b/embedded-workshop-book/src/bsc-exercise.md index cb603da..6aa4dbe 100644 --- a/embedded-workshop-book/src/bsc-exercise.md +++ b/embedded-workshop-book/src/bsc-exercise.md @@ -1,16 +1,19 @@ # BSC Exercise In this exercise you will learn how to write a board support crate. - +The bsc template will already contain the led and timer implementation. +The radio and USB/Power implementations will be deleted, because that just takes up unnecessary space and adds to confusion. ## Learning goals * implement buttons functionality +* uarte implementation * impl blocks, associated functions, methods * generate docs! ## Steps +### Write a button implementation * add field in the board struct * add struct for all buttons * add struct for the single button @@ -21,6 +24,14 @@ In this exercise you will learn how to write a board support crate. * add doc lines every where! * add methods in impl block: * detect button push - * add another... look at knurling book for inspiration + * debounce button function? like in knurling session, requires implementation of a second timer, just for this? +### Write Uarte implementation +* add field to the board struct +* add struct for the instance, how to figure out what the type of the inner field is +* create instance in init, add baudrate, parity etc. +* add to instantiation of board struct +* impl fmt::Write for the Uarte struct, simple write does not work because of dma +* example code with button is not a good idea for the simple button implementation. +I think this is plenty for an hour. \ No newline at end of file