nowe + funkcje

Dependencies:   Servo

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Engine.cpp Source File

Engine.cpp

00001 #include "Engine.h"
00002 
00003 // przelicza procenty na pwn:
00004 // - wartosc poczatkowa - 0.2377,
00005 // - prog - 0.0077
00006 float Engine::getPwm(float speed){
00007     if (speed == 0)
00008         return 0;
00009     else if (speed > 0)
00010         return 0.2377f + (fabs(speed) - 1) * 0.0077f;
00011     else
00012         return 0.406f + (fabs(speed) - 1) * 0.006f;
00013     }
00014 
00015 void Engine::move(int speed){
00016     if (speed > 100)
00017         speed =100;
00018     else if (speed < -100)
00019         speed = -100;
00020     
00021     if (speed == 0){
00022         //soft stop
00023         _fwd = 0;
00024         _rev = 0;
00025         return;
00026         }
00027             
00028     if (speed < 0){
00029         _fwd = 0;
00030         _rev = 1;
00031         }
00032         
00033     else{
00034         _fwd = 1;
00035         _rev = 0;
00036         }
00037     
00038     _pwm = getPwm(speed);
00039 }
00040 
00041 //hard stop
00042 void Engine::stop(){
00043     _pwm = 0;
00044 }