#include #ifndef SVARS_H #define SVARS_H struct sVars { double x, y, z; double xPrev, yPrev, zPrev; double vx, vy, vz; double vxPrev, vyPrev, vzPrev; double vxBody, vyBody, vzBody; double ax, ay, az, axPrev, ayPrev, azPrev; double yaw, pitch, roll; double phidot, thetadot, psidot; double yawPrev, pitchPrev, rollPrev; double yawdot, pitchdot, rolldot; double yawdotPrev, pitchdotPrev, rolldotPrev; double yawddot, pitchddot, rollddot; double yawddotPrev, pitchddotPrev, rollddotPrev; double m, m0, mp, mb, mdot; double vehicleHeight, vehicleRadius; double tb; double vb; double thrust, thrust_prev, burnElapsed, burnStart; double LQRx, LQRy, Fx, Fy, Fz; double momentX, momentY, momentZ; double I11, I22, I33; double I11prev, I22prev, I33prev; double I11dot, I22dot, I33dot; int maxServo; double xServoDegs, yServoDegs; double simTime; int stepSize; std::array, 26> thrustCurve = { { {0.148, 7.638}, {0.228, 12.253}, {0.294, 16.391}, {0.353, 20.210}, {0.382, 22.756}, {0.419, 25.260}, {0.477, 23.074}, {0.520, 20.845}, {0.593, 19.093}, {0.688, 17.500}, {0.855, 16.225}, {1.037, 15.427}, {1.205, 14.948}, {1.423, 14.627}, {1.452, 15.741}, {1.503, 14.785}, {1.736, 14.623}, {1.955, 14.303}, {2.210, 14.141}, {2.494, 13.819}, {2.763, 13.338}, {3.120, 13.334}, {3.382, 13.013}, {3.404, 9.352}, {3.418, 4.895}, {3.450, 0.000}} }; }; #endif