2017 hongo b team

Dependents:   CtrlMD 2017_Bteam_alpha_slave

Revision:
0:be058264e889
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TS120.cpp	Fri Sep 08 03:31:04 2017 +0000
@@ -0,0 +1,47 @@
+#include "TS120.h"
+
+TS120::TS120(PinName pwm_pin, bool _dir_flip, double _flont_range, double _back_range)
+:   pwm_out(pwm_pin)
+{
+    dir_flip = _dir_flip;
+    flont_range = _flont_range;
+    back_range = _back_range;
+    
+    drive(0);
+    wait_ms(100);
+}
+
+void TS120::drive(double _pwm)
+{
+    double pwm = _pwm;
+    
+    if(dir_flip == true)
+        pwm *= -1;
+        
+    if(_pwm > 0.0)
+        pwm *= flont_range;
+    else
+        pwm *= back_range;
+        
+    int pwm_us = (int)((pwm_max - pwm_min) / 2) * (pwm + 1) + pwm_min; 
+     
+    pwm_out.pulsewidth_us(pwm_us);  
+}
+
+void TS120::drive(signed int _pwm, unsigned int max_pwm_abs)
+{
+    
+    double pwm = (double)((1 / max_pwm_abs) * _pwm);
+    
+    if(dir_flip == true)
+        pwm *= -1;
+        
+    if(pwm > 0.0)
+        pwm *= flont_range;
+    else
+        pwm *= back_range;
+        
+    int pwm_us = (int)((pwm_max - pwm_min) / 2) * (pwm + 1) + pwm_min; 
+      
+    pwm_out.pulsewidth_us(pwm_us);
+}
\ No newline at end of file