Simple LMD18200 Motor Driver Breakout Board Library
Diff: LMD18200.cpp
- Revision:
- 0:52968fafce73
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/LMD18200.cpp Fri Jan 01 20:40:15 2016 +0000
@@ -0,0 +1,27 @@
+#include "LMD18200.h"
+#include <algorithm>
+
+LMD18200::LMD18200(PinName pwm, PinName dir) : speed(pwm), direction(dir){
+ speed = 0.0;
+ direction = 0;
+}
+
+void LMD18200::setSpeed(float spd){
+ spd = clip(spd, 0.0, 1.0); // Clamp value
+ speed = spd; // Set PWM Speed
+}
+
+void LMD18200::setDirection(int dir){
+ direction = dir;
+}
+
+/*
+ Clips value to lower/ uppper
+ @param value The value to clip
+ @param lower The mininum allowable value
+ @param upper The maximum allowable value
+ @return The resulting clipped value
+*/
+float LMD18200::clip(float value, float lower, float upper){
+ return std::max(lower, std::min(value, upper));
+}