Simple LMD18200 Motor Driver Breakout Board Library

Committer:
electromotivated
Date:
Fri Jan 01 20:40:15 2016 +0000
Revision:
0:52968fafce73
Upload;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
electromotivated 0:52968fafce73 1 #include "LMD18200.h"
electromotivated 0:52968fafce73 2 #include <algorithm>
electromotivated 0:52968fafce73 3
electromotivated 0:52968fafce73 4 LMD18200::LMD18200(PinName pwm, PinName dir) : speed(pwm), direction(dir){
electromotivated 0:52968fafce73 5 speed = 0.0;
electromotivated 0:52968fafce73 6 direction = 0;
electromotivated 0:52968fafce73 7 }
electromotivated 0:52968fafce73 8
electromotivated 0:52968fafce73 9 void LMD18200::setSpeed(float spd){
electromotivated 0:52968fafce73 10 spd = clip(spd, 0.0, 1.0); // Clamp value
electromotivated 0:52968fafce73 11 speed = spd; // Set PWM Speed
electromotivated 0:52968fafce73 12 }
electromotivated 0:52968fafce73 13
electromotivated 0:52968fafce73 14 void LMD18200::setDirection(int dir){
electromotivated 0:52968fafce73 15 direction = dir;
electromotivated 0:52968fafce73 16 }
electromotivated 0:52968fafce73 17
electromotivated 0:52968fafce73 18 /*
electromotivated 0:52968fafce73 19 Clips value to lower/ uppper
electromotivated 0:52968fafce73 20 @param value The value to clip
electromotivated 0:52968fafce73 21 @param lower The mininum allowable value
electromotivated 0:52968fafce73 22 @param upper The maximum allowable value
electromotivated 0:52968fafce73 23 @return The resulting clipped value
electromotivated 0:52968fafce73 24 */
electromotivated 0:52968fafce73 25 float LMD18200::clip(float value, float lower, float upper){
electromotivated 0:52968fafce73 26 return std::max(lower, std::min(value, upper));
electromotivated 0:52968fafce73 27 }