UVic Assistive Technology Lab / Mbed 2 deprecated DSLR_Camera_Gimbal

Dependencies:   mbed ros_lib_kinetic

Committer:
MikeGray92
Date:
Thu Feb 08 22:23:40 2018 +0000
Revision:
2:0537a8007a39
Parent:
1:1ac7d472cfa2
Child:
3:527f0b949839
Code ready to be tested with ROS. ; -Tested external interrupt positioning for the lift; -remove unnecessary flags and functions

Who changed what in which revision?

UserRevisionLine numberNew contents of line
group-UVic-Assistive-Technolog 0:3a767f41cf04 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>
group-UVic-Assistive-Technolog 0:3a767f41cf04 6 #include <std_msgs/Float32MultiArray.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 2:0537a8007a39 13
group-UVic-Assistive-Technolog 0:3a767f41cf04 14 void runLift(void){
MikeGray92 2:0537a8007a39 15 stallCheck();
MikeGray92 2:0537a8007a39 16 if (control.liftRun){
group-UVic-Assistive-Technolog 0:3a767f41cf04 17 // Set direction
group-UVic-Assistive-Technolog 0:3a767f41cf04 18 if(control.height > currentPosition){
group-UVic-Assistive-Technolog 0:3a767f41cf04 19 liftDirection.write(LIFTUP);
group-UVic-Assistive-Technolog 0:3a767f41cf04 20 }
group-UVic-Assistive-Technolog 0:3a767f41cf04 21 else if(control.height < currentPosition){
group-UVic-Assistive-Technolog 0:3a767f41cf04 22 liftDirection.write(LIFTDOWN);
group-UVic-Assistive-Technolog 0:3a767f41cf04 23 }
group-UVic-Assistive-Technolog 0:3a767f41cf04 24 // Check if arrived at destination height.
MikeGray92 2:0537a8007a39 25 // if (abs(control.height - currentPosition) < 5){
MikeGray92 2:0537a8007a39 26 // control.liftRun = false;
MikeGray92 2:0537a8007a39 27 // liftSpeed.write(0);
MikeGray92 2:0537a8007a39 28 // }
MikeGray92 2:0537a8007a39 29 if (control.height == currentPosition){
MikeGray92 2:0537a8007a39 30 control.liftRun = false;
group-UVic-Assistive-Technolog 0:3a767f41cf04 31 liftSpeed.write(0);
group-UVic-Assistive-Technolog 0:3a767f41cf04 32 }
group-UVic-Assistive-Technolog 0:3a767f41cf04 33 else {
group-UVic-Assistive-Technolog 0:3a767f41cf04 34 liftSpeed.write(0.5);
group-UVic-Assistive-Technolog 0:3a767f41cf04 35 }
group-UVic-Assistive-Technolog 0:3a767f41cf04 36 }
group-UVic-Assistive-Technolog 0:3a767f41cf04 37 }
group-UVic-Assistive-Technolog 0:3a767f41cf04 38
MikeGray92 2:0537a8007a39 39 void stallCheck(void){
MikeGray92 2:0537a8007a39 40 if(stall && liftSpeed.read() > 0){
MikeGray92 2:0537a8007a39 41 stall = false;
MikeGray92 2:0537a8007a39 42 control.liftRun = false;
MikeGray92 2:0537a8007a39 43 liftSpeed.write(0);
MikeGray92 2:0537a8007a39 44 if (liftDirection.read() == LIFTUP){
MikeGray92 2:0537a8007a39 45 currentPosition = LIFTHEIGHTMAX;
MikeGray92 2:0537a8007a39 46 }else{
MikeGray92 2:0537a8007a39 47 currentPosition = 0;
MikeGray92 2:0537a8007a39 48 }
MikeGray92 2:0537a8007a39 49 }
MikeGray92 2:0537a8007a39 50 }