2017 hongo b team
Dependents: CtrlMD 2017_Bteam_alpha_slave
TS120.cpp
00001 #include "TS120.h" 00002 00003 TS120::TS120(PinName pwm_pin, bool _dir_flip, double _flont_range, double _back_range) 00004 : pwm_out(pwm_pin) 00005 { 00006 dir_flip = _dir_flip; 00007 flont_range = _flont_range; 00008 back_range = _back_range; 00009 00010 drive(0); 00011 wait_ms(100); 00012 } 00013 00014 void TS120::drive(double _pwm) 00015 { 00016 double pwm = _pwm; 00017 00018 if(dir_flip == true) 00019 pwm *= -1; 00020 00021 if(_pwm > 0.0) 00022 pwm *= flont_range; 00023 else 00024 pwm *= back_range; 00025 00026 int pwm_us = (int)((pwm_max - pwm_min) / 2) * (pwm + 1) + pwm_min; 00027 00028 pwm_out.pulsewidth_us(pwm_us); 00029 } 00030 00031 void TS120::drive(signed int _pwm, unsigned int max_pwm_abs) 00032 { 00033 00034 double pwm = (double)((1 / max_pwm_abs) * _pwm); 00035 00036 if(dir_flip == true) 00037 pwm *= -1; 00038 00039 if(pwm > 0.0) 00040 pwm *= flont_range; 00041 else 00042 pwm *= back_range; 00043 00044 int pwm_us = (int)((pwm_max - pwm_min) / 2) * (pwm + 1) + pwm_min; 00045 00046 pwm_out.pulsewidth_us(pwm_us); 00047 }
Generated on Thu Jul 14 2022 20:47:47 by 1.7.2