The following features are implemented as of now:
- Port digital IO: Digital input and output using
embedded-haltraits. Examples can be found in the port module.
- Port PWM: Using the 4 builtin timers, pwm can be configured for a few pins. For more info, take a look at the timer module.
- Delay: Delay using a busy loop. Implementation taken from the ArduinoCore library. Examples in the delay module.
Because a lot of times you need to exchange data between your application code and interrupt handlers, this crate contains a safe abstraction for globals. While a global is accessed interrupts are disabled, so you don't need to worry about data races. For more info, take a look at the global module.
Delay using a busy loop
Global variable abstraction