UVic Assistive Technology Lab / Mbed 2 deprecated DSLR_Camera_Gimbal

Dependencies:   mbed ros_lib_kinetic

Committer:
MikeGray92
Date:
Fri Dec 14 03:28:55 2018 +0000
Revision:
13:8630f38f8066
Parent:
10:836e701d00a6
Child:
15:aeb817f93336
2019 demo code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikeGray92 10:836e701d00a6 1
group-UVic-Assistive-Technolog 0:3a767f41cf04 2 #include <stdint.h>
group-UVic-Assistive-Technolog 0:3a767f41cf04 3 #include "mbed.h"
group-UVic-Assistive-Technolog 0:3a767f41cf04 4 #include <ros.h>
group-UVic-Assistive-Technolog 0:3a767f41cf04 5 #include <std_msgs/Empty.h>
MikeGray92 7:950b3c3b5a2b 6 #include <std_msgs/Int32MultiArray.h>
group-UVic-Assistive-Technolog 0:3a767f41cf04 7 #include <BNO055.h>
group-UVic-Assistive-Technolog 0:3a767f41cf04 8 #include <initializations.h>
group-UVic-Assistive-Technolog 0:3a767f41cf04 9 #include <definitions.h>
group-UVic-Assistive-Technolog 0:3a767f41cf04 10 #include <prototypes.h>
group-UVic-Assistive-Technolog 0:3a767f41cf04 11 #include <Mx28.h>
group-UVic-Assistive-Technolog 0:3a767f41cf04 12
MikeGray92 4:89ebfa37663b 13 bool startFlag = 0;
MikeGray92 2:0537a8007a39 14
group-UVic-Assistive-Technolog 0:3a767f41cf04 15 void runLift(void){
MikeGray92 2:0537a8007a39 16 stallCheck();
MikeGray92 6:2ffa254e8f6e 17 //Check If Arrived
MikeGray92 10:836e701d00a6 18 if (abs(control.height - currentPosition) < 6){
MikeGray92 4:89ebfa37663b 19 liftSpeed.write(0);
MikeGray92 4:89ebfa37663b 20 stopHallInt();
MikeGray92 4:89ebfa37663b 21 startFlag = 0;
MikeGray92 4:89ebfa37663b 22 }
MikeGray92 4:89ebfa37663b 23 else {
MikeGray92 10:836e701d00a6 24 value1.write(1);
MikeGray92 4:89ebfa37663b 25 if(startFlag == 0){
MikeGray92 4:89ebfa37663b 26 startHallInt();
MikeGray92 4:89ebfa37663b 27 startFlag = 1;
MikeGray92 4:89ebfa37663b 28 }
MikeGray92 6:2ffa254e8f6e 29 // Set direction
group-UVic-Assistive-Technolog 0:3a767f41cf04 30 if(control.height > currentPosition){
MikeGray92 4:89ebfa37663b 31 liftDirection.write(LIFTUP);
group-UVic-Assistive-Technolog 0:3a767f41cf04 32 }
group-UVic-Assistive-Technolog 0:3a767f41cf04 33 else if(control.height < currentPosition){
group-UVic-Assistive-Technolog 0:3a767f41cf04 34 liftDirection.write(LIFTDOWN);
MikeGray92 4:89ebfa37663b 35 }
MikeGray92 13:8630f38f8066 36 // liftSpeed.write(liftDutyCycle);
MikeGray92 13:8630f38f8066 37 liftSpeed.write(0.4);
MikeGray92 4:89ebfa37663b 38 }
group-UVic-Assistive-Technolog 0:3a767f41cf04 39 }
group-UVic-Assistive-Technolog 0:3a767f41cf04 40
MikeGray92 6:2ffa254e8f6e 41 //Determining if the lift stalled and stopping if it is
MikeGray92 2:0537a8007a39 42 void stallCheck(void){
MikeGray92 10:836e701d00a6 43 if(stallcount > 3 && liftSpeed.read() > 0 && eStopFlag == 0){
MikeGray92 2:0537a8007a39 44 liftSpeed.write(0);
MikeGray92 2:0537a8007a39 45 if (liftDirection.read() == LIFTUP){
MikeGray92 2:0537a8007a39 46 currentPosition = LIFTHEIGHTMAX;
MikeGray92 10:836e701d00a6 47 control.height = LIFTHEIGHTMAX;
MikeGray92 2:0537a8007a39 48 }else{
MikeGray92 2:0537a8007a39 49 currentPosition = 0;
MikeGray92 10:836e701d00a6 50 control.height = 0;
MikeGray92 2:0537a8007a39 51 }
MikeGray92 2:0537a8007a39 52 }
MikeGray92 2:0537a8007a39 53 }