3 This file is part of the MSP Märklin suite
4 Copyright © 2010 Mikkosoft Productions, Mikko Rasa
5 Distributed under the GPL
11 static inline void __attribute__((always_inline)) delay_loop8(uint8_t count)
21 static inline void __attribute__((always_inline)) delay_loop16(uint16_t count)
24 "1: sbiw %0, 1" "\n\t"
31 static inline void __attribute__((always_inline)) delay_us(uint16_t us)
33 uint16_t clocks = F_CPU/1000000*us;
35 delay_loop8(clocks/3);
37 delay_loop16(clocks/4);
40 static inline void __attribute__((always_inline)) delay_ms(uint16_t ms)
42 if(ms<0x40000/(F_CPU/1000))
43 delay_loop16(F_CPU/1000*ms/4);
48 delay_loop16(F_CPU/40000);