Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: motordriver.cpp
- Revision:
- 2:2dc873322032
- Parent:
- 1:3da7302dc9ae
- Child:
- 3:8822f4955035
diff -r 3da7302dc9ae -r 2dc873322032 motordriver.cpp
--- a/motordriver.cpp Thu Nov 11 15:32:55 2010 +0000
+++ b/motordriver.cpp Fri Nov 19 12:32:06 2010 +0000
@@ -46,30 +46,36 @@
sign = 0;//i.e nothing.
}
-void Motor::speed(float speed) {
+float Motor::speed(float speed) {
+ float temp = 0;
if (sign == 0) {
_fwd = (speed > 0.0);
_rev = (speed < 0.0);
- _pwm = abs(speed);
+ temp = abs(speed);
+ _pwm = temp;
} else if (sign == 1) {
if (speed < 0) {
_fwd = (speed > 0.0);
_rev = (speed < 0.0);
_pwm = 0;
+ temp = 0;
} else {
_fwd = (speed > 0.0);
_rev = (speed < 0.0);
- _pwm = abs(speed);
+ temp = abs(speed);
+ _pwm = temp;
}
} else if (sign == -1) {
if (speed > 0) {
_fwd = (speed > 0.0);
_rev = (speed < 0.0);
_pwm = 0;
+ temp = 0;
} else {
_fwd = (speed > 0.0);
_rev = (speed < 0.0);
- _pwm = abs(speed);
+ temp = abs(speed);
+ _pwm = temp;
}
}
if (speed > 0)
@@ -79,7 +85,7 @@
} else if (speed == 0) {
sign = 0;
}
-
+ return temp;
}
// (additions)
void Motor::coast(void) {
@@ -89,14 +95,15 @@
sign = 0;
}
-void Motor::stop(void) {
+float Motor::stop(float duty) {
if (Brakeable == 1) {
_fwd = 1;
_rev = 1;
- _pwm = 0.5;
+ _pwm = duty;
sign = 0;
+ return duty;
} else
- return;
+ return 0;
}
/*