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:
- 6:c411a45697f6
- Parent:
- 5:3110b9209d3c
diff -r 3110b9209d3c -r c411a45697f6 motordriver.cpp
--- a/motordriver.cpp Thu Nov 25 13:34:15 2010 +0000
+++ b/motordriver.cpp Fri Jun 14 09:04:03 2019 +0000
@@ -45,7 +45,15 @@
Brakeable= brakeable;
sign = 0;//i.e nothing.
}
-
+float Motor::speed(float speed) {
+ float temp = 0;
+ _fwd = (speed > 0.0);
+ _rev = (speed < 0.0);
+ temp = abs(speed);
+ _pwm = temp;
+ return temp;
+}
+/*
float Motor::speed(float speed) {
float temp = 0;
if (sign == 0) {
@@ -86,7 +94,7 @@
sign = 0;
}
return temp;
-}
+}*/
// (additions)
void Motor::coast(void) {
_fwd = 0;
@@ -120,6 +128,19 @@
return -3;//error
}
+float Motor::direction(void) {
+ if ((_fwd == _rev) && (_pwm > 0)) {
+ return -2;//braking
+ } else if (_pwm == 0) {
+ return 2;//coasting
+ } else if ((_fwd == 0) && (_rev == 1)) {
+ return -1;//reversing
+ } else if ((_fwd == 1) && (_rev == 0)) {
+ return 1;//fowards
+ } else
+ return -3;//error
+}
+
/*
test code, this demonstrates working motor drivers.