X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=firmware%2Fdelay.h;fp=firmware%2Fdelay.h;h=0000000000000000000000000000000000000000;hb=14116fc9bbbd118f0be564c4e14ec00bfab26d24;hp=725d22b5b41fe6ce6bcf00eff5373ae847b533e3;hpb=679c37910ab4d8030b3c09f6591381789b14a5f0;p=r2c2.git diff --git a/firmware/delay.h b/firmware/delay.h deleted file mode 100644 index 725d22b..0000000 --- a/firmware/delay.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef DELAY_H_ -#define DELAY_H_ - -static inline void __attribute__((always_inline)) delay_loop8(uint8_t count) -{ - __asm__ volatile ( - "1: dec %0" "\n\t" - "brne 1b" - : "=r" (count) - : "0" (count) - ); -} - -static inline void __attribute__((always_inline)) delay_loop16(uint16_t count) -{ - __asm__ volatile ( - "1: sbiw %0, 1" "\n\t" - "brne 1b" - : "=r" (count) - : "0" (count) - ); -} - -static inline void __attribute__((always_inline)) delay_us(uint16_t us) -{ - uint16_t clocks = F_CPU/1000000*us; - if(clocks<768) - delay_loop8(clocks/3); - else - delay_loop16(clocks/4); -} - -static inline void __attribute__((always_inline)) delay_ms(uint16_t ms) -{ - if(ms<0x40000/(F_CPU/1000)) - delay_loop16(F_CPU/1000*ms/4); - else - { - uint16_t i = ms*10; - while(--i) - delay_loop16(F_CPU/40000); - } -} - -#endif