1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-20 10:54:14 +01:00

AeroSimRC: change HITLv2 code to reflect changed sensor data objects

This commit is contained in:
Oleg Semyonov 2012-05-07 18:07:37 +03:00 committed by Oleg Semyonov
parent 910b465ac6
commit 9f0edd803e
3 changed files with 26 additions and 17 deletions

View File

@ -23,9 +23,9 @@ void AeroSimRCSimulator::setupUdpPorts(const QString &host, int inPort, int outP
{
Q_UNUSED(outPort)
if (inSocket->bind(QHostAddress(host), inPort))
emit processOutput("Successfully bound to address " + host + " on port " + QString::number(inPort) + "\n");
emit processOutput("Successfully bound to address " + host + ", port " + QString::number(inPort) + "\n");
else
emit processOutput("Cannot bind to address " + host + " on port " + QString::number(inPort) + "\n");
emit processOutput("Cannot bind to address " + host + ", port " + QString::number(inPort) + "\n");
}
void AeroSimRCSimulator::transmitUpdate()
@ -172,17 +172,20 @@ void AeroSimRCSimulator::processUpdate(const QByteArray &data)
/*************************************************************************************/
if (settings.attRaw) {
AttitudeRaw::DataFields attRawData;
attRawData = attRaw->getData();
Accels::DataFields accelsData;
accelsData = accels->getData();
Gyros::DataFields gyrosData;
gyrosData = gyros->getData();
attRawData.gyros[0] = angY * RAD2DEG; // gyros (X,Y,Z) -> (+Y,+X,-Z)
attRawData.gyros[1] = angX * RAD2DEG;
attRawData.gyros[2] = angZ * -RAD2DEG;
attRawData.accels[0] = acc.x();
attRawData.accels[1] = acc.y();
attRawData.accels[2] = acc.z();
gyrosData.x = angY * RAD2DEG; // gyros (X,Y,Z) -> (+Y,+X,-Z)
gyrosData.y = angX * RAD2DEG;
gyrosData.z = angZ * -RAD2DEG;
accelsData.x = acc.x();
accelsData.y = acc.y();
accelsData.z = acc.z();
attRaw->setData(attRawData);
accels->setData(accelsData);
gyros->setData(gyrosData);
}
/*************************************************************************************/
if (settings.attActHW) {

View File

@ -109,7 +109,8 @@ void Simulator::onStart()
// camDesired = CameraDesired::GetInstance(objManager);
// acsDesired = AccessoryDesired::GetInstance(objManager);
posHome = HomeLocation::GetInstance(objManager);
attRaw = AttitudeRaw::GetInstance(objManager);
accels = Accels::GetInstance(objManager);
gyros = Gyros::GetInstance(objManager);
attActual = AttitudeActual::GetInstance(objManager);
gpsPosition = GPSPosition::GetInstance(objManager);
flightStatus = FlightStatus::GetInstance(objManager);
@ -211,8 +212,10 @@ void Simulator::setupObjects()
if (settings.gpsPosition)
setupOutputObject(gpsPosition);
if (settings.attRaw || settings.attActual)
setupOutputObject(attRaw);
if (settings.attRaw || settings.attActual) {
setupOutputObject(accels);
setupOutputObject(gyros);
}
if (settings.attActual && !settings.attActHW)
setupOutputObject(attActual);
@ -223,7 +226,8 @@ void Simulator::setupObjects()
void Simulator::resetAllObjects()
{
setupDefaultObject(posHome);
setupDefaultObject(attRaw);
setupDefaultObject(accels);
setupDefaultObject(gyros);
setupDefaultObject(attActual);
setupDefaultObject(gpsPosition);
setupDefaultObject(gcsReceiver);

View File

@ -37,7 +37,8 @@
#include "uavtalk/telemetrymanager.h"
#include "uavobjectmanager.h"
#include "homelocation.h"
#include "attituderaw.h"
#include "accels.h"
#include "gyros.h"
#include "attitudeactual.h"
#include "gpsposition.h"
#include "flightstatus.h"
@ -163,7 +164,8 @@ protected:
// BaroAltitude* altActual;
// CameraDesired *camDesired;
// AccessoryDesired *acsDesired;
AttitudeRaw *attRaw;
Accels *accels;
Gyros *gyros;
AttitudeActual *attActual;
HomeLocation *posHome;
FlightStatus *flightStatus;