The unified diff between revisions [23a3e9a5..] and [4f22e7ef..] 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 [23a3e9a50b4034343e3bd217d2c225dcaec064dd]
# new_revision [4f22e7ef7d3064e3b51a5b868a4722f3f13c747b]
#
# patch "timer.h"
#  from [c2e75d36a6314f29f490f12d9d98f4bb50b843fc]
#    to [35eaca1c3fe810fd864583e55e91ab518ea25bd5]
#
============================================================
--- timer.h	c2e75d36a6314f29f490f12d9d98f4bb50b843fc
+++ timer.h	35eaca1c3fe810fd864583e55e91ab518ea25bd5
@@ -1,19 +1,50 @@
 #ifndef __TIMER_H
 #define __TIMER_H
 
+#include "types.h"
+
 #define TIMER_PCLK 14745600
-#define TIMER_PRESCALE 0
+#define TIMER_PRESCALE 9215
+#define TIMER0_PRESCALE 0
 
 #define TIMER_SECOND (TIMER_PCLK/(TIMER_PRESCALE+1))
 #define TIMER_MS (TIMER_SECOND/1000)
 #define TIMER_US (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_CPPM_SYNC 40000
+
+#define TIMER_CH(x) (timer_map[x])
+
+extern volatile unsigned int timer0_width[];
+extern volatile unsigned int timer0_cppm[];
+extern unsigned int timer_map[];
+
 void init_timer(void);
 unsigned int timer_read(void);
 void timer_delay_clocks(unsigned int clocks);
 void timer_set_period(unsigned int period);
+void timer_set_pwm_value(int channel, int value);
+void timer_set_pwm_invalid(int channel);
+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) (timer0_cppm[TIMER_CH(ch)])
+#else
+#define timer_input(ch) (timer0_width[TIMER_CH(ch)])
+#endif
 #endif /* __TIMER_H */