From 6682a51aae951e9208aba264ab3a09320681af78 Mon Sep 17 00:00:00 2001 From: Sergi Hernandez Juan <shernand@iri.upc.edu> Date: Tue, 17 Mar 2020 22:29:52 +0100 Subject: [PATCH] Made public functions to convert between scheduler channel id and timer channel id. --- scheduler/include/scheduler.h | 2 ++ scheduler/src/scheduler.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/scheduler/include/scheduler.h b/scheduler/include/scheduler.h index 40b8351..69c5399 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 a750152..9dcbb90 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; -- GitLab