void vMBMasterPortTimersConvertDelayEnable() { /* Set current timer mode, don't change it.*/ vMBMasterSetCurTimerMode(MB_TMODE_CONVERT_DELAY); chSysLockFromISR(); chVTResetI(&vtdelay); chVTSetI(&vtdelay, MS2ST((uint32_t)MB_MASTER_DELAY_MS_CONVERT), timer_timeout_ind, NULL); chSysUnlockFromISR(); }
void vMBMasterPortTimersRespondTimeoutEnable() { rt_tick_t timer_tick = MB_MASTER_TIMEOUT_MS_RESPOND * RT_TICK_PER_SECOND / 1000; /* Set current timer mode, don't change it.*/ vMBMasterSetCurTimerMode(MB_TMODE_RESPOND_TIMEOUT); rt_timer_control(&timer, RT_TIMER_CTRL_SET_TIME, &timer_tick); rt_timer_start(&timer); }
void vMBMasterPortTimersConvertDelayEnable() { rt_tick_t timer_tick = MB_MASTER_DELAY_MS_CONVERT * RT_TICK_PER_SECOND / 1000; /* Set current timer mode, don't change it.*/ vMBMasterSetCurTimerMode(MB_TMODE_CONVERT_DELAY); rt_timer_control(&timer, RT_TIMER_CTRL_SET_TIME, &timer_tick); rt_timer_start(&timer); }
void vMBMasterPortTimersT35Enable() { rt_tick_t timer_tick = (50 * usT35TimeOut50us) / (1000 * 1000 / RT_TICK_PER_SECOND); /* Set current timer mode, don't change it.*/ vMBMasterSetCurTimerMode(MB_TMODE_T35); rt_timer_control(&timer, RT_TIMER_CTRL_SET_TIME, &timer_tick); rt_timer_start(&timer); }
void vMBMasterPortTimersT35Enable() { //chprintf((BaseSequentialStream *)&itm_port, "%s\n", "T35 Enable"); /* Set current timer mode, don't change it.*/ vMBMasterSetCurTimerMode(MB_TMODE_T35); palSetPad(GPIOC, GPIOC_PIN9); chSysLockFromISR(); chVTResetI(&vt35); chVTSetI(&vt35, US2ST((uint32_t)2000), timer_timeout_ind, NULL); chSysUnlockFromISR(); }
void vMBMasterPortTimersConvertDelayEnable() { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; /* Set current timer mode,don't change it.*/ vMBMasterSetCurTimerMode(MB_TMODE_CONVERT_DELAY); TIM_TimeBaseStructure.TIM_Prescaler = usPrescalerValue; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseStructure.TIM_Period = (uint16_t)(MB_MASTER_DELAY_MS_CONVERT * 1000 / 50); TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); TIM_ClearITPendingBit(TIM2, TIM_IT_Update); TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); TIM_SetCounter(TIM2, 0); TIM_Cmd(TIM2, ENABLE); }
void vMBMasterPortTimersT35Enable() { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; /* Set current timer mode,don't change it.*/ vMBMasterSetCurTimerMode(MB_TMODE_T35); TIM_TimeBaseStructure.TIM_Prescaler = usPrescalerValue; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseStructure.TIM_Period = (uint16_t) usT35TimeOut50us; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); TIM_ClearITPendingBit(TIM2, TIM_IT_Update); TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); TIM_SetCounter(TIM2, 0); TIM_Cmd(TIM2, ENABLE); }
void vMBMasterPortTimersRespondTimeoutEnable() { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; /* Set current timer mode,don't change it.*/ vMBMasterSetCurTimerMode(MB_TMODE_RESPOND_TIMEOUT); TIM_TimeBaseStructure.TIM_Prescaler = usPrescalerValue; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseStructure.TIM_Period = (uint16_t)(MB_MASTER_TIMEOUT_MS_RESPOND * 1000 / 50); TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); TIM_ClearITPendingBit(TIM2, TIM_IT_Update); TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); TIM_SetCounter(TIM2, 0); TIM_Cmd(TIM2, ENABLE); }