Czosnekengine

Dependencies:   mbed

Committer:
yruiewyrui3
Date:
Wed May 18 12:08:19 2016 +0000
Revision:
0:a0c8b50a7292
losowo przod i tyl

Who changed what in which revision?

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