
test
Dependents: MouseHybridSenseCode
driveFunc.cpp@6:a652deaae134, 2018-04-01 (annotated)
- Committer:
- JamieBignell
- Date:
- Sun Apr 01 18:21:50 2018 +0000
- Revision:
- 6:a652deaae134
- Parent:
- 5:dfea493f7a12
- Child:
- 7:11dd5581c763
working version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JamieBignell | 5:dfea493f7a12 | 1 | #include <mbed.h> |
JamieBignell | 5:dfea493f7a12 | 2 | #include <funcdef.h> |
JamieBignell | 5:dfea493f7a12 | 3 | |
JamieBignell | 5:dfea493f7a12 | 4 | void driveFunc() |
JamieBignell | 5:dfea493f7a12 | 5 | { |
JamieBignell | 5:dfea493f7a12 | 6 | //USE TEMPORARY VARIABLES TO WORK OUT A PULSE LENGTH FOR THE MOTORS, DICTATED BY ERROR OFFSET |
JamieBignell | 6:a652deaae134 | 7 | leftMotorValTemp=initialMotorspeed-newPIDs; |
JamieBignell | 6:a652deaae134 | 8 | rightMotorValTemp=initialMotorspeed+newPIDs; |
JamieBignell | 5:dfea493f7a12 | 9 | |
JamieBignell | 6:a652deaae134 | 10 | rightMotorValTemp=53.9*exp(2.89*0.001*rightMotorValTemp); |
JamieBignell | 6:a652deaae134 | 11 | leftMotorValTemp=53.9*exp(2.89*0.001*leftMotorValTemp); |
JamieBignell | 6:a652deaae134 | 12 | |
JamieBignell | 5:dfea493f7a12 | 13 | //IF THE MOTOR SPEED GOES OUTSIDE POSSIBLE BOUNDARIES, CLAMP |
JamieBignell | 5:dfea493f7a12 | 14 | if (leftMotorValTemp>1000) |
JamieBignell | 5:dfea493f7a12 | 15 | { |
JamieBignell | 5:dfea493f7a12 | 16 | leftMotorValTemp=1000; |
JamieBignell | 5:dfea493f7a12 | 17 | } |
JamieBignell | 5:dfea493f7a12 | 18 | if (rightMotorValTemp>1000) |
JamieBignell | 5:dfea493f7a12 | 19 | { |
JamieBignell | 5:dfea493f7a12 | 20 | rightMotorValTemp=1000; |
JamieBignell | 5:dfea493f7a12 | 21 | } |
JamieBignell | 5:dfea493f7a12 | 22 | if (leftMotorValTemp<0) |
JamieBignell | 5:dfea493f7a12 | 23 | { |
JamieBignell | 5:dfea493f7a12 | 24 | leftMotorValTemp=0; |
JamieBignell | 5:dfea493f7a12 | 25 | } |
JamieBignell | 5:dfea493f7a12 | 26 | if (rightMotorValTemp<0) |
JamieBignell | 5:dfea493f7a12 | 27 | { |
JamieBignell | 5:dfea493f7a12 | 28 | rightMotorValTemp=0; |
JamieBignell | 5:dfea493f7a12 | 29 | } |
JamieBignell | 6:a652deaae134 | 30 | if (!stopMotors) |
JamieBignell | 6:a652deaae134 | 31 | { |
JamieBignell | 5:dfea493f7a12 | 32 | leftMotorVal.pulsewidth_us(leftMotorValTemp); |
JamieBignell | 6:a652deaae134 | 33 | rightMotorVal.pulsewidth_us(rightMotorValTemp); |
JamieBignell | 6:a652deaae134 | 34 | } |
JamieBignell | 6:a652deaae134 | 35 | else |
JamieBignell | 6:a652deaae134 | 36 | { |
JamieBignell | 6:a652deaae134 | 37 | leftMotorVal.pulsewidth_us(0); |
JamieBignell | 6:a652deaae134 | 38 | rightMotorVal.pulsewidth_us(0); |
JamieBignell | 6:a652deaae134 | 39 | for(;;){} |
JamieBignell | 6:a652deaae134 | 40 | } |
JamieBignell | 5:dfea493f7a12 | 41 | |
JamieBignell | 5:dfea493f7a12 | 42 | return; |
JamieBignell | 5:dfea493f7a12 | 43 | } |