Dominik Święch
/
AktalnyCZOSN
main + engine
Embed:
(wiki syntax)
Show/hide line numbers
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 }
Generated on Fri Aug 19 2022 18:21:51 by 1.7.2