diff --git a/src/hal.c b/src/hal.c index 0c863410..45161647 100644 --- a/src/hal.c +++ b/src/hal.c @@ -137,16 +137,16 @@ void start_hal(){ if(hal.frt_func_count > 0){ start_frt(); - TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); // enable frt + enable_frt(); } - TIM_Cmd(TIM2, ENABLE); // enable rt + enable_rt(); } void stop_hal(){ stop_frt(); stop_rt(); - TIM_ITConfig(TIM2, TIM_IT_Update, DISABLE); // disable frt - TIM_Cmd(TIM2, DISABLE); // disable rt + disable_frt(); + disable_rt(); for(; hal.rt_deinit_func_count > 0; hal.rt_deinit_func_count--){ hal.rt_deinit[hal.rt_deinit_func_count - 1](); } @@ -270,9 +270,6 @@ int link_hal_pins(HPNAME source, HPNAME sink){ s = find_hal_pin(sink); if(d != 0 && s != 0){ - // if(s->source != s){ - // printf_("relink %s:%i -> %s:%i to %s:%i -> %s:%i\n", s->source->name, s->source, sink, s, source, d, sink, s); - // } s->value = s->source->source->value; s->source = d; return(1); diff --git a/src/hal.h b/src/hal.h index 48dfce67..fe7e66a1 100644 --- a/src/hal.h +++ b/src/hal.h @@ -18,9 +18,7 @@ * along with this program. If not, see . */ -#include "scanf.h" -#include "printf.h" -#include "stm32f4xx_conf.h" +#include #pragma once @@ -153,6 +151,10 @@ int link_hal_pins(HPNAME source, HPNAME sink); void add_comp(struct hal_comp* comp); +extern void enable_rt(); +extern void enable_frt(); +extern void disable_rt(); +extern void disable_frt(); #define COMP(type) \ { \ diff --git a/src/main.c b/src/main.c index f76c2f04..93e7ae5c 100644 --- a/src/main.c +++ b/src/main.c @@ -41,6 +41,20 @@ int __errno; volatile double systime_s = 0.0; void Wait(unsigned int ms); +//hal interface +void enable_rt(){ + TIM_Cmd(TIM2, ENABLE); +} +void enable_frt(){ + TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); +} +void disable_rt(){ + TIM_Cmd(TIM2, DISABLE); +} +void disable_frt(){ + TIM_ITConfig(TIM2, TIM_IT_Update, DISABLE); +} + //20kHz void TIM2_IRQHandler(void){ TIM_ClearITPendingBit(TIM2,TIM_IT_Update);