diff --git a/scheduler/include/scheduler.h b/scheduler/include/scheduler.h index 40b835104285c1c424fd69d12353fc00fb5b77f0..69c5399691d50890e9ca5acec2932dd08e569044 100644 --- a/scheduler/include/scheduler.h +++ b/scheduler/include/scheduler.h @@ -45,6 +45,8 @@ typedef struct{ void (* set_pulse)(unsigned short int,unsigned short int,unsigned char); }TScheduler; +unsigned int scheduler_get_channel(sched_channel_t channel_id); +sched_channel_t scheduler_get_id(unsigned int id); void scheduler_init(TScheduler *scheduler,unsigned char num_channels, unsigned short int prescaler); void scheduler_interrupt(TScheduler *scheduler,sched_channel_t channel_id); unsigned short int scheduler_get_pulse(TScheduler *scheduler, sched_channel_t channel_id); diff --git a/scheduler/src/scheduler.c b/scheduler/src/scheduler.c index a7501520384d9cd7af5c2fb34c72ddd4f947052c..9dcbb906092429142011cbc77263272f86cb8dfe 100644 --- a/scheduler/src/scheduler.c +++ b/scheduler/src/scheduler.c @@ -20,6 +20,18 @@ unsigned int scheduler_get_channel(sched_channel_t channel_id) } } +sched_channel_t scheduler_get_id(unsigned int id) +{ + switch(id) + { + case TIM_CHANNEL_1: return SCHED_CH1; + case TIM_CHANNEL_2: return SCHED_CH2; + case TIM_CHANNEL_3: return SCHED_CH3; + case TIM_CHANNEL_4: return SCHED_CH4; + default: return SCHED_CH1; + } +} + void scheduler_init(TScheduler *scheduler,unsigned char num_channels, unsigned short int prescaler) { unsigned char i=0;