void UART1_SendAHRSpacket() { _Q16 pErr = AHRSdata.p - CmdData.p; _Q16 qErr = AHRSdata.q - CmdData.q; _Q16 rErr = AHRSdata.r - CmdData.r; tAHRSPacket pkt; /* pkt.qw = (int16_t)(_itofQ16(mult(AHRSdata.q_est.o, num10000))); pkt.qx = (int16_t)(_itofQ16(mult(AHRSdata.q_est.x, num10000))); pkt.qy = (int16_t)(_itofQ16(mult(AHRSdata.q_est.y, num10000))); pkt.qz = (int16_t)(_itofQ16(mult(AHRSdata.q_est.z, num10000))); pkt.qx = (int16_t)(_itofQ16(mult(AHRSdata.p, num1000))); pkt.qy = (int16_t)(_itofQ16(mult(AHRSdata.q, num1000))); pkt.qz = (int16_t)(_itofQ16(mult(AHRSdata.r, num1000))); pkt.p = (int16_t)(_itofQ16(mult(qerror.x, num1000))); pkt.q = (int16_t)(_itofQ16(mult(qerror.y, num1000))); pkt.r = (int16_t)(_itofQ16(mult(qerror.z, num1000))); */ pkt.p = (int16_t)(_itofQ16(mult(AHRSdata.q_est.x, num1000))); pkt.q = (int16_t)(_itofQ16(mult(AHRSdata.q_est.y, num1000))); pkt.r = (int16_t)(_itofQ16(mult(AHRSdata.q_est.z, num1000))); pkt.qw = (int16_t)(_itofQ16(mult(AHRSdata.q_est.o, num1000))); pkt.qx = (int16_t)(_itofQ16(mult(CmdData.q_cmd.x, num1000))); pkt.qy = (int16_t)(_itofQ16(mult(CmdData.q_cmd.y, num1000))); pkt.qz = (int16_t)(_itofQ16(mult(CmdData.q_cmd.z, num1000))); /* pkt.p = (int16_t)(_itofQ16(mult(pErr, num1000))); pkt.q = (int16_t)(_itofQ16(mult(qErr, num1000))); pkt.r = (int16_t)(_itofQ16(mult(rErr, num1000))); */ UART1_SendPacket(PACKETID_AHRS, sizeof(tAHRSPacket), &pkt); }
float attGetRoll(void) { return _itofQ16(PoseQ.qdata.phi); }
float attGetPitch(void) { return _itofQ16(PoseQ.qdata.theta); }
float attGetYaw(void) { return _itofQ16(PoseQ.qdata.psi); }