diff options
Diffstat (limited to 'proto-fg')
| -rw-r--r-- | proto-fg/fgtypes.h | 27 | ||||
| -rw-r--r-- | proto-fg/ftnoir_protocol_fg.cpp | 15 | ||||
| -rw-r--r-- | proto-fg/ftnoir_protocol_fg.h | 17 | 
3 files changed, 17 insertions, 42 deletions
| diff --git a/proto-fg/fgtypes.h b/proto-fg/fgtypes.h deleted file mode 100644 index 2e493f46..00000000 --- a/proto-fg/fgtypes.h +++ /dev/null @@ -1,27 +0,0 @@ -/******************************************************************************** -* FaceTrackNoIR         This program is a private project of the some enthusiastic      * -*                                       gamers from Holland, who don't like to pay much for                     * -*                                       head-tracking.                                                                                          * -*                                                                                                                                                               * -* Copyright (C) 2010    Wim Vriend (Developing)                                                                 * -*                                               Ron Hendriks (Researching and Testing)                                  * -*                                                                                                                                                               * -* Homepage                                                                                                                                              * -*                                                                                                                                                               * -* Type definitions for the FlightGear server.                                                                   * -********************************************************************************/ -#pragma once -#ifndef INCLUDED_FGTYPES_H -#define INCLUDED_FGTYPES_H - -// -// x,y,z position in metres, heading, pitch and roll in degrees... -// -#pragma pack(push, 2) -struct TFlightGearData { -    double x, y, z, h, p, r; -    int status; -}; -#pragma pack(pop) - -#endif//INCLUDED_FGTYPES_H diff --git a/proto-fg/ftnoir_protocol_fg.cpp b/proto-fg/ftnoir_protocol_fg.cpp index 3df51c3e..3e0f955c 100644 --- a/proto-fg/ftnoir_protocol_fg.cpp +++ b/proto-fg/ftnoir_protocol_fg.cpp @@ -14,20 +14,15 @@  // For Todd and Arda Kutlu  void flightgear::pose(const double* headpose) { -    FlightData.x = headpose[TX] * 1e-2; +    FlightData.x = -headpose[TX] * 1e-2;      FlightData.y = headpose[TY] * 1e-2;      FlightData.z = headpose[TZ] * 1e-2;      FlightData.p = headpose[Pitch]; -    FlightData.h = headpose[Yaw]; -    FlightData.r = headpose[Roll]; +    FlightData.h = -headpose[Yaw]; +    FlightData.r = -headpose[Roll];      FlightData.status = 1; -    QHostAddress destIP(QString("%1.%2.%3.%4").arg( -                            QString::number(static_cast<int>(s.ip1)), -                            QString::number(static_cast<int>(s.ip2)), -                            QString::number(static_cast<int>(s.ip3)), -                            QString::number(static_cast<int>(s.ip4)))); -    int destPort = s.port; -    (void) outSocket.writeDatagram(reinterpret_cast<const char*>(&FlightData), sizeof(FlightData), destIP, static_cast<quint16>(destPort)); +    QHostAddress destIP(quint32(s.ip1 << 24 | s.ip2 << 16 | s.ip3 << 8 | s.ip4)); +    (void) outSocket.writeDatagram(reinterpret_cast<const char*>(&FlightData), sizeof(FlightData), destIP, static_cast<quint16>(s.port));  }  bool flightgear::correct() diff --git a/proto-fg/ftnoir_protocol_fg.h b/proto-fg/ftnoir_protocol_fg.h index 019b8c57..48e5f1c1 100644 --- a/proto-fg/ftnoir_protocol_fg.h +++ b/proto-fg/ftnoir_protocol_fg.h @@ -10,7 +10,6 @@   */  #pragma once  #include "ui_ftnoir_fgcontrols.h" -#include "fgtypes.h"  #include <QThread>  #include <QUdpSocket>  #include <QMessageBox> @@ -18,15 +17,23 @@  #include "options/options.hpp"  using namespace options; +// x,y,z position in meters, heading, pitch and roll in degrees +#pragma pack(push, 1) +struct flightgear_datagram { +    double x, y, z, h, p, r; +    int status; +}; +#pragma pack(pop) +  struct settings : opts {      value<int> ip1, ip2, ip3, ip4;      value<int> port;      settings() :          opts("flightgear-proto"), -        ip1(b, "ip1", 192), -        ip2(b, "ip2", 168), +        ip1(b, "ip1", 127), +        ip2(b, "ip2", 0),          ip3(b, "ip3", 0), -        ip4(b, "ip4", 2), +        ip4(b, "ip4", 1),          port(b, "port", 5542)      {}  }; @@ -41,7 +48,7 @@ public:      }  private:      settings s; -    TFlightGearData FlightData; +    flightgear_datagram FlightData;      QUdpSocket outSocket;  }; | 
