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.
Dependencies: mbed ESC SR04 TSI
Diff: motor/motor.cpp
- Revision:
- 33:6b25a5721a20
- Parent:
- 30:17297295ce0c
diff -r 17297295ce0c -r 6b25a5721a20 motor/motor.cpp --- a/motor/motor.cpp Sun Jun 09 04:14:21 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -/****************************** motor.cpp ********************************/ -/* Version: 1.0 */ -/* Last Updated: June 1, 2013 */ -/* */ -/* The motor class is used for motor control using a PWM ECS. When a */ -/*a motor object is created you must pass the PWM pin as the only */ -/*argument. */ -/*************************************************************************/ - -#include "motor.h" - -/************************** motor( PinName ) *****************************/ -/* The motor constructor takes the pin to be used as for PWM and sets it */ -/*to default safe valuse. */ -/*************************************************************************/ - -motor::motor( PinName pin ) : _pwm(pin) -{ - _pwm.period( 0.020 ); // Set the period to 20ms. - setPulseMin( 0.001150 ); // Set default min pulse. - setPulseMax( 0.002 ); // Set default max pulse. - setSpeed( 0 ); // Set motor to stopped. -} - -/************************** setSpeed( int ) ******************************/ -/* Set speed takes an int value between 0 and 100 and sets the speed of */ -/*the motor based on passed in percent value of speed. */ -/*************************************************************************/ - -void motor::setSpeed( int value ) -{ - // Is the value to small? - if( value < 0 ) // Yup, just set to 0. - currentSpeed = 0; - - // Is the value to large? - else if( value > 100 ) // Yup, just set to 100. - currentSpeed = 100; - - // Value must be in the correct range. - else - currentSpeed = value; // Set the new value. - - // Calculate the value based on pulseMin, pulseMax and currentSpeed. - pulse = ((pulseMax - pulseMin ) / 100 * currentSpeed ) + pulseMin; - _pwm.pulsewidth( pulse ); // Write the pulse to the pin. -} - -/************************** setPulseMin( float ) *************************/ -/* */ -/*************************************************************************/ - -void motor::setPulseMin( float value ) -{ - pulseMin = value; -} - -/************************** setPulseMax( float ) *************************/ -/* */ -/*************************************************************************/ - -void motor::setPulseMax( float value ) -{ - pulseMax = value; -} - -/*************************** float getPulse( ) ***************************/ -/* Get the current pulse value. */ -/*************************************************************************/ - -float motor::getPulse( void ) -{ - return pulse; -} \ No newline at end of file