Robert Zalog / Mbed 2 deprecated hermes_copy

Dependencies:   mbed QEI beep

Committer:
rzalog
Date:
Sun May 05 00:02:11 2019 +0000
Revision:
0:7a97ebb833eb
test commit;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rzalog 0:7a97ebb833eb 1 #include "motors.h"
rzalog 0:7a97ebb833eb 2 #include "mbed.h"
rzalog 0:7a97ebb833eb 3 #include "pins.h"
rzalog 0:7a97ebb833eb 4
rzalog 0:7a97ebb833eb 5 PwmOut m_RF(MOTOR_RF);
rzalog 0:7a97ebb833eb 6 PwmOut m_RB(MOTOR_RB);
rzalog 0:7a97ebb833eb 7 PwmOut m_LF(MOTOR_LF);
rzalog 0:7a97ebb833eb 8 PwmOut m_LB(MOTOR_LB);
rzalog 0:7a97ebb833eb 9
rzalog 0:7a97ebb833eb 10 /***
rzalog 0:7a97ebb833eb 11 * Assignment 2
rzalog 0:7a97ebb833eb 12 *
rzalog 0:7a97ebb833eb 13 * Add logic to set the PWM based on postiive/negative number.
rzalog 0:7a97ebb833eb 14 ***/
rzalog 0:7a97ebb833eb 15
rzalog 0:7a97ebb833eb 16 void Motors::setMotorPwm(int motor, float pwm) {
rzalog 0:7a97ebb833eb 17 if (abs(pwm) > MAX_SPEED) {
rzalog 0:7a97ebb833eb 18 if (pwm > 0) pwm = MAX_SPEED;
rzalog 0:7a97ebb833eb 19 else if (pwm < 0) pwm = -MAX_SPEED;
rzalog 0:7a97ebb833eb 20 }
rzalog 0:7a97ebb833eb 21 else if (abs(pwm) < MIN_SPEED) {
rzalog 0:7a97ebb833eb 22 if (pwm > 0) pwm = MIN_SPEED;
rzalog 0:7a97ebb833eb 23 else if (pwm < 0) pwm = -MIN_SPEED;
rzalog 0:7a97ebb833eb 24 }
rzalog 0:7a97ebb833eb 25
rzalog 0:7a97ebb833eb 26 // Use the "PwmOut" objects defined above
rzalog 0:7a97ebb833eb 27 // Hint: Stop your backwards/forward motor before going forward/backwards.
rzalog 0:7a97ebb833eb 28 if (pwm > 0) {
rzalog 0:7a97ebb833eb 29 if (motor == RIGHT_MOTOR) {
rzalog 0:7a97ebb833eb 30 m_RB = 0.f;
rzalog 0:7a97ebb833eb 31 m_RF = pwm;
rzalog 0:7a97ebb833eb 32 } else {
rzalog 0:7a97ebb833eb 33 m_LB = 0.f;
rzalog 0:7a97ebb833eb 34 m_LF = pwm;
rzalog 0:7a97ebb833eb 35 }
rzalog 0:7a97ebb833eb 36 } else {
rzalog 0:7a97ebb833eb 37 if (motor == RIGHT_MOTOR) {
rzalog 0:7a97ebb833eb 38 m_RF = 0.f;
rzalog 0:7a97ebb833eb 39 m_RB = abs(pwm);
rzalog 0:7a97ebb833eb 40 } else {
rzalog 0:7a97ebb833eb 41 m_LF = 0.f;
rzalog 0:7a97ebb833eb 42 m_LB = abs(pwm);
rzalog 0:7a97ebb833eb 43 }
rzalog 0:7a97ebb833eb 44 }
rzalog 0:7a97ebb833eb 45 }
rzalog 0:7a97ebb833eb 46
rzalog 0:7a97ebb833eb 47 Motors::Motors() {
rzalog 0:7a97ebb833eb 48 // DO NOT initialize PWM!!! It breaks the mouse.
rzalog 0:7a97ebb833eb 49 }
rzalog 0:7a97ebb833eb 50
rzalog 0:7a97ebb833eb 51 void Motors::stop() {
rzalog 0:7a97ebb833eb 52 setRightPwm(0);
rzalog 0:7a97ebb833eb 53 setLeftPwm(0);
rzalog 0:7a97ebb833eb 54 }
rzalog 0:7a97ebb833eb 55
rzalog 0:7a97ebb833eb 56 void Motors::setRightPwm(float pwm) {
rzalog 0:7a97ebb833eb 57 m_rpwm = pwm;
rzalog 0:7a97ebb833eb 58 setMotorPwm(RIGHT_MOTOR, pwm);
rzalog 0:7a97ebb833eb 59 }
rzalog 0:7a97ebb833eb 60
rzalog 0:7a97ebb833eb 61 void Motors::setLeftPwm(float pwm) {
rzalog 0:7a97ebb833eb 62 m_lpwm = pwm;
rzalog 0:7a97ebb833eb 63 setMotorPwm(LEFT_MOTOR, pwm);
rzalog 0:7a97ebb833eb 64 }
rzalog 0:7a97ebb833eb 65
rzalog 0:7a97ebb833eb 66