The unified diff between revisions [9f05a1eb..] and [9142f333..] is displayed below. It can also be downloaded as a raw diff.

This diff has been restricted to the following files: 'timer.h'

#
# old_revision [9f05a1eb606ea1c0421aa4a0b25b83b4fe4a20c8]
# new_revision [9142f3330490a5aa00c1686475633b620c2ef5e7]
#
# patch "timer.h"
#  from [22e6b547150be529a916f8f29060e07a0b1cd5a9]
#    to [77f91cb86b26421f2d28236d25d384e9a025e939]
#
============================================================
--- timer.h	22e6b547150be529a916f8f29060e07a0b1cd5a9
+++ timer.h	77f91cb86b26421f2d28236d25d384e9a025e939
@@ -3,26 +3,32 @@
 
 #include "types.h"
 
-#define TIMER_PCLK 14745600
-#define TIMER_PRESCALE 0
+#define TIMER_PCLK 58982400
+#define TIMER_PRESCALE 36863
+#define TIMER0_PRESCALE 3
 
 #define TIMER_SECOND (TIMER_PCLK/(TIMER_PRESCALE+1))
-#define TIMER_MS (TIMER_SECOND/1000)
-#define TIMER_US (TIMER_SECOND/1000000)
+/* Since we're using awkward numbers, this gives better accuracy */
+#define TIMER_MS(x) ((x) * TIMER_SECOND / 1000)
+#define TIMER_US(x) ((x) * TIMER_SECOND / 1000000)
 
+#define TIMER0_SECOND (TIMER_PCLK/(TIMER0_PRESCALE+1))
+#define TIMER0_MS (TIMER0_SECOND/1000)
+#define TIMER0_US (TIMER0_SECOND/1000000)
+
 #define PWM_MAX 14745
 #if 0
 #define PWM_PERIOD 58980
 #endif
 #define PWM_PERIOD ((4*PWM_MAX)+1)
 
-#define TIMER_INPUT_TIMEOUT (TIMER_PCLK/10)
+#define TIMER_INPUT_TIMEOUT (TIMER0_SECOND/10)
 #define TIMER_CPPM_SYNC 40000
 
 #define TIMER_CH(x) (timer_map[x])
 
-extern volatile unsigned int timer1_width[];
-extern volatile unsigned int timer1_cppm[];
+extern volatile unsigned int timer0_width[];
+extern volatile unsigned int timer0_cppm[];
 extern unsigned int timer_map[];
 
 void init_timer(void);
@@ -34,12 +40,12 @@ bool timer_allvalid(void);
 bool timer_valid(int channel);
 bool timer_allvalid(void);
 
-#define timer_delay_us(x) timer_delay_clocks((x)*TIMER_US)
-#define timer_delay_ms(x) timer_delay_clocks((x)*TIMER_MS)
+#define timer_delay_us(x) timer_delay_clocks((x)*TIMER0_US)
+#define timer_delay_ms(x) timer_delay_clocks((x)*TIMER0_MS)
 
 #ifdef TIMER_CPPM
-#define timer_input(ch) (timer1_cppm[TIMER_CH(ch)])
+#define timer_input(ch) (timer0_cppm[TIMER_CH(ch)])
 #else
-#define timer_input(ch) (timer1_width[TIMER_CH(ch)])
+#define timer_input(ch) (timer0_width[TIMER_CH(ch)])
 #endif
 #endif /* __TIMER_H */