Dependencies:   HCSR Ser mbed

Fork of JakKrisowy_ by Dominik Święch

Committer:
jguzik
Date:
Tue Jul 19 13:10:16 2016 +0000
Revision:
2:d1dec651ff13
Parent:
0:f3a3f80e3202

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yruiewyrui3 0:f3a3f80e3202 1 #include "Engine.h"
yruiewyrui3 0:f3a3f80e3202 2
yruiewyrui3 0:f3a3f80e3202 3 // przelicza procenty na pwn:
yruiewyrui3 0:f3a3f80e3202 4 // - wartosc poczatkowa - 0.2377,
yruiewyrui3 0:f3a3f80e3202 5 // - prog - 0.0077
yruiewyrui3 0:f3a3f80e3202 6 float Engine::getPwm(float speed){
yruiewyrui3 0:f3a3f80e3202 7 if (speed == 0)
yruiewyrui3 0:f3a3f80e3202 8 return 0;
yruiewyrui3 0:f3a3f80e3202 9 else if (speed > 0)
yruiewyrui3 0:f3a3f80e3202 10 return 0.2377f + (fabs(speed) - 1) * 0.0077f;
yruiewyrui3 0:f3a3f80e3202 11 else
yruiewyrui3 0:f3a3f80e3202 12 return 0.406f + (fabs(speed) - 1) * 0.006f;
yruiewyrui3 0:f3a3f80e3202 13 }
yruiewyrui3 0:f3a3f80e3202 14
yruiewyrui3 0:f3a3f80e3202 15 void Engine::move(int speed){
yruiewyrui3 0:f3a3f80e3202 16 if (speed > 100)
yruiewyrui3 0:f3a3f80e3202 17 speed =100;
yruiewyrui3 0:f3a3f80e3202 18 else if (speed < -100)
yruiewyrui3 0:f3a3f80e3202 19 speed = -100;
yruiewyrui3 0:f3a3f80e3202 20
yruiewyrui3 0:f3a3f80e3202 21 if (speed == 0){
yruiewyrui3 0:f3a3f80e3202 22 //soft stop
yruiewyrui3 0:f3a3f80e3202 23 _fwd = 0;
yruiewyrui3 0:f3a3f80e3202 24 _rev = 0;
yruiewyrui3 0:f3a3f80e3202 25 return;
yruiewyrui3 0:f3a3f80e3202 26 }
yruiewyrui3 0:f3a3f80e3202 27
yruiewyrui3 0:f3a3f80e3202 28 if (speed < 0){
yruiewyrui3 0:f3a3f80e3202 29 _fwd = 0;
yruiewyrui3 0:f3a3f80e3202 30 _rev = 1;
yruiewyrui3 0:f3a3f80e3202 31 }
yruiewyrui3 0:f3a3f80e3202 32
yruiewyrui3 0:f3a3f80e3202 33 else{
yruiewyrui3 0:f3a3f80e3202 34 _fwd = 1;
yruiewyrui3 0:f3a3f80e3202 35 _rev = 0;
yruiewyrui3 0:f3a3f80e3202 36 }
yruiewyrui3 0:f3a3f80e3202 37
yruiewyrui3 0:f3a3f80e3202 38 _pwm = getPwm(speed);
yruiewyrui3 0:f3a3f80e3202 39 }
yruiewyrui3 0:f3a3f80e3202 40
yruiewyrui3 0:f3a3f80e3202 41 //hard stop
yruiewyrui3 0:f3a3f80e3202 42 void Engine::stop(){
yruiewyrui3 0:f3a3f80e3202 43 _pwm = 0;
yruiewyrui3 0:f3a3f80e3202 44 }