]> git.tdb.fi Git - model-railway-devices.git/blobdiff - firmware/timer.c
Reorganize the directory structure
[model-railway-devices.git] / firmware / timer.c
diff --git a/firmware/timer.c b/firmware/timer.c
deleted file mode 100644 (file)
index 99625f8..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-#include <avr/io.h>
-#include "timer.h"
-
-#define BIT(n) (1<<(n))
-
-static void timer_start(uint8_t num, uint32_t period)
-{
-       uint8_t cs;
-
-       if(num==0)
-       {
-               if(period<0x100)
-               {
-                       cs = BIT(CS00);
-               }
-               else if(period<0x800)
-               {
-                       cs = BIT(CS01);
-                       period /= 8;
-               }
-               else if(period<0x4000)
-               {
-                       cs = BIT(CS01) | BIT(CS00);
-                       period /= 64;
-               }
-               else if(period<0x10000)
-               {
-                       cs = BIT(CS02);
-                       period /= 256;
-               }
-               else
-               {
-                       cs = BIT(CS02) | BIT(CS00);
-                       period /= 1024;
-                       if(period>0xFF)
-                               period = 0xFF;
-               }
-               TCCR0A = BIT(WGM01);
-               TCCR0B = cs;
-               OCR0A = period;
-               TIMSK0 = BIT(OCIE0A);
-       }
-       if(num==1)
-       {
-               if(period<0x10000)
-               {
-                       cs = BIT(CS10);
-               }
-               else if(period<0x80000)
-               {
-                       cs = BIT(CS11);
-                       period /= 8;
-               }
-               else if(period<0x400000)
-               {
-                       cs = BIT(CS11) | BIT(CS10);
-                       period /= 64;
-               }
-               else if(period<0x1000000)
-               {
-                       cs = BIT(CS12);
-                       period /= 256;
-               }
-               else
-               {
-                       cs = BIT(CS12) | BIT(CS10);
-                       period /= 1024;
-                       if(period>0xFFFF)
-                               period = 0xFFFF;
-               }
-               TCCR1A = 0;
-               TCCR1B = BIT(WGM12) | cs;
-               OCR1AH = period>>8;
-               OCR1AL = period;
-               TIMSK1 = BIT(OCIE1A);
-       }
-}
-
-void timer_start_hz(uint8_t num, uint32_t freq_p, uint8_t freq_q)
-{
-       timer_start(num, F_CPU*freq_q/freq_p);
-}
-
-void timer_start_us(uint8_t num, uint32_t us)
-{
-       timer_start(num, F_CPU/1000000*us);
-}
-
-void timer_stop(uint8_t num)
-{
-       if(num==0)
-       {
-               TCCR0B = 0;
-               TIMSK0 = 0;
-       }
-       else if(num==1)
-       {
-               TCCR1B = 0;
-               TIMSK1 = 0;
-       }
-}