diff --git a/include/arch.h b/include/arch.h index b588e66f901b0f5a2fbdb24bb52a5f8061741342..70bc41c271148385503d381ff7ec4e5524b96748 100644 --- a/include/arch.h +++ b/include/arch.h @@ -9,6 +9,7 @@ class Arch { Arch () {} void setup(); void idle_loop(); + void delay_us(unsigned char const us); }; extern Arch arch; diff --git a/src/arch/arduino-nano/arch.cc b/src/arch/arduino-nano/arch.cc index f35cb1dd378bea3b8f5e229eb93918ad093ce4f8..16d09fb33708701c3678ba7b930e836ed9835e27 100644 --- a/src/arch/arduino-nano/arch.cc +++ b/src/arch/arduino-nano/arch.cc @@ -1,6 +1,7 @@ #include "arch.h" #include <avr/io.h> #include <avr/interrupt.h> +#include <util/delay.h> void Arch::setup(void) { @@ -54,6 +55,11 @@ void Arch::idle_loop(void) } } +void Arch::delay_us(unsigned char const us) +{ + __builtin_avr_delay_cycles(1600); +} + Arch arch; #if defined(WITH_LOOP) || defined(TIMER_S)