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;