FSG / Battery_Linear_Actuator

Dependents:   7_21_17_FSG 7_26_17_FSG

Fork of Battery_Linear_Actuator_ by FSG

Committer:
mdavis30
Date:
Fri Jun 30 18:32:40 2017 +0000
Revision:
1:ca2454ef80d9
Parent:
0:645ad86abcba
Child:
2:627fd46c2b99

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mdavis30 0:645ad86abcba 1 #ifndef BATTERY_LINEAR_ACTUATOR_H
mdavis30 0:645ad86abcba 2 #define BATTERY_LINEAR_ACTUATOR_H
mdavis30 0:645ad86abcba 3
mdavis30 0:645ad86abcba 4 #include <string>
mdavis30 0:645ad86abcba 5 using namespace std;
mdavis30 0:645ad86abcba 6
mdavis30 0:645ad86abcba 7 class Battery_Linear_Actuator
mdavis30 0:645ad86abcba 8 {
mdavis30 1:ca2454ef80d9 9 std::string::size_type sz; // alias of size_t //TEST 6/21
mdavis30 1:ca2454ef80d9 10
mdavis30 1:ca2454ef80d9 11
mdavis30 0:645ad86abcba 12 //CLASS VARIABLES and DEFINITIONS
mdavis30 0:645ad86abcba 13 int motor_absolute_position;
mdavis30 0:645ad86abcba 14 //float pot_check_inches;
mdavis30 0:645ad86abcba 15
mdavis30 0:645ad86abcba 16 int linear_actuator_step_size; //default confirmed with Dan Edwards
mdavis30 0:645ad86abcba 17 int linear_actuator_motor_speed; //5 seconds of full travel between 0 and 175,000 (1000 is about 3 seconds)
mdavis30 0:645ad86abcba 18
mdavis30 0:645ad86abcba 19 int map_check;
mdavis30 1:ca2454ef80d9 20
mdavis30 1:ca2454ef80d9 21 int actual_position;
mdavis30 1:ca2454ef80d9 22
mdavis30 1:ca2454ef80d9 23 // float la_P_gain;
mdavis30 1:ca2454ef80d9 24 // float la_I_gain;
mdavis30 1:ca2454ef80d9 25 // float la_D_gain;
mdavis30 1:ca2454ef80d9 26 float curr_time;
mdavis30 1:ca2454ef80d9 27 float dt;
mdavis30 1:ca2454ef80d9 28 float la_error;
mdavis30 1:ca2454ef80d9 29 float la_error_sum;
mdavis30 1:ca2454ef80d9 30 float la_derivative_error;
mdavis30 1:ca2454ef80d9 31 float lastErr;
mdavis30 1:ca2454ef80d9 32 float lastTime;
mdavis30 1:ca2454ef80d9 33
mdavis30 1:ca2454ef80d9 34 float la_integral;
mdavis30 1:ca2454ef80d9 35 float la_output;
mdavis30 0:645ad86abcba 36
mdavis30 0:645ad86abcba 37 public:
mdavis30 1:ca2454ef80d9 38 Battery_Linear_Actuator(); //pass variables to a constructor (don't need anything passed to it)
mdavis30 0:645ad86abcba 39
mdavis30 0:645ad86abcba 40
mdavis30 1:ca2454ef80d9 41 //Function declarations for KEYBOARD FUNCTIONS //don't forget the semi-colon!
mdavis30 0:645ad86abcba 42 string Keyboard_A();
mdavis30 0:645ad86abcba 43 string Keyboard_D();
mdavis30 1:ca2454ef80d9 44 string Keyboard_E();
mdavis30 0:645ad86abcba 45 string Keyboard_H();
mdavis30 0:645ad86abcba 46 string Keyboard_I();
mdavis30 1:ca2454ef80d9 47 string Keyboard_J();
mdavis30 1:ca2454ef80d9 48 string Keyboard_K();
mdavis30 1:ca2454ef80d9 49 string Keyboard_L();
mdavis30 0:645ad86abcba 50 string Keyboard_O();
mdavis30 1:ca2454ef80d9 51 string Keyboard_U();
mdavis30 0:645ad86abcba 52 void Keyboard_P();
mdavis30 1:ca2454ef80d9 53 string Keyboard_Q();
mdavis30 1:ca2454ef80d9 54
mdavis30 1:ca2454ef80d9 55 //new stuff 6/19/17
mdavis30 1:ca2454ef80d9 56 string Velocity(int velocity);
mdavis30 1:ca2454ef80d9 57 string get_pos();
mdavis30 1:ca2454ef80d9 58
mdavis30 1:ca2454ef80d9 59 //new 6/22/17
mdavis30 1:ca2454ef80d9 60 string velocity_only(int velocity);
mdavis30 1:ca2454ef80d9 61
mdavis30 1:ca2454ef80d9 62
mdavis30 1:ca2454ef80d9 63 string PID_velocity_control(float la_setPoint, float IMU_pitch_angle, float la_P_gain, float la_I_gain, float la_D_gain);
mdavis30 1:ca2454ef80d9 64
mdavis30 0:645ad86abcba 65 int MC_readable();
mdavis30 1:ca2454ef80d9 66 char MC_getc(); //return the character that is received from MC.getc()
mdavis30 1:ca2454ef80d9 67 string MC_readable_redux();
mdavis30 0:645ad86abcba 68
mdavis30 0:645ad86abcba 69 string Keyboard_LEFT_BRACKET();
mdavis30 0:645ad86abcba 70 string Keyboard_RIGHT_BRACKET();
mdavis30 0:645ad86abcba 71
mdavis30 0:645ad86abcba 72 string Keyboard_EQUAL_KEY();
mdavis30 0:645ad86abcba 73 string Keyboard_DASH_KEY();
mdavis30 0:645ad86abcba 74 };
mdavis30 0:645ad86abcba 75
mdavis30 0:645ad86abcba 76 #endif /* BATTERY_LINEAR_ACTUATOR_H_ */