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 */