v1

Dependencies:   PinDetect TextLCD mbed

Fork of SunflowerMach1 by Milan Draganic

Committer:
mdraganic
Date:
Sat Nov 09 13:44:18 2013 +0000
Revision:
3:bebfc64cefe4
Parent:
1:3500bf8487d0
Child:
4:03b68322905f
sve skupa i zajedno

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mdraganic 1:3500bf8487d0 1 #include "Motor.h"
mdraganic 1:3500bf8487d0 2
mdraganic 3:bebfc64cefe4 3 Motor::Motor(PinName positivePin, PinName negativePin, PinName pwmPin):
mdraganic 3:bebfc64cefe4 4 positiveOut(positivePin), negativeOut(negativePin), pwmOut(pwmPin) {
mdraganic 3:bebfc64cefe4 5
mdraganic 3:bebfc64cefe4 6 pwmOut.period(motorPwmPeriod);
mdraganic 3:bebfc64cefe4 7 pwmOut = motorPwmInitDutyCycle;
mdraganic 3:bebfc64cefe4 8
mdraganic 3:bebfc64cefe4 9 positiveOut = 0;
mdraganic 3:bebfc64cefe4 10 negativeOut = 0;
mdraganic 3:bebfc64cefe4 11
mdraganic 3:bebfc64cefe4 12 _isMoving = false;
mdraganic 1:3500bf8487d0 13 }
mdraganic 1:3500bf8487d0 14
mdraganic 1:3500bf8487d0 15 void Motor::movePositive() {
mdraganic 1:3500bf8487d0 16
mdraganic 1:3500bf8487d0 17 direction = 1;
mdraganic 1:3500bf8487d0 18 move();
mdraganic 1:3500bf8487d0 19 }
mdraganic 1:3500bf8487d0 20
mdraganic 1:3500bf8487d0 21 void Motor::moveNegative() {
mdraganic 1:3500bf8487d0 22
mdraganic 1:3500bf8487d0 23 direction = -1;
mdraganic 1:3500bf8487d0 24 move();
mdraganic 1:3500bf8487d0 25 }
mdraganic 1:3500bf8487d0 26
mdraganic 1:3500bf8487d0 27 void Motor::move() {
mdraganic 1:3500bf8487d0 28
mdraganic 1:3500bf8487d0 29 positiveOut = 0;
mdraganic 1:3500bf8487d0 30 negativeOut = 0;
mdraganic 1:3500bf8487d0 31
mdraganic 1:3500bf8487d0 32 switch(direction) {
mdraganic 1:3500bf8487d0 33 case 0:
mdraganic 1:3500bf8487d0 34 return;
mdraganic 1:3500bf8487d0 35 case 1:
mdraganic 1:3500bf8487d0 36 positiveOut = 1;
mdraganic 1:3500bf8487d0 37 break;
mdraganic 1:3500bf8487d0 38 case -1:
mdraganic 1:3500bf8487d0 39 negativeOut = 1;
mdraganic 1:3500bf8487d0 40 break;
mdraganic 1:3500bf8487d0 41 }
mdraganic 1:3500bf8487d0 42
mdraganic 3:bebfc64cefe4 43 for (float i = 1; i > 0; i -= motorPwmChangeSpeed) {
mdraganic 3:bebfc64cefe4 44 pwmOut = i;
mdraganic 3:bebfc64cefe4 45 wait(motorPwmWaitTime);
mdraganic 3:bebfc64cefe4 46 }
mdraganic 3:bebfc64cefe4 47 pwmOut = 0;
mdraganic 3:bebfc64cefe4 48 _isMoving = true;
mdraganic 3:bebfc64cefe4 49
mdraganic 3:bebfc64cefe4 50 // wait_ms(motorDriveTime);
mdraganic 3:bebfc64cefe4 51 // stop();
mdraganic 1:3500bf8487d0 52 }
mdraganic 1:3500bf8487d0 53
mdraganic 1:3500bf8487d0 54 void Motor::stop() {
mdraganic 1:3500bf8487d0 55
mdraganic 3:bebfc64cefe4 56 for (float i = 0; i < 1; i += motorPwmChangeSpeed) {
mdraganic 3:bebfc64cefe4 57 pwmOut = i;
mdraganic 3:bebfc64cefe4 58 wait(motorPwmWaitTime);
mdraganic 3:bebfc64cefe4 59 }
mdraganic 3:bebfc64cefe4 60 pwmOut = 1;
mdraganic 3:bebfc64cefe4 61
mdraganic 1:3500bf8487d0 62 positiveOut = 0;
mdraganic 1:3500bf8487d0 63 negativeOut = 0;
mdraganic 1:3500bf8487d0 64 direction = 0;
mdraganic 3:bebfc64cefe4 65 _isMoving = false;
mdraganic 1:3500bf8487d0 66 }
mdraganic 3:bebfc64cefe4 67
mdraganic 3:bebfc64cefe4 68 bool Motor::isMoving() {
mdraganic 3:bebfc64cefe4 69
mdraganic 3:bebfc64cefe4 70 return _isMoving;
mdraganic 3:bebfc64cefe4 71 }