16: added blocking delay functions r=robamu a=robamu
- DelayUs and DelayMs trait implementations for CountDown timer peripherals
- Tested using an oscilloscope to verify correct timing behaviour
- Bugfix for wait function
Co-authored-by: Robin Mueller <robin.mueller.m@gmail.com>
14: Added GPIO IRQ interface, refactoring r=robamu a=robamu
- Adds the IRQ interface to configure interrupts on output and input pins
- Moved the `FilterClkSel` struct to the `clock` module, reexporting in `gpio`
- Added function to set clock divisor registers
- Clearing output state at initialization of Output pins
- Added utility function to set up millisecond timer with `TIM0`
Co-authored-by: Robin Mueller <robin.mueller.m@gmail.com>
- Adds the IRQ interface to configure interrupts on output and input pins
- Moved the `FilterClkSel` struct to the `clock` module, reexporting in `gpio`
- Added function to set clock divisor registers
- Clearing output state at initialization of Output pins
- Added utility function to set up millisecond timer
12: Refactored GPIO module r=robamu a=robamu
- The GPIO module uses type-level programming now
- Implementation heavily based on the ATSAMD GPIO HAL:
https://docs.rs/atsamd-hal/0.13.0/atsamd_hal/gpio/v2/index.html
- Changes to API, but no passing of peripheral references necessary
anymore. All examples and tests updated accordingly
Co-authored-by: Robin Mueller <robin.mueller.m@gmail.com>
- The GPIO module uses type-level programming now
- Implementation heavily based on the ATSAMD GPIO HAL:
https://docs.rs/atsamd-hal/0.13.0/atsamd_hal/gpio/v2/index.html
- Changes to API, but no passing of peripheral references necessary
anymore. All examples and tests updated accordingly
- Clock module to set and retrieve system clock which can have
varying frequencies. Also allows enabling peripheral clocks
- Prelude updated
- Common time types added, based on stm32f1xx HAL implementation
- Basic timer implementation added