Justyna Guzik
/
golonkaczosniur
Fork of JakKrisowy_ by
Engine.cpp@2:d1dec651ff13, 2016-07-19 (annotated)
- Committer:
- jguzik
- Date:
- Tue Jul 19 13:10:16 2016 +0000
- Revision:
- 2:d1dec651ff13
- Parent:
- 0:f3a3f80e3202
Who changed what in which revision?
User | Revision | Line number | New 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 | } |