test

Dependencies:   mbed

Dependents:   MouseHybridSenseCode

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?

UserRevisionLine numberNew 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 }