From a6196dece9070d307da8a68fabd9e122c64e1b58 Mon Sep 17 00:00:00 2001 From: Jason Watkins Date: Wed, 15 Apr 2015 14:41:23 -0700 Subject: [PATCH 01/17] C client style tweaks. - Standardized C client to use tabs. - Improved consistency of indentation. - Updated copyright and description headers. --- C/src/xplaneConnect.c | 984 +++++++++--------- C/src/xplaneConnect.h | 215 ++-- TestScripts/C Tests.win/CTests.vcxproj | 3 + .../C Tests.win/CTests.vcxproj.filters | 5 + 4 files changed, 613 insertions(+), 594 deletions(-) diff --git a/C/src/xplaneConnect.c b/C/src/xplaneConnect.c index 7dae28b..b85e73d 100755 --- a/C/src/xplaneConnect.c +++ b/C/src/xplaneConnect.c @@ -1,80 +1,72 @@ +//Copyright (c) 2013-2015 United States Government as represented by the Administrator of the +//National Aeronautics and Space Administration. All Rights Reserved. // -// xPlaneConnect.c Beta +//DISCLAIMERS +// No Warranty: THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY OF ANY KIND, +// EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY THAT +// THE SUBJECT SOFTWARE WILL CONFORM TO SPECIFICATIONS, ANY IMPLIED WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY +// THAT THE SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF PROVIDED, +// WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN ANY MANNER, CONSTITUTE AN +// ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, +// HARDWARE, SOFTWARE PRODUCTS OR ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT +// SOFTWARE. FURTHER, GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING +// THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES IT "AS IS." +// +// Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS AGAINST THE UNITED STATES +// GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT. IF +// RECIPIENT'S USE OF THE SUBJECT SOFTWARE RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES +// OR LOSSES ARISING FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING +// FROM, RECIPIENT'S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY AND HOLD HARMLESS THE +// UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, +// TO THE EXTENT PERMITTED BY LAW. RECIPIENT'S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE +// IMMEDIATE, UNILATERAL TERMINATION OF THIS AGREEMENT. + +// X-Plane Connect Client // // DESCRIPTION -// XPLANECONNECT (XPC) Facilitates Communication to and from the XPCPlugin -// -// REQUIREMENTS -// 1. X-Plane Version 9.0 or newer (untested on previous versions) -// 2. XPCPlugin.xpl-must be placed in [X-Plane Directory]/Resources/plugins -// 3. OS X 10.8 or newer (untested on previous versions) +// Communicates with the XPC plugin to facilitate controling and gathering data from X-Plane. // // INSTRUCTIONS -// 1. Include the header "xplaneConnect.h" -// EXAMPLE: #include "xplaneConnect.h" -// 2. Open UDP Socket using openUDP -// EXAMPLE: struct xpcSocket theSocket = openUDP(port_number); -// NOTE: Do not send/receive on the same socket -// 3. Use functions described below -// 4. Close UDP Socket using closeUDP -// -// NOTICES: -// Copyright ã 2013-2014 United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All Rights Reserved. -// -// DISCLAIMERS -// No Warranty: THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER, GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES IT "AS IS." -// -// Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT'S USE OF THE SUBJECT SOFTWARE RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING FROM, RECIPIENT'S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY LAW. RECIPIENT'S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE, UNILATERAL TERMINATION OF THIS AGREEMENT. -// -// X-Plane API -// Copyright (c) 2008, Sandy Barbour and Ben Supnik All rights reserved. -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -// * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -// * Neither the names of the authors nor that of X-Plane or Laminar Research may be used to endorse or promote products derived from this software without specific prior written permission from the authors or Laminar Research, respectively. -// -// X-Plane API SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// See Readme.md in the root of this repository or the wiki hosted on GitHub at +// https://github.com/nasa/XPlaneConnect/wiki for requirements, installation instructions, +// and detailed documentation. // // CONTACT // For questions email Christopher Teubert (christopher.a.teubert@nasa.gov) // -// TO DO -// 1. Update SelectData -// 2. RequestDREF: look into removing DREFSizes -// -// BEGIN CODE +// CONTRIBUTORS +// CT: Christopher Teubert (christopher.a.teubert@nasa.gov) +// JW: Jason Watkins (jason.w.watkins@nasa.gov) +#include "xplaneConnect.h" +#include +#include #include #include -#include #include #include #include -#include -#include "xplaneConnect.h" #ifdef _WIN32 /* WIN32 SYSTEM */ - #include - #define strcasecmp _stricmp - #define strncasecmp _strnicmp - #define snprintf sprintf_s - #define socklen_t int +#include - void usleep(__int64 usec) - { // From http://www.c-plusplus.de/forum/109539-full - HANDLE timer; - LARGE_INTEGER ft; - - ft.QuadPart = -(10*usec); // Convert to 100 nanosecond interval, negative value indicates relative time - - timer = CreateWaitableTimer(NULL, TRUE, NULL); - SetWaitableTimer(timer, &ft, 0, NULL, NULL, 0); - WaitForSingleObject(timer, INFINITE); - CloseHandle(timer); - } +void usleep(__int64 usec) +{ // From http://www.c-plusplus.de/forum/109539-full + HANDLE timer; + LARGE_INTEGER ft; + + ft.QuadPart = -(10*usec); // Convert to 100 nanosecond interval, negative value indicates relative time + + timer = CreateWaitableTimer(NULL, TRUE, NULL); + SetWaitableTimer(timer, &ft, 0, NULL, NULL, 0); + WaitForSingleObject(timer, INFINITE); + CloseHandle(timer); +} #endif short errorReport(char *functionName, char *errorMessage); -short sendRequest(struct xpcSocket recfd, char DREFArray[][100], short DREFSizes[], short listLength); +short sendRequest(XPCSocket recfd, char DREFArray[][100], short DREFSizes[], short listLength); short errorReport(char *functionName, char *errorMessage) { @@ -82,83 +74,83 @@ short errorReport(char *functionName, char *errorMessage) return -1; } -struct xpcSocket openUDP(unsigned short port_number, const char *xpIP, unsigned short xpPort) +XPCSocket openUDP(unsigned short port_number, const char *xpIP, unsigned short xpPort) { - struct xpcSocket theSocket; - struct sockaddr_in server; + XPCSocket theSocket; + struct sockaddr_in server; #if (__APPLE__ || __linux) - struct timeval tv; - int optval = 1; + struct timeval tv; + int optval = 1; #endif - - // Setup Port - server.sin_family = AF_INET; - server.sin_addr.s_addr = INADDR_ANY; - server.sin_port = htons(port_number); - - // Set X-Plane Port and IP - if (strcasecmp(xpIP,"localhost") == 0) // IP - { - strncpy(theSocket.xpIP,"127.0.0.1",9); // Default - } - else - { - memcpy(theSocket.xpIP,xpIP,(size_t) fminl(strlen(xpIP),16)); - } - - if (xpPort <= 0) // Default Port - { - theSocket.xpPort = 49009; // Default - } - else - { - theSocket.xpPort = xpPort; - } - + + // Setup Port + server.sin_family = AF_INET; + server.sin_addr.s_addr = INADDR_ANY; + server.sin_port = htons(port_number); + + // Set X-Plane Port and IP + if (strcasecmp(xpIP,"localhost") == 0) // IP + { + strncpy(theSocket.xpIP,"127.0.0.1",9); // Default + } + else + { + memcpy(theSocket.xpIP,xpIP,(size_t) fminl(strlen(xpIP),16)); + } + + if (xpPort <= 0) // Default Port + { + theSocket.xpPort = 49009; // Default + } + else + { + theSocket.xpPort = xpPort; + } + #ifdef _WIN32 - WSADATA wsa; - if (WSAStartup(MAKEWORD(2,2),&wsa) != 0) - { - perror("ERROR: openUDP- "); - return theSocket; - //ERROR IN Socket Message - } - - if ((theSocket.sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == INVALID_SOCKET) - { - perror("ERROR: openUDP- "); - return theSocket; - //ERROR IN Socket Message - } - - if (bind(theSocket.sock, (struct sockaddr *)&server, sizeof(server)) == SOCKET_ERROR) - { - perror("ERROR: openUDP- "); - return theSocket; - //ERROR IN Socket Message - } + WSADATA wsa; + if (WSAStartup(MAKEWORD(2,2),&wsa) != 0) + { + perror("ERROR: openUDP- "); + return theSocket; + //ERROR IN Socket Message + } + + if ((theSocket.sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == INVALID_SOCKET) + { + perror("ERROR: openUDP- "); + return theSocket; + //ERROR IN Socket Message + } + + if (bind(theSocket.sock, (struct sockaddr *)&server, sizeof(server)) == SOCKET_ERROR) + { + perror("ERROR: openUDP- "); + return theSocket; + //ERROR IN Socket Message + } #elif (__APPLE__ || __linux) - // Create a SOCKET - if ((theSocket.sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) - { - perror((char*) "ERROR: openUDP- "); - return theSocket; - } - - // Options - setsockopt(theSocket.sock, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval)); - setsockopt(theSocket.sock, SOL_SOCKET, SO_REUSEPORT, &optval, sizeof(optval)); - - //Bind - if ( bind(theSocket.sock, (struct sockaddr *) &server, sizeof(server)) == -1) - { - perror( (char*) "ERROR: openUDP- "); - return theSocket; - } + // Create a SOCKET + if ((theSocket.sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) + { + perror((char*) "ERROR: openUDP- "); + return theSocket; + } + + // Options + setsockopt(theSocket.sock, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval)); + setsockopt(theSocket.sock, SOL_SOCKET, SO_REUSEPORT, &optval, sizeof(optval)); + + //Bind + if ( bind(theSocket.sock, (struct sockaddr *) &server, sizeof(server)) == -1) + { + perror( (char*) "ERROR: openUDP- "); + return theSocket; + } #endif - - //Set Timout + + //Set Timout int usTimeOut = 500; #ifdef _WIN32 @@ -167,259 +159,259 @@ struct xpcSocket openUDP(unsigned short port_number, const char *xpIP, unsigned #else tv.tv_sec = 0; /* Sec Timeout */ tv.tv_usec = usTimeOut; // Microsec Timeout - setsockopt(theSocket.sock, SOL_SOCKET, SO_RCVTIMEO, (char *) &tv, sizeof(struct timeval)); + setsockopt(theSocket.sock, SOL_SOCKET, SO_RCVTIMEO, (char *) &tv, sizeof(struct timeval)); #endif - - return theSocket; + + return theSocket; } -void closeUDP(struct xpcSocket socketNumber) +void closeUDP(XPCSocket socketNumber) { #ifdef _WIN32 closesocket(socketNumber.sock); #elif (__APPLE__ || __linux) - close(socketNumber.sock); + close(socketNumber.sock); #endif } -short sendUDP(struct xpcSocket recfd, char my_message[], short messageLength) +short sendUDP(XPCSocket recfd, char my_message[], short messageLength) { - struct sockaddr_in servaddr; - - my_message[4] = (char) messageLength; - - // Preconditions + struct sockaddr_in servaddr; + + my_message[4] = (char) messageLength; + + // Preconditions if (messageLength <= 0)// Positive Message Length { return errorReport("sendUDP", "message length must be positive >0"); } - - // Code - servaddr.sin_family = AF_INET; - servaddr.sin_port = htons(recfd.xpPort); - servaddr.sin_addr.s_addr = inet_addr(recfd.xpIP); + + // Code + servaddr.sin_family = AF_INET; + servaddr.sin_port = htons(recfd.xpPort); + servaddr.sin_addr.s_addr = inet_addr(recfd.xpIP); #ifdef _WIN32 const char on = 1; #else - int on=1; + int on=1; #endif - setsockopt(recfd.sock, SOL_SOCKET, SO_BROADCAST, &on, sizeof(on)); - - if (sendto(recfd.sock, my_message, (int) messageLength, 0, (const struct sockaddr *) &servaddr, sizeof(servaddr))<0) - { - perror("ERROR: sendUDP-"); - exit(EXIT_FAILURE); - } - - return 0; + setsockopt(recfd.sock, SOL_SOCKET, SO_BROADCAST, &on, sizeof(on)); + + if (sendto(recfd.sock, my_message, (int) messageLength, 0, (const struct sockaddr *) &servaddr, sizeof(servaddr))<0) + { + perror("ERROR: sendUDP-"); + exit(EXIT_FAILURE); + } + + return 0; } -short sendDATA(struct xpcSocket recfd, float dataRef[][9], unsigned short rows) +short sendDATA(XPCSocket recfd, float dataRef[][9], unsigned short rows) { - int i; - unsigned short length = rows*9*sizeof(float) + 5; - char message[5000]; - unsigned short step = 9*sizeof(float); - - strncpy(message,"DATA",4); - - for (i=0;i - #include - #pragma comment(lib,"ws2_32.lib") //Winsock Library - #elif (__APPLE__ || __linux) - #include - #include - #include - #include - #endif +#include "stdlib.h" +#ifdef _WIN32 /* WIN32 SYSTEM */ +#include +#include +#pragma comment(lib,"ws2_32.lib") //Winsock Library +#elif (__APPLE__ || __linux) +#include +#include +#include +#include +#endif - struct xpcSocket { - short open; - unsigned short port; +typedef struct +{ + char open; + unsigned short port; + + // X-Plane IP and Port + char xpIP[16]; + unsigned short xpPort; + + #ifdef _WIN32 + SOCKET sock; + #else + int sock; + #endif +} XPCSocket; + +typedef struct +{ + float pitch; + float roll; + float yaw; + float throttle; + char gear; + float flaps; + char aircraft; +} xpcCtrl; + +typedef struct +{ + double latitude; + double longitude; + double altitude; +} Waypoint; + +typedef enum +{ + xpc_WYPT_ADD = 1, + xpc_WYPT_DEL = 2, + xpc_WYPT_CLR = 3 +} WYPT_OP; + +typedef struct +{ + WYPT_OP op; + Waypoint points[20]; + size_t numPoints; +} xpcWypt; - // X-Plane IP and Port - char xpIP[16]; - unsigned short xpPort; - - #ifdef _WIN32 /* WIN32 SYSTEM */ - SOCKET sock; - #elif (__APPLE__ || __linux) //OS X/Linux - int sock; - #endif - }; - - typedef struct - { - float pitch; - float roll; - float yaw; - float throttle; - char gear; - float flaps; - char aircraft; - } xpcCtrl; - - typedef struct - { - double latitude; - double longitude; - double altitude; - } Waypoint; - - typedef enum - { - xpc_WYPT_ADD = 1, - xpc_WYPT_DEL = 2, - xpc_WYPT_CLR = 3 - } WYPT_OP; - - typedef struct - { - WYPT_OP op; - Waypoint points[20]; - size_t numPoints; - } xpcWypt; - - // Basic Functions - struct xpcSocket openUDP(unsigned short port, const char *xpIP, unsigned short xpPort); - void closeUDP(struct xpcSocket); - short sendUDP(struct xpcSocket recfd, char my_message[], short messageLength); - short readUDP(struct xpcSocket recfd, char *dataRef, struct sockaddr *recvaddr); +// Basic Functions +XPCSocket openUDP(unsigned short port, const char *xpIP, unsigned short xpPort); +void closeUDP(XPCSocket sock); +int sendUDP(XPCSocket sock, char buffer[], int len); +int readUDP(XPCSocket sock, char buffer[], int len, struct sockaddr* recvaddr); - // Configuration - short setCONN(struct xpcSocket recfd, unsigned short recPort); - short pauseSim(struct xpcSocket recfd, short); +// Configuration +short setCONN(XPCSocket recfd, unsigned short recPort); +short pauseSim(XPCSocket recfd, short); - // UDP DATA - short parseDATA(const char my_message[], short messageLength, float dataRef[][9]); - short readDATA(struct xpcSocket recfd, float dataRef[][9]); - short sendDATA(struct xpcSocket recfd, float dataRef[][9], unsigned short rows); +// UDP DATA +short parseDATA(const char my_message[], short messageLength, float dataRef[][9]); +short readDATA(XPCSocket recfd, float dataRef[][9]); +short sendDATA(XPCSocket recfd, float dataRef[][9], unsigned short rows); - // Position - short parsePOSI(const char my_message[], float resultArray[], int arraySize, float *gear); - short readPOSI(struct xpcSocket recfd, float resultArray[], int arraySize, float *gear); - short sendPOSI(struct xpcSocket recfd, short ACNum, short numArgs, float valueArray[]); +// Position +short parsePOSI(const char my_message[], float resultArray[], int arraySize, float *gear); +short readPOSI(XPCSocket recfd, float resultArray[], int arraySize, float *gear); +short sendPOSI(XPCSocket recfd, short ACNum, short numArgs, float valueArray[]); - // Controls - xpcCtrl parseCTRL(const char data[]); - xpcCtrl readCTRL(struct xpcSocket recfd); - short sendCTRL(struct xpcSocket recfd, short numArgs, float valueArray[]); - short sendpCTRL(struct xpcSocket recfd, short numArgs, float valueArray[], char acNum); +// Controls +xpcCtrl parseCTRL(const char data[]); +xpcCtrl readCTRL(XPCSocket recfd); +short sendCTRL(XPCSocket recfd, short numArgs, float valueArray[]); +short sendpCTRL(XPCSocket recfd, short numArgs, float valueArray[], char acNum); - // DREF Manipulation - short readDREF(struct xpcSocket recfd, float *resultArray[], short arraySizes[]); - short parseDREF(const char my_message[], char *dataRef, unsigned short *length_of_DREF, float *values, unsigned short *number_of_values); - short sendDREF(struct xpcSocket recfd, const char *dataRef, unsigned short length_of_DREF, float *values, unsigned short number_of_values); - short requestDREF(struct xpcSocket sendfd, struct xpcSocket recfd, char DREFArray[][100], short DREFSizes[], short listLength, float *resultArray[], short arraySizes[]); - int parseGETD(const char my_message[], char *DREFArray[], int DREFSizes[]); - short parseRequest(const char my_message[], float *resultArray[], short arraySizes[]); - short readRequest(struct xpcSocket recfd, float *dataRef[], short arraySizes[], struct sockaddr *recvaddr); +// DREF Manipulation +short readDREF(XPCSocket recfd, float *resultArray[], short arraySizes[]); +short parseDREF(const char my_message[], char *dataRef, unsigned short *length_of_DREF, float *values, unsigned short *number_of_values); +short sendDREF(XPCSocket recfd, const char *dataRef, unsigned short length_of_DREF, float *values, unsigned short number_of_values); +short requestDREF(XPCSocket sendfd, XPCSocket recfd, char DREFArray[][100], short DREFSizes[], short listLength, float *resultArray[], short arraySizes[]); +int parseGETD(const char my_message[], char *DREFArray[], int DREFSizes[]); +short parseRequest(const char my_message[], float *resultArray[], short arraySizes[]); +short readRequest(XPCSocket recfd, float *dataRef[], short arraySizes[], struct sockaddr *recvaddr); - // Waypoints - xpcWypt parseWYPT(const char data[]); - short sendWYPT(struct xpcSocket sendfd, WYPT_OP op, float points[], int numPoints); +// Waypoints +xpcWypt parseWYPT(const char data[]); +short sendWYPT(XPCSocket sendfd, WYPT_OP op, float points[], int numPoints); - // Screen Text - short sendTEXT(struct xpcSocket sendfd, char* msg, int x, int y); +// Screen Text +short sendTEXT(XPCSocket sendfd, char* msg, int x, int y); - #endif //ifdef _h #ifdef __cplusplus } #endif +#endif //ifdef _h diff --git a/TestScripts/C Tests.win/CTests.vcxproj b/TestScripts/C Tests.win/CTests.vcxproj index 9ba4d07..c057e7d 100644 --- a/TestScripts/C Tests.win/CTests.vcxproj +++ b/TestScripts/C Tests.win/CTests.vcxproj @@ -22,6 +22,9 @@ + + + {BC701AF4-552C-4C9D-82A1-B352542783A4} CTests diff --git a/TestScripts/C Tests.win/CTests.vcxproj.filters b/TestScripts/C Tests.win/CTests.vcxproj.filters index fae10d4..cd3ca2c 100644 --- a/TestScripts/C Tests.win/CTests.vcxproj.filters +++ b/TestScripts/C Tests.win/CTests.vcxproj.filters @@ -22,4 +22,9 @@ Source Files + + + Header Files + + \ No newline at end of file From 1a8078af8764366a9e40913e1fd04824293cb88e Mon Sep 17 00:00:00 2001 From: Jason Watkins Date: Wed, 15 Apr 2015 14:59:47 -0700 Subject: [PATCH 02/17] Various changes to improve consistency and readability of low level UDP functions. - Tweaked variable names to be more concise. - Moved variable declarations from top of function to point of use. - Replaced memcpy with strncpy where appropriate. - Removed socket reuse options on *nix builds. - Improved error reporting. - Most failures when opening and closing sockets now cause the client to die. - sendUDP now ignores the length byte. --- C/src/xplaneConnect.c | 278 ++++++++++++++++++------------------------ 1 file changed, 122 insertions(+), 156 deletions(-) diff --git a/C/src/xplaneConnect.c b/C/src/xplaneConnect.c index b85e73d..61aaab3 100755 --- a/C/src/xplaneConnect.c +++ b/C/src/xplaneConnect.c @@ -51,8 +51,9 @@ #ifdef _WIN32 /* WIN32 SYSTEM */ #include +// From http://www.c-plusplus.de/forum/109539-full void usleep(__int64 usec) -{ // From http://www.c-plusplus.de/forum/109539-full +{ HANDLE timer; LARGE_INTEGER ft; @@ -65,149 +66,159 @@ void usleep(__int64 usec) } #endif -short errorReport(char *functionName, char *errorMessage); +void printError(char *functionName, char *errorMessage); short sendRequest(XPCSocket recfd, char DREFArray[][100], short DREFSizes[], short listLength); -short errorReport(char *functionName, char *errorMessage) +void printError(char *functionName, char *errorMessage) { - printf("ERROR: %s-%s\n", functionName, errorMessage); - return -1; + printf("[%s] ERROR: %s\n", functionName, errorMessage); } -XPCSocket openUDP(unsigned short port_number, const char *xpIP, unsigned short xpPort) +/*****************************************************************************/ +/**** Low Level UDP functions ****/ +/*****************************************************************************/ +XPCSocket openUDP(unsigned short port, const char *xpIP, unsigned short xpPort) { - XPCSocket theSocket; - struct sockaddr_in server; - -#if (__APPLE__ || __linux) - struct timeval tv; - int optval = 1; -#endif + XPCSocket sock; // Setup Port - server.sin_family = AF_INET; - server.sin_addr.s_addr = INADDR_ANY; - server.sin_port = htons(port_number); + struct sockaddr_in recvaddr; + recvaddr.sin_family = AF_INET; + recvaddr.sin_addr.s_addr = INADDR_ANY; + recvaddr.sin_port = htons(port); // Set X-Plane Port and IP - if (strcasecmp(xpIP,"localhost") == 0) // IP - { - strncpy(theSocket.xpIP,"127.0.0.1",9); // Default - } - else - { - memcpy(theSocket.xpIP,xpIP,(size_t) fminl(strlen(xpIP),16)); - } - - if (xpPort <= 0) // Default Port - { - theSocket.xpPort = 49009; // Default - } - else - { - theSocket.xpPort = xpPort; - } + if (strcmp(xpIP, "localhost") == 0) + { + xpIP = "127.0.0.1"; + } + strncpy(sock.xpIP, xpIP, 16); + sock.xpPort = xpPort == 0 ? 49009 : xpPort; #ifdef _WIN32 WSADATA wsa; - if (WSAStartup(MAKEWORD(2,2),&wsa) != 0) + if (WSAStartup(MAKEWORD(2, 2), &wsa) != 0) { - perror("ERROR: openUDP- "); - return theSocket; - //ERROR IN Socket Message - } - - if ((theSocket.sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == INVALID_SOCKET) - { - perror("ERROR: openUDP- "); - return theSocket; - //ERROR IN Socket Message - } - - if (bind(theSocket.sock, (struct sockaddr *)&server, sizeof(server)) == SOCKET_ERROR) - { - perror("ERROR: openUDP- "); - return theSocket; - //ERROR IN Socket Message - } -#elif (__APPLE__ || __linux) - // Create a SOCKET - if ((theSocket.sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) - { - perror((char*) "ERROR: openUDP- "); - return theSocket; - } - - // Options - setsockopt(theSocket.sock, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval)); - setsockopt(theSocket.sock, SOL_SOCKET, SO_REUSEPORT, &optval, sizeof(optval)); - - //Bind - if ( bind(theSocket.sock, (struct sockaddr *) &server, sizeof(server)) == -1) - { - perror( (char*) "ERROR: openUDP- "); - return theSocket; + printError("OpenUDP", "WSAStartup failed"); + exit(EXIT_FAILURE); } #endif - //Set Timout - int usTimeOut = 500; + if ((sock.sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) + { + printError("OpenUDP", "Socket creation failed"); + exit(EXIT_FAILURE); + } + if (bind(sock.sock, (struct sockaddr*)&recvaddr, sizeof(recvaddr)) == -1) + { + printError("OpenUDP", "Socket bind failed"); + exit(EXIT_FAILURE); + } #ifdef _WIN32 - DWORD msTimeOutWin = 1; // Minimum socket timeout in Windows is 1ms - setsockopt(theSocket.sock, SOL_SOCKET, SO_RCVTIMEO, (char *)&msTimeOutWin, sizeof(msTimeOutWin)); + DWORD timeout = 1; // Minimum socket timeout in Windows is 1ms #else - tv.tv_sec = 0; /* Sec Timeout */ - tv.tv_usec = usTimeOut; // Microsec Timeout - setsockopt(theSocket.sock, SOL_SOCKET, SO_RCVTIMEO, (char *) &tv, sizeof(struct timeval)); + struct timeval timeout; + tv.tv_sec = 0; + tv.tv_usec = 500; #endif - - return theSocket; + if (setsockopt(sock.sock, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(timeout)) < 0) + { + printError("OpenUDP", "Failed to set timeout"); + } + return sock; } void closeUDP(XPCSocket socketNumber) { #ifdef _WIN32 - closesocket(socketNumber.sock); -#elif (__APPLE__ || __linux) - close(socketNumber.sock); -#endif -} - -short sendUDP(XPCSocket recfd, char my_message[], short messageLength) -{ - struct sockaddr_in servaddr; - - my_message[4] = (char) messageLength; - - // Preconditions - if (messageLength <= 0)// Positive Message Length - { - return errorReport("sendUDP", "message length must be positive >0"); - } - - // Code - servaddr.sin_family = AF_INET; - servaddr.sin_port = htons(recfd.xpPort); - servaddr.sin_addr.s_addr = inet_addr(recfd.xpIP); - -#ifdef _WIN32 - const char on = 1; + int result = closesocket(socketNumber.sock); #else - int on=1; + int result = close(socketNumber.sock); #endif - - setsockopt(recfd.sock, SOL_SOCKET, SO_BROADCAST, &on, sizeof(on)); - - if (sendto(recfd.sock, my_message, (int) messageLength, 0, (const struct sockaddr *) &servaddr, sizeof(servaddr))<0) + if (result < 0) { - perror("ERROR: sendUDP-"); + printError("closeUDP", "Failed to close socket"); exit(EXIT_FAILURE); } - - return 0; } +int sendUDP(XPCSocket sock, char buffer[], int len) +{ + // Preconditions + if (len <= 0) + { + printError("sendUDP", "Message length must be positive."); + return -1; + } + + // Set up destination address + struct sockaddr_in dst; + dst.sin_family = AF_INET; + dst.sin_port = htons(sock.xpPort); + inet_pton(AF_INET, sock.xpIP, &dst.sin_addr.s_addr); + + int result = sendto(sock.sock, buffer, len, 0, (const struct sockaddr*)&dst, sizeof(dst)); + if (result < 0) + { + printError("sendUDP", "Send operation failed."); + return -2; + } + if (result < len) + { + printError("sendUDP", "Unexpected number of bytes sent."); + } + return result; +} + +int readUDP(XPCSocket sock, char buffer[], int len, struct sockaddr* recvaddr) +{ + socklen_t recvaddrlen = sizeof(*recvaddr); +#ifdef _WIN32 + // Windows readUDP needs the select command- minimum timeout is 1ms. + // Without this playback becomes choppy + + // Definitions + FD_SET stReadFDS; + FD_SET stExceptFDS; + + // Setup for Select + FD_ZERO(&stReadFDS); + FD_SET(sock.sock, &stReadFDS); + FD_ZERO(&stExceptFDS); + FD_SET(sock.sock, &stExceptFDS); + + struct timeval tv; + tv.tv_sec = 0; + tv.tv_usec = 250; + + // Select Command + int status = select(-1, &stReadFDS, (FD_SET*)0, &stExceptFDS, &tv); + if (status < 0) + { + printError("readUDP", "Select command error"); + return -1; + } + if (status == 0) + { + // No data + return 0; + } + status = recvfrom(sock.sock, buffer, len, 0, (struct sockaddr*)&recvaddr, &recvaddrlen); +#else + // For apple or linux-just read - will timeout in 0.5 ms + status = (int)recvfrom(sock.sock, dataRef, len, 0, recvaddr, &recvaddrlen); +#endif + if (status < 0) + { + printError("readUDP", "Error reading socket"); + } + return status; +} +/*****************************************************************************/ +/**** End Low Level UDP functions ****/ +/*****************************************************************************/ + short sendDATA(XPCSocket recfd, float dataRef[][9], unsigned short rows) { int i; @@ -454,51 +465,6 @@ short sendWYPT(XPCSocket sendfd, WYPT_OP op, float points[], int numPoints) //READ //---------------------------------------- -short readUDP(XPCSocket recfd, char *dataRef, struct sockaddr *recvaddr) -{ - socklen_t recvaddrlen = sizeof(*recvaddr); - int status = 0; - -#ifdef _WIN32 - // Windows readUDP needs the select command- minimum timeout is 1ms. - // Without this playback becomes choppy - - // Definitions - FD_SET stReadFDS; - FD_SET stExceptFDS; - struct timeval tv; - struct sockaddr_in testaddr; - int error = 0; - - // Setup for Select - FD_ZERO(&stReadFDS); - FD_SET(recfd.sock, &stReadFDS); - FD_ZERO(&stExceptFDS); - FD_SET(recfd.sock, &stExceptFDS); - tv.tv_sec = 0; /* Sec Timeout */ - tv.tv_usec = 250; // Microsec Timeout - - // Select Command - int tmp = select(-1, &stReadFDS, (FD_SET *)0, &stExceptFDS, &tv); - if (tmp <= 0) // No Data or error - { - return -1; - } - - // If no error: Read Data - recvaddrlen = sizeof(testaddr); - status = (int) recvfrom(recfd.sock,dataRef,5000,0,(SOCKADDR *) &testaddr,&recvaddrlen); - if (status == SOCKET_ERROR) - { - error = WSAGetLastError(); - } -#else - // For apple or linux-just read - will timeout in 0.5 ms - status = (int) recvfrom(recfd.sock,dataRef,5000,0,recvaddr,&recvaddrlen); -#endif - - return status; -} short readDATA(XPCSocket recfd, float dataRef[][9]) { From 9f670954cc6073190f7816026dd36e88e2257172 Mon Sep 17 00:00:00 2001 From: Jason Watkins Date: Wed, 15 Apr 2015 15:27:31 -0700 Subject: [PATCH 03/17] Cleaned up setCONN and pauseSim functions. - Tweaked function signatures to more accurately reflect internal behavior. - Changed behavior of setCONN to use the inbound port of the socket passed to it. - Greatly enhanced error reporting for setCONN and pauseSim. --- C/src/xplaneConnect.c | 80 +++++++++++++++++++++++++------------------ C/src/xplaneConnect.h | 8 ++--- 2 files changed, 50 insertions(+), 38 deletions(-) diff --git a/C/src/xplaneConnect.c b/C/src/xplaneConnect.c index 61aaab3..5f199a6 100755 --- a/C/src/xplaneConnect.c +++ b/C/src/xplaneConnect.c @@ -219,6 +219,52 @@ int readUDP(XPCSocket sock, char buffer[], int len, struct sockaddr* recvaddr) /**** End Low Level UDP functions ****/ /*****************************************************************************/ +/*****************************************************************************/ +/**** Configuration functions ****/ +/*****************************************************************************/ +int setCONN(XPCSocket sock) +{ + // Set up command + char buffer[32] = "CONN"; + memcpy(&buffer[5], &sock.port, 2); + // Send command + if (sendUDP(sock, buffer, 7) != 0) + { + printError("setCONN", "Failed to send command"); + return -1; + } + // Read response + if (readUDP(sock, buffer, 32, NULL) <= 0) + { + printError("setCONN", "Failed to read response"); + return -2; + } + if (strncmp(buffer, "CONF", 4) == 0) + { + // Response received succesfully. + return 0; + } + // Response incorrect + return -3; +} + +int pauseSim(XPCSocket sock, char pause) +{ + // Setup command + char buffer[6] = "SIMU"; + buffer[5] = pause == 0 ? 0 : 1; + // Send command + if (sendUDP(sock, buffer, 6) != 0) + { + printError("pauseSim", "Failed to send command"); + return -1; + } + return 0; +} +/*****************************************************************************/ +/**** End Configuration functions ****/ +/*****************************************************************************/ + short sendDATA(XPCSocket recfd, float dataRef[][9], unsigned short rows) { int i; @@ -303,40 +349,6 @@ short requestDREF(XPCSocket sendfd, XPCSocket recfd, char DREFArray[][100], shor return -1; } -short pauseSim(XPCSocket recfd, short pause) -{ - char message[7]; - - //Preconditions - if (pause != 0 && pause != 1) - { - return errorReport("pauseSim", "Please set pause to 0 or 1"); - } - - strncpy(message,"SIMU",4); - message[5] = (char) pause; - message[6] = 0; - - sendUDP(recfd, message,6); - - return 0; -} - -short setCONN(XPCSocket recfd, unsigned short recPort) -{ - char message[10] = {0}; - int length; - strncpy(message,"CONN",4); - - memcpy(&message[5],&recPort,sizeof(recPort)); - - length = 5 + sizeof(recPort); - - sendUDP(recfd,message, length); - - return 0; -} - short sendPOSI(XPCSocket recfd, short ACNum, short numArgs, float valueArray[]) { char message[40] = {0}; diff --git a/C/src/xplaneConnect.h b/C/src/xplaneConnect.h index e0aa554..bcd4e74 100644 --- a/C/src/xplaneConnect.h +++ b/C/src/xplaneConnect.h @@ -88,15 +88,15 @@ typedef struct size_t numPoints; } xpcWypt; -// Basic Functions +// Low Level UDP Functions XPCSocket openUDP(unsigned short port, const char *xpIP, unsigned short xpPort); void closeUDP(XPCSocket sock); int sendUDP(XPCSocket sock, char buffer[], int len); int readUDP(XPCSocket sock, char buffer[], int len, struct sockaddr* recvaddr); - + // Configuration -short setCONN(XPCSocket recfd, unsigned short recPort); -short pauseSim(XPCSocket recfd, short); +int setCONN(XPCSocket sock); +int pauseSim(XPCSocket sock, char pause); // UDP DATA short parseDATA(const char my_message[], short messageLength, float dataRef[][9]); From 4e7e816da1791dd664c5735b17866ac320fb0906 Mon Sep 17 00:00:00 2001 From: Jason Watkins Date: Wed, 15 Apr 2015 15:58:23 -0700 Subject: [PATCH 04/17] Cleaned up DATA related functions. - Tweaked signatures to improve consistency and safety. - Improved error logging. - Removed parseDATA. When merged into readDATA, the meat of parseDATA is only a few lines of code. --- C/src/xplaneConnect.c | 118 ++++++++++++++++++++++++------------------ C/src/xplaneConnect.h | 7 ++- 2 files changed, 72 insertions(+), 53 deletions(-) diff --git a/C/src/xplaneConnect.c b/C/src/xplaneConnect.c index 5f199a6..d04c8b7 100755 --- a/C/src/xplaneConnect.c +++ b/C/src/xplaneConnect.c @@ -265,29 +265,80 @@ int pauseSim(XPCSocket sock, char pause) /**** End Configuration functions ****/ /*****************************************************************************/ -short sendDATA(XPCSocket recfd, float dataRef[][9], unsigned short rows) +/*****************************************************************************/ +/**** X-Plane UDP Data functions ****/ +/*****************************************************************************/ +int sendDATA(XPCSocket sock, float dataRef[][9], int rows) { - int i; - unsigned short length = rows*9*sizeof(float) + 5; - char message[5000]; - unsigned short step = 9*sizeof(float); - - strncpy(message,"DATA",4); - - for (i=0;i 134) { - message[5+i*step] = (char) dataRef[i][0]; - message[6+i*step] = (char) 0; - message[7+i*step] = (char) 0; - message[8+i*step] = (char) 0; - memcpy(&message[9+i*step], &dataRef[i][1], 8*sizeof(float)); + printError("sendDATA", "Too many rows."); + return -1; + } + + // Setup command + // 5 byte header + 134 rows * 9 values * 4 bytes per value => 4829 byte max length. + char buffer[4829] = "DATA"; + int len = 5 + rows * 9 * sizeof(float); + unsigned short step = 9 * sizeof(float); + for (int i=0;i 134) + { + printError("sendDATA", "Too many rows."); + // Read as much as we can anyway + rows = 134; + } + + // Read data + char buffer[4829] = { 0 }; + int result = readUDP(sock, buffer, 5120, NULL); + if (result <= 0) + { + printError("readDATA", "Failed to read from socket."); + return -1; + } + // Validate data + int readRows = (result - 5) / 36; + if (readRows > rows) + { + printError("readDATA", "Read more rows than will fit in dataRef."); + // Copy as much data as we can anyway + rows = readRows; + } + + // Parse data + for (int i = 0; i < rows; ++i) + { + dataRef[i][0] = buffer[5 + i * 36]; + memcpy(&dataRef[i][1], &buffer[9 + i * 36], 8 * sizeof(float)); + } + return rows; +} +/*****************************************************************************/ +/**** End X-Plane UDP Data functions ****/ +/*****************************************************************************/ + short sendDREF(XPCSocket recfd, const char *dataRef, unsigned short length_of_DREF, float *values, unsigned short number_of_values) { char message[5000]; int length = 7+length_of_DREF+number_of_values*sizeof(float); @@ -478,17 +529,7 @@ short sendWYPT(XPCSocket sendfd, WYPT_OP op, float points[], int numPoints) //READ //---------------------------------------- -short readDATA(XPCSocket recfd, float dataRef[][9]) -{ - char buf[5000]; - int buflen = readUDP(recfd,buf, NULL); - - if (buf[0]!= '\0') - { - return parseDATA(buf, buflen, dataRef); - } - return -1; -} + short readRequest(XPCSocket recfd, float *dataRef[], short arraySizes[], struct sockaddr *recvaddr) { @@ -544,27 +585,6 @@ xpcCtrl readCTRL(XPCSocket recfd) //PARSE //--------------------- -short parseDATA(const char my_message[], short messageLength, float dataRef[][9]) -{ - int i, j; - unsigned short totalColumns = ((messageLength-5)/36); - float tmp; - float data[20][9]; - - // Input Validation - - for (i=0;i Date: Wed, 15 Apr 2015 16:54:41 -0700 Subject: [PATCH 05/17] Cleaned up DREF functions and tweaked printError. - printError is now a varags function, and will print format strings for the message. - Removed several internal DREF functions from the header file. - Significantly improved error reporting in DREF functions. - Removed dynamic allocation for responses. Clients are now expected to provide fully allocated storage for getDREFs. An error message will be printed if the provided structure is too small. - Fixes nasa/XPlaneConnect#30 --- C/src/xplaneConnect.c | 252 ++++++++++++++++++++++++------------------ C/src/xplaneConnect.h | 14 +-- 2 files changed, 148 insertions(+), 118 deletions(-) diff --git a/C/src/xplaneConnect.c b/C/src/xplaneConnect.c index d04c8b7..d6a51fc 100755 --- a/C/src/xplaneConnect.c +++ b/C/src/xplaneConnect.c @@ -66,12 +66,19 @@ void usleep(__int64 usec) } #endif -void printError(char *functionName, char *errorMessage); +void printError(char *functionName, char *format, ...); short sendRequest(XPCSocket recfd, char DREFArray[][100], short DREFSizes[], short listLength); -void printError(char *functionName, char *errorMessage) +void printError(char *functionName, char *format) { - printf("[%s] ERROR: %s\n", functionName, errorMessage); + va_list args; + va_start(args, format); + + printf("[%s] ERROR: ", functionName); + vprintf(format, args); + printf("\n"); + + va_end(args); } /*****************************************************************************/ @@ -339,67 +346,153 @@ int readDATA(XPCSocket sock, float dataRef[][9], int rows) /**** End X-Plane UDP Data functions ****/ /*****************************************************************************/ -short sendDREF(XPCSocket recfd, const char *dataRef, unsigned short length_of_DREF, float *values, unsigned short number_of_values) { - char message[5000]; - int length = 7+length_of_DREF+number_of_values*sizeof(float); - - //HEADER - strncpy(message,"DREF",4); - - //DREF - message[5] = (char) length_of_DREF; - memcpy(&message[6],dataRef,length_of_DREF); - - //VALUES - message[length_of_DREF+6] = (char) number_of_values; - memcpy(&message[length_of_DREF+7],&values[0],sizeof(float)*number_of_values); - - sendUDP(recfd, message, length); - return 0; -} - -short sendRequest(XPCSocket recfd, char DREFArray[][100], short DREFSizes[], short listLength) +/*****************************************************************************/ +/**** DREF functions ****/ +/*****************************************************************************/ +int setDREF(XPCSocket sock, const char* dref, float values[], int size) { - int i; - char message[5000]={0}; - int length = 6; - - //HEADER - strncpy(message,"GETD",4); - - message[5] = (char) listLength; //Number of Values - - //The rest - for (i=0; i < listLength; i++) + // Setup command + // 5 byte header + max 255 char dref name + max 255 values * 4 bytes per value = 1279 + unsigned char buffer[1279] = "DREF"; + int drefLen = strnlen(dref, 256); + if (drefLen > 255) { - message[length] = (char) DREFSizes[i]; - memcpy(&message[length+1],DREFArray[i],message[length]); - length += message[length] + 1; + printError("setDREF", "dref length is too long. Must be less than 256 characters."); + return -1; } + if (size > 255) + { + printError("setDREF", "size is too big. Must be less than 256."); + return -2; + } + int len = 7 + drefLen + size * sizeof(float); - sendUDP(recfd, message, length); - + // Copy dref to buffer + buffer[5] = (unsigned char)drefLen; + memcpy(buffer + 6, dref, drefLen); + + // Copy values to buffer + buffer[6 + drefLen] = (unsigned char)size; + memcpy(buffer + 7 + drefLen, values, size * sizeof(float)); + + // Send command + if (sendUDP(sock, buffer, len) != 0) + { + printError("setDREF", "Failed to send command"); + return -2; + } return 0; } -short requestDREF(XPCSocket sendfd, XPCSocket recfd, char DREFArray[][100], short DREFSizes[], short listLength, float *resultArray[], short arraySizes[]) +int sendDREFRequest(XPCSocket sock, const char* drefs[], unsigned char count) { - int i; - - sendRequest(sendfd, DREFArray, DREFSizes, listLength); - - for (i=0; i<80; i++) + // Setup command + // 6 byte header + potentially 255 drefs, each 256 chars long. + // Easiest to just round to an even 2^16. + unsigned char buffer[65536] = "GETD"; + buffer[5] = count; + int len = 6; + for (int i = 0; i < count; ++i) { - int size = readDREF(recfd, resultArray, arraySizes); - if (size != -1) // Received input + size_t drefLen = strnlen(drefs[i], 256); + if (drefLen > 255) { - return size; + printError("getDREFs", "dref %d is too long.", i); + return -1; + } + buffer[len++] = (unsigned char)drefLen; + strncpy(buffer + len, drefs[i], drefLen); + len += drefLen; + } + // Send Command + if (sendUDP(sock, buffer, len) != 0) + { + printError("getDREFs", "Failed to send command"); + return -2; + } + return 0; +} + +int getDREFResponse(XPCSocket sock, float* values[], unsigned char count, int sizes[]) +{ + unsigned char buffer[65536]; + // Read data. Try 40 times to read, then give up. + // TODO: Why not just set the timeout to 40ms? + int result; + for (int i = 0; i < 40; ++i) + { + result = readUDP(sock, buffer, 65536, NULL); + if (result > 0) + { + break; + } + if (result < 0) + { + printError("getDREFs", "Read operation failed."); + return -1; } } - - return -1; + + if (result < 6) + { + printError("getDREFs", "Response was too short. Expected at least 6 bytes, but only got %d.", result); + return -2; + } + if (buffer[5] != count) + { + printError("getDREFs", "Unexpected response size. Expected %d rows, got %d instead.", count, buffer[5]); + return -3; + } + + int cur = 6; + for (int i = 0; i < count; ++i) + { + int l = buffer[cur++]; + if (l > sizes[i]) + { + printError("getDREFs", "values is too small. Row had %d values, only room for %d.", l, sizes[i]); + // Copy as many values as we can anyway + memcpy(values[i], buffer + cur, sizes[i] * sizeof(float)); + } + else + { + memcpy(values[i], buffer + cur, l * sizeof(float)); + sizes[i] = l; + } + cur += l * sizeof(float); + } + return 0; } +int getDREF(XPCSocket sock, const char* dref, float values[], int* size) +{ + return getDREFs(sock, &dref, &values, 1, size); +} + +int getDREFs(XPCSocket sock, const char* drefs[], float* values[], unsigned char count, int sizes[]) +{ + // Send Command + int result = sendDREFRequest(sock, drefs, count); + if (result < 0) + { + // A error ocurred while sending. + // sendDREFRequest will print an error message, so just return. + return -1; + } + + // Read Response + if (getDREFResponse(sock, values, count, sizes) < 0) + { + // A error ocurred while reading the response. + // getDREFResponse will print an error message, so just return. + return -2; + } + return 0; +} +/*****************************************************************************/ +/**** End DREF functions ****/ +/*****************************************************************************/ + short sendPOSI(XPCSocket recfd, short ACNum, short numArgs, float valueArray[]) { char message[40] = {0}; @@ -542,18 +635,6 @@ short readRequest(XPCSocket recfd, float *dataRef[], short arraySizes[], struct return -1; } -short readDREF(XPCSocket recfd, float *resultArray[], short arraySizes[]) -{ - char buf[5000] = {0}; - readUDP(recfd,buf, NULL); - - if (buf[0]!= '\0') - { - return parseRequest(buf, resultArray, arraySizes); - } - return -1; -} - short readPOSI(XPCSocket recfd, float resultArray[], int arraySize, float *gear) { char buf[5000] = {0}; @@ -586,53 +667,6 @@ xpcCtrl readCTRL(XPCSocket recfd) //PARSE //--------------------- -short parseDREF(const char my_message[], char *dataRef, unsigned short *length_of_DREF, float *values, unsigned short *number_of_values) -{ - *length_of_DREF = (unsigned short) my_message[5]; - memcpy(dataRef,&(my_message[6]),*length_of_DREF); - *number_of_values = (unsigned short) my_message[6+*length_of_DREF]; - memcpy(values,&my_message[*length_of_DREF+7],*number_of_values*sizeof(float)); - return 0; -} - -int parseGETD(const char my_message[], char *DREFArray[], int DREFSizes[]) -{ - int i; - int listLength = my_message[5]; - int counter = 6; - - for (i=0; i Date: Thu, 16 Apr 2015 09:34:25 -0700 Subject: [PATCH 06/17] Cleaned up POSI functions. - Removed readPOSI and parsePOSI functions. These were only used by the plugin, which no longer uses them. - Tweaked types, argument order, and names to improve concision and consistency with other functions. - Improved validation and error reporting. --- C/src/xplaneConnect.c | 95 ++++++++++++++++++------------------------- C/src/xplaneConnect.h | 7 ++-- 2 files changed, 42 insertions(+), 60 deletions(-) diff --git a/C/src/xplaneConnect.c b/C/src/xplaneConnect.c index d6a51fc..24d9c1c 100755 --- a/C/src/xplaneConnect.c +++ b/C/src/xplaneConnect.c @@ -493,42 +493,54 @@ int getDREFs(XPCSocket sock, const char* drefs[], float* values[], unsigned char /**** End DREF functions ****/ /*****************************************************************************/ -short sendPOSI(XPCSocket recfd, short ACNum, short numArgs, float valueArray[]) +/*****************************************************************************/ +/**** POSI functions ****/ +/*****************************************************************************/ +int psendPOSI(XPCSocket sock, float values[], int size) { - char message[40] = {0}; - int i; - short position = 6; - - // Input Verification - if (numArgs < 1) + return sendPOSI(sock, values, size, 0); +} + +int sendPOSI(XPCSocket sock, float values[], int size, char ac) +{ + // Validate input + if (ac < 0 || ac > 20) { - return errorReport("POSI", "Must have atleast one argument"); + printError("sendPOSI", "aircraft should be a value between 0 and 20."); + return -1; } - - // Header - strncpy(message,"POSI",4); - - // Aircraft - message[5] = (char) ACNum; - - // States - - for (i=0; i<7; i++) + if (size < 1 || size > 7) { - float val = -998.5; - - if ( i < numArgs ) + printError("sendPOSI", "size should be a value between 1 and 7."); + return -2; + } + + // Setup command + // 5 byte header + up to 7 values * 5 bytes each + unsigned char buffer[40] = "POSI"; + buffer[5] = ac; + for (int i = 0; i < 7; i++) + { + float val = -998; + + if (i < size) { - val = valueArray[i]; + val = values[i]; } - - memcpy(&message[position],&val,sizeof(float)); - position += sizeof(float); + *((float*)(buffer + 6 + i * 4)) = val; + } + + // Send Command + if (sendUDP(sock, buffer, 40) != 0) + { + printError("sendPOSI", "Failed to send command"); + return -2; } - - sendUDP(recfd, message, position); return 0; } +/*****************************************************************************/ +/**** End POSI functions ****/ +/*****************************************************************************/ short sendCTRL(XPCSocket recfd, short numArgs, float valueArray[]) { @@ -635,18 +647,6 @@ short readRequest(XPCSocket recfd, float *dataRef[], short arraySizes[], struct return -1; } -short readPOSI(XPCSocket recfd, float resultArray[], int arraySize, float *gear) -{ - char buf[5000] = {0}; - readUDP(recfd,buf, NULL); - - if (buf[0]!= '\0') // Buffer is not empty - { - return parsePOSI(buf, resultArray, arraySize, gear); - } - return -1; -} - xpcCtrl readCTRL(XPCSocket recfd) { xpcCtrl result; @@ -667,23 +667,6 @@ xpcCtrl readCTRL(XPCSocket recfd) //PARSE //--------------------- -short parsePOSI(const char my_message[], float resultArray[], int arraySize, float *gear) -{ - int i; - - // Input Validation - if (arraySize < 1) return -1; - - memcpy(gear,&my_message[30],4); - - for (i=0; (i Date: Thu, 16 Apr 2015 09:54:48 -0700 Subject: [PATCH 07/17] Cleaned up CTRL functions. - Removed parseCTRL and readCTRL. - Tweaked variable type, order and naming. - Improved validation and error reporting. - Updated Interface Control Document to reflect adition of aircraft number to CTRL command. --- C/src/xplaneConnect.c | 137 ++++++++++----------------- C/src/xplaneConnect.h | 17 +--- Docs/Interface Control Document.xlsx | Bin 155227 -> 155106 bytes 3 files changed, 50 insertions(+), 104 deletions(-) diff --git a/C/src/xplaneConnect.c b/C/src/xplaneConnect.c index 24d9c1c..004d4e1 100755 --- a/C/src/xplaneConnect.c +++ b/C/src/xplaneConnect.c @@ -542,53 +542,64 @@ int sendPOSI(XPCSocket sock, float values[], int size, char ac) /**** End POSI functions ****/ /*****************************************************************************/ -short sendCTRL(XPCSocket recfd, short numArgs, float valueArray[]) +/*****************************************************************************/ +/**** CTRL functions ****/ +/*****************************************************************************/ +int psendCTRL(XPCSocket sock, float values[], int size) { - return sendpCTRL(recfd, numArgs, valueArray, 0); + return sendCTRL(sock, values, size, 0); } -short sendpCTRL(XPCSocket recfd, short numArgs, float valueArray[], char acNum) +int sendCTRL(XPCSocket sock, float values[], int size, char ac) { - char message[27] = { 0 }; - int i; - short position = 5; - - // Input Verification - if (numArgs < 1) + // Validate input + if (ac < 0 || ac > 20) { - return errorReport("CTRL", "Must have atleast one argument"); + printError("sendCTRL", "aircraft should be a value between 0 and 20."); + return -1; } - - // Header - strncpy(message,"CTRL",4); - - // States - for (i=0;i<6;i++) + if (size < 1 || size > 7) { - float val = -998.5; - - if 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 TKwyDC-QWpzcn$E|590p-ymZBR literal 155227 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 wv?2u9??d3 Date: Thu, 16 Apr 2015 10:54:41 -0700 Subject: [PATCH 08/17] Cleaned up drawing functions. --- C/src/xplaneConnect.c | 135 +++++++++++++++++------------------------- C/src/xplaneConnect.h | 33 +++-------- 2 files changed, 61 insertions(+), 107 deletions(-) diff --git a/C/src/xplaneConnect.c b/C/src/xplaneConnect.c index 004d4e1..be9bf6c 100755 --- a/C/src/xplaneConnect.c +++ b/C/src/xplaneConnect.c @@ -601,100 +601,73 @@ int sendCTRL(XPCSocket sock, float values[], int size, char ac) /**** End CTRL functions ****/ /*****************************************************************************/ -short sendTEXT(XPCSocket sendfd, char* msg, int x, int y) +/*****************************************************************************/ +/**** Drawing functions ****/ +/*****************************************************************************/ +int sendTEXT(XPCSocket sock, char* msg, int x, int y) { - char buf[269] = { 0 }; + // Input Validation + if (x < -1) + { + printError("sendTEXT", "x should be positive (or -1 for default)."); + // Technically, this should work, and may print something to the screen. + } + if (y < -1) + { + printError("sendTEXT", "y should be positive (or -1 for default)."); + // Negative y will never result in text being displayed. + return -1; + } + + // Setup command + // 5 byte header + 8 byte position + up to 256 byte message + char buffer[269] = "TEXT"; size_t msgLen = strnlen(msg, 255); size_t len = 14 + msgLen; - strcpy(buf, "TEXT"); - memcpy(buf + 5, &x, sizeof(int)); - memcpy(buf + 9, &y, sizeof(int)); - buf[13] = msgLen; - strncpy(buf + 14, msg, msgLen); - - sendUDP(sendfd, buf, len); + memcpy(buffer + 5, &x, sizeof(int)); + memcpy(buffer + 9, &y, sizeof(int)); + buffer[13] = msgLen; + strncpy(buffer + 14, msg, msgLen); + + // Send Command + if (sendUDP(sock, buffer, 40) != 0) + { + printError("sendTEXT", "Failed to send command"); + return -2; + } return 0; } -short sendWYPT(XPCSocket sendfd, WYPT_OP op, float points[], int numPoints) +int sendWYPT(XPCSocket sock, WYPT_OP op, float points[], int count) { - char buf[255] = "WYPT"; - //Preconditions - //Validate operation - if (op < xpc_WYPT_ADD || op > xpc_WYPT_CLR) + // Input Validation + if (op < XPC_WYPT_ADD || op > XPC_WYPT_CLR) { + printError("sendWYPT", "Unrecognized operation."); return -1; } - //Validate number of points - else if (numPoints > 19) + if (count > 255) { + printError("sendWYPT", "Too many points. Must be less than 256."); return -2; } - //Everything checks out; send the message - else + + // Setup Command + // 7 byte header + 12 bytes * count + char buffer[3067] = "WYPT"; + buffer[5] = (unsigned char)op; + buffer[6] = (unsigned char)count; + size_t ptLen = sizeof(float) * 3 * count; + memcpy(buffer + 7, points, ptLen); + + // Send Command + if (sendUDP(sock, buffer, 40) != 0) { - buf[5] = op; - buf[6] = numPoints; - size_t len = sizeof(float) * 3 * numPoints; - memcpy(buf + 7, points, len); - sendUDP(sendfd, buf, len + 7); - return 0; + printError("sendWYPT", "Failed to send command"); + return -2; } + return 0; } - -//READ -//---------------------------------------- - - - -short readRequest(XPCSocket recfd, float *dataRef[], short arraySizes[], struct sockaddr *recvaddr) -{ - char buf[5000]; - readUDP(recfd,buf, recvaddr); - if (buf[0]!= '\0') - { - return parseRequest(buf, dataRef, arraySizes); - } - return -1; -} - -//PARSE -//--------------------- - - -xpcWypt parseWYPT(const char data[]) -{ - xpcWypt result; - unsigned char len = data[4]; - //Preconditions - //Validate message prefix to ensure we are looking at the right kind of packet. - if (strncmp(data, "WYPT", 4) != 0) - { - result.op = -1; - } - //Validate operation - else if (data[5] < xpc_WYPT_ADD || data[5] > xpc_WYPT_CLR) - { - result.op = -1; - } - //Validate number of points - else if (data[6] > 19) - { - result.op = -2; - } - //Everything checks out; copy the points into result - else - { - result.op = data[5]; - result.numPoints = data[6]; - char* ptr = data + 7; - for (size_t i = 0; i < result.numPoints; ++i) - { - result.points[i].latitude = *((float*)ptr); - result.points[i].longitude = *((float*)(ptr + 4)); - result.points[i].altitude = *((float*)(ptr + 8)); - ptr += 12; - } - } - return result; -} +/*****************************************************************************/ +/**** End Drawing functions ****/ +/*****************************************************************************/ diff --git a/C/src/xplaneConnect.h b/C/src/xplaneConnect.h index 2118e8c..4e71b52 100644 --- a/C/src/xplaneConnect.h +++ b/C/src/xplaneConnect.h @@ -56,26 +56,12 @@ typedef struct #endif } XPCSocket; -typedef struct -{ - double latitude; - double longitude; - double altitude; -} Waypoint; - typedef enum { - xpc_WYPT_ADD = 1, - xpc_WYPT_DEL = 2, - xpc_WYPT_CLR = 3 + XPC_WYPT_ADD = 1, + XPC_WYPT_DEL = 2, + XPC_WYPT_CLR = 3 } WYPT_OP; - -typedef struct -{ - WYPT_OP op; - Waypoint points[20]; - size_t numPoints; -} xpcWypt; // Low Level UDP Functions XPCSocket openUDP(unsigned short port, const char *xpIP, unsigned short xpPort); @@ -104,16 +90,11 @@ int sendPOSI(XPCSocket sock, float values[], int size, char ac); int psendCTRL(XPCSocket sock, float values[], int size); int sendCTRL(XPCSocket sock, float values[], int size, char ac); -// Waypoints -xpcWypt parseWYPT(const char data[]); -short sendWYPT(XPCSocket sendfd, WYPT_OP op, float points[], int numPoints); +// Drawing +int sendTEXT(XPCSocket sock, char* msg, int x, int y); +int sendWYPT(XPCSocket sock, WYPT_OP op, float points[], int count); -// Screen Text -short sendTEXT(XPCSocket sendfd, char* msg, int x, int y); - - - #ifdef __cplusplus } #endif -#endif //ifdef _h +#endif From 556b3622ee4324aa8a661d2ef2105004c3ead434 Mon Sep 17 00:00:00 2001 From: Jason Watkins Date: Thu, 16 Apr 2015 14:44:06 -0700 Subject: [PATCH 09/17] Fixed C client tests to work with new client version. --- TestScripts/C Tests/main.c | 616 ++++++++++++++++--------------------- 1 file changed, 271 insertions(+), 345 deletions(-) diff --git a/TestScripts/C Tests/main.c b/TestScripts/C Tests/main.c index 4ee58ba..62f31bb 100644 --- a/TestScripts/C Tests/main.c +++ b/TestScripts/C Tests/main.c @@ -16,12 +16,10 @@ int testFailed = 0; int testPassed = 0; -void runTest(short (*f)()) +void runTest(int (*test)(), char* name) { - short result; - - printf("Test %i: ",testPassed+testFailed+1); - result = (*f)(); // Run Test + int result = test(); // Run Test + printf("Test %i: %s - ", testPassed + testFailed + 1, name); if (result == 0) { printf("PASSED\n"); @@ -34,63 +32,54 @@ void runTest(short (*f)()) } } -short openTest() // openUDP Test +int openTest() // openUDP Test { - printf("openUDP - "); - struct xpcSocket sendPort = openUDP( 49062, "127.0.0.1", 49009 ); + XPCSocket sock = openUDP( 49062, "127.0.0.1", 49009 ); + closeUDP(sock); return 0; } -short closeTest() // closeUDP test +int closeTest() // closeUDP test { - printf("closeUDP - "); - struct xpcSocket sendPort = openUDP( 49063, "127.0.0.1", 49009 ); + XPCSocket sendPort = openUDP( 49063, "127.0.0.1", 49009 ); closeUDP(sendPort); sendPort = openUDP(49063, "127.0.0.1", 49009); closeUDP(sendPort); return 0; } -short sendReadTest() // send/read Test +int sendReadTest() // send/read Test { - printf("send/readUDP - "); - // Initialization - int i; // Iterator char test[] = {0, 1, 2, 3, 5}; char buf[5] = {0}; - struct xpcSocket sendPort, recvPort; - - // Setup - sendPort = openUDP( 49064, "127.0.0.1", 49063 ); - recvPort = openUDP( 49063, "127.0.0.1", 49009 ); + XPCSocket outSock = openUDP(49064, "127.0.0.1", 49063); + XPCSocket inSock = openUDP(49063, "127.0.0.1", 49009); // Execution - sendUDP( sendPort, test, sizeof(test) ); - readUDP( recvPort, buf, NULL ); // Test + sendUDP(outSock, test, sizeof(test)); + readUDP(inSock, buf, sizeof(buf), NULL); // Close - closeUDP(sendPort); - closeUDP(recvPort); + closeUDP(outSock); + closeUDP(inSock); // Tests - for (i=0; i<4; i++) - { - if (test[i] != buf[i]) // Not received correctly - { - return -1; - } - } + for (int i = 0; i < sizeof(buf); i++) + { + if (test[i] != buf[i]) // Not received correctly + { + return -1; + } + } return 0; } -short sendTEXTTest() +int sendTEXTTest() { - printf("sendTEXT - "); - // Setup - struct xpcSocket sendPort = openUDP(49064, "127.0.0.1", 49009); + XPCSocket sendPort = openUDP(49064, "127.0.0.1", 49009); int x = 100; int y = 700; char* msg = "XPlaneConnect test message. Now with 100% fewer new lines!"; @@ -104,262 +93,177 @@ short sendTEXTTest() return 0; } -short requestDREFTest() // Request DREF Test (Required for next tests) +int requestDREFTest() // Request DREF Test (Required for next tests) { - printf("requestDREF - "); - // Initialization - int i; // Iterator - char DREFArray[100][100]; - float *recDATA[100]; - short DREFSizes[100]; - struct xpcSocket sendPort, recvPort; - short result = 0; + char* drefs[100] = + { + "sim/cockpit/switches/gear_handle_status", + "sim/cockpit2/switches/panel_brightness_ratio" + }; + float* data[100]; + int sizes[100]; + XPCSocket sock = openUDP(49064, "127.0.0.1", 49009); // Setup - for (i = 0; i < 100; i++) { - recDATA[i] = (float *) malloc(40*sizeof(float)); - memset(DREFArray[i],0,100); - } - sendPort = openUDP( 49064, "127.0.0.1", 49009 ); - recvPort = openUDP( 49008, "127.0.0.1", 49009 ); - strcpy(DREFArray[0],"sim/cockpit/switches/gear_handle_status"); - strcpy(DREFArray[1],"sim/cockpit2/switches/panel_brightness_ratio"); - for (i=0;i<2;i++) { - DREFSizes[i] = (int) strlen(DREFArray[i]); - } + for (int i = 0; i < 100; ++i) + { + data[i] = (float*)malloc(40 * sizeof(float)); + sizes[i] = 40; + } // Execution - result = requestDREF(sendPort, recvPort, DREFArray, DREFSizes, 2, recDATA, DREFSizes); + int result = getDREFs(sock, drefs, data, 2, sizes); // Close - closeUDP(sendPort); - closeUDP(recvPort); + closeUDP(sock); // Tests if ( result < 0)// Request 2 values { return -1; } - if (DREFSizes[0] != 1 || DREFSizes[1] != 4) + if (sizes[0] != 1 || sizes[1] != 4) { return -2; } return 0; } -short sendDREFTest() // sendDREF test +int sendDREFTest() // sendDREF test { - printf("sendDREF - "); - // Initialization - int i; // Iterator - char DREFArray[100][100]; - float *recDATA[100]; - short DREFSizes[100]; - float value = 0.0; - struct xpcSocket sendPort, recvPort; - short result = 0; - - // Setup - for (i = 0; i < 100; i++) { - recDATA[i] = (float *) malloc(40*sizeof(float)); - memset(DREFArray[i],0,100); - } - sendPort = openUDP( 49066, "127.0.0.1", 49009 ); - recvPort = openUDP( 49008, "127.0.0.1", 49009 ); - strcpy(DREFArray[0],"sim/cockpit/switches/gear_handle_status"); - for (i=0;i<1;i++) { - DREFSizes[i] = (int) strlen(DREFArray[i]); - } - + char* drefs[100] = + { + "sim/cockpit/switches/gear_handle_status" + }; + float* data[100]; + int sizes[100]; + XPCSocket sock = openUDP(49066, "127.0.0.1", 49009); + float value = 1.0F; + + // Setup + for (int i = 0; i < 100; ++i) + { + data[i] = (float*)malloc(40 * sizeof(float)); + sizes[i] = 40; + } + // Execution - sendDREF(sendPort, DREFArray[0], DREFSizes[0], &value, 1); - result = requestDREF(sendPort, recvPort, DREFArray, DREFSizes, 1, recDATA, DREFSizes); + setDREF(sock, drefs[0], &value, 1); + int result = getDREFs(sock, drefs, data, 1, sizes); // Close - closeUDP(sendPort); - closeUDP(recvPort); + closeUDP(sock); // Tests if (result < 0)// Request 1 value { return -1; } - if (DREFSizes[0] != 1) + if (sizes[0] != 1) { return -2; } - if (*recDATA[0] != value) + if (data[0][0] != value) { return -3; - } + } return 0; } -short sendDATATest() // sendDATA test +int sendDATATest() // sendDATA test { - printf("sendData - "); - // Initialize int i,j; // Iterator - char DREFArray[100][100]; - float data[4][9] = {0}; - float *recDATA[100]; - short DREFSizes[100]; - struct xpcSocket sendPort, recvPort; - short result = 0; - - // Setup - for (i = 0; i < 100; i++) { - recDATA[i] = (float *) malloc(40*sizeof(float)); - memset(DREFArray[i],0,100); - } - sendPort = openUDP( 49066, "127.0.0.1", 49009 ); - recvPort = openUDP( 49008, "127.0.0.1", 49009 ); - strcpy(DREFArray[0],"sim/aircraft/parts/acf_gear_deploy"); - for (i=0;i<1;i++) { - DREFSizes[i] = (int) strlen(DREFArray[i]); - } - for (i=0;i<4;i++) { // Set array to -999 - for (j=0;j<9;j++) data[i][j] = -999; - } + char* drefs[100] = + { + "sim/aircraft/parts/acf_gear_deploy" + }; + float* data[100]; + int sizes[100]; + float DATA[4][9]; + XPCSocket sock = openUDP(49066, "127.0.0.1", 49009); + + // Setup + for (int i = 0; i < 100; ++i) + { + data[i] = (float*)malloc(40 * sizeof(float)); + sizes[i] = 40; + } + for (i = 0; i < 4; i++) + { + for (j = 0; j < 9; j++) + { + data[i][j] = -998; + } + } data[0][0] = 14; // Gear data[0][1] = 1; data[0][2] = 0; // Execution - sendDATA(sendPort, data, 1); // Gear - result = requestDREF(sendPort, recvPort, DREFArray, DREFSizes, 1, recDATA, DREFSizes); // Test + sendDATA(sock, DATA, 1); + int result = getDREFs(sock, drefs, data, 1, sizes); // Close - closeUDP(sendPort); - closeUDP(recvPort); + closeUDP(sock); // Tests if ( result < 0 )// Request 1 value { return -1; } - if (DREFSizes[0] != 10) + if (sizes[0] != 10) { return -2; } - if (*recDATA[0] != data[0][1]) + if (*data[0] != data[0][1]) { return -3; } return 0; } -short sendCTRLTest() // sendCTRL test +int psendCTRLTest() // sendCTRL test { - printf("sendCTRL - "); - // Initialize - int i; // Iterator - char DREFArray[100][100]; - float CTRL[6] = { 0.0 }; - float *recDATA[100]; - short DREFSizes[100]; - struct xpcSocket sendPort, recvPort; - short result; + char* drefs[100] = + { + "sim/cockpit2/controls/yoke_pitch_ratio", + "sim/cockpit2/controls/yoke_roll_ratio", + "sim/cockpit2/controls/yoke_heading_ratio", + "sim/flightmodel/engine/ENGN_thro", + "sim/cockpit/switches/gear_handle_status", + "sim/flightmodel/controls/flaprqst" + }; + float* data[100]; + int sizes[100]; + float CTRL[6] = { 0.0F, 0.0F, 0.0F, 0.8F, 1.0F, 0.5F }; + XPCSocket sock = openUDP(49066, "127.0.0.1", 49009); // Setup - for (i = 0; i < 100; i++) { - recDATA[i] = (float *)malloc(40 * sizeof(float)); - memset(DREFArray[i], 0, 100); + for (int i = 0; i < 100; i++) + { + data[i] = (float*)malloc(40 * sizeof(float)); + sizes[i] = 40; } - sendPort = openUDP(49066, "127.0.0.1", 49009); - recvPort = openUDP(49008, "127.0.0.1", 49009); - strcpy(DREFArray[0], "sim/cockpit2/controls/yoke_pitch_ratio"); - strcpy(DREFArray[1], "sim/cockpit2/controls/yoke_roll_ratio"); - strcpy(DREFArray[2], "sim/cockpit2/controls/yoke_heading_ratio"); - strcpy(DREFArray[3], "sim/flightmodel/engine/ENGN_thro"); - strcpy(DREFArray[4], "sim/cockpit/switches/gear_handle_status"); - strcpy(DREFArray[5], "sim/flightmodel/controls/flaprqst"); - for (i = 0; i < 100; i++) { - DREFSizes[i] = (int)strlen(DREFArray[i]); - } - CTRL[3] = 0.8; // Throttle - CTRL[4] = 1; // Gear - CTRL[5] = 0.5; // Flaps // Execute - sendCTRL(sendPort, 6, CTRL); - result = requestDREF(sendPort, recvPort, DREFArray, DREFSizes, 6, recDATA, DREFSizes); // Test + psendCTRL(sock, CTRL, 6); + int result = getDREFs(sock, drefs, data, 6, sizes); - // Close - closeUDP(sendPort); - closeUDP(recvPort); + // Close socket + closeUDP(sock); // Tests if (result < 0)// Request 1 value { return -6; } - for (i = 0; i<6; i++) + for (int i = 0; i < 6; i++) { - if (fabs(recDATA[i][0] - CTRL[i])>1e-4) - { - return -i - 1; - } - } - - return 0; -} - -short sendpCTRLTest() -{ - printf("sendNonPlayerCTRL - "); - - // Initialize - int i; // Iterator - char DREFArray[100][100]; - float CTRL[6] = { 0.0 }; - float *recDATA[100]; - short DREFSizes[100]; - struct xpcSocket sendPort, recvPort; - short result; - - // Setup - for (i = 0; i < 100; i++) - { - recDATA[i] = (float *)malloc(40 * sizeof(float)); - memset(DREFArray[i], 0, 100); - } - sendPort = openUDP(49066, "127.0.0.1", 49009); - recvPort = openUDP(49008, "127.0.0.1", 49009); - strcpy(DREFArray[0], "sim/multiplayer/position/plane1_yolk_pitch"); - strcpy(DREFArray[1], "sim/multiplayer/position/plane1_yolk_roll"); - strcpy(DREFArray[2], "sim/multiplayer/position/plane1_yolk_yaw"); - strcpy(DREFArray[3], "sim/multiplayer/position/plane1_throttle"); - strcpy(DREFArray[4], "sim/multiplayer/position/plane1_gear_deploy"); - strcpy(DREFArray[5], "sim/multiplayer/position/plane1_flap_ratio"); - for (i = 0; i < 100; i++) - { - DREFSizes[i] = (int)strlen(DREFArray[i]); - } - CTRL[3] = 0.8; // Throttle - CTRL[4] = 1; // Gear - CTRL[5] = 0.5; // Flaps - - // Execute - sendpCTRL(sendPort, 6, CTRL, 1); - result = requestDREF(sendPort, recvPort, DREFArray, DREFSizes, 9, recDATA, DREFSizes); // Test - - // Close - closeUDP(sendPort); - closeUDP(recvPort); - - // Tests - if (result < 0)// Request 1 value - { - return -6; - } - for (i = 0; i<6; i++) - { - if (fabs(recDATA[i][0] - CTRL[i])>1e-4) + if (fabs(data[i][0] - CTRL[i]) > 1e-4) { return -i - 1; } @@ -368,51 +272,85 @@ short sendpCTRLTest() return 0; } -short sendPOSITest() // sendPOSI test +int sendCTRLTest() +{ + // Initialize + char* drefs[100] = + { + "sim/multiplayer/position/plane1_yolk_pitch", + "sim/multiplayer/position/plane1_yolk_roll", + "sim/multiplayer/position/plane1_yolk_yaw", + "sim/multiplayer/position/plane1_throttle", + "sim/multiplayer/position/plane1_gear_deploy", + "sim/multiplayer/position/plane1_flap_ratio", + }; + float* data[100]; + int sizes[100]; + float CTRL[6] = { 0.0F, 0.0F, 0.0F, 0.8F, 1.0F, 0.5F }; + XPCSocket sock = openUDP(49066, "127.0.0.1", 49009); + + // Setup + for (int i = 0; i < 100; i++) + { + data[i] = (float*)malloc(40 * sizeof(float)); + sizes[i] = 40; + } + + // Execute + sendCTRL(sock, CTRL, 6, 1); + int result = getDREFs(sock, drefs, data, 6, sizes); + + // Close socket + closeUDP(sock); + + // Tests + if (result < 0)// Request 1 value + { + return -6; + } + for (int i = 0; i < 6; i++) + { + if (fabs(data[i][0] - CTRL[i]) > 1e-4) + { + return -i - 1; + } + } + + return 0; +} + +int sendPOSITest() // sendPOSI test { - printf("sendPOSI - "); - // Initialization int i; // Iterator - char DREFArray[100][100]; - float POSI[8] = {0.0}; - float *recDATA[100]; - short DREFSizes[100]; - struct xpcSocket sendPort, recvPort; - short result; + char* drefs[100] = + { + "sim/flightmodel/position/latitude", + "sim/flightmodel/position/longitude", + "sim/flightmodel/position/y_agl", + "sim/flightmodel/position/phi", + "sim/flightmodel/position/theta", + "sim/flightmodel/position/psi", + "sim/cockpit/switches/gear_handle_status" + }; + float* data[100]; + int sizes[100]; + float POSI[8] = { 37.524F, -122.06899F, 2500, 0, 0, 0, 1 }; + XPCSocket sock = openUDP(49063, "127.0.0.1", 49009); // Setup - for (i = 0; i < 100; i++) { - recDATA[i] = (float *) malloc(40*sizeof(float)); - memset(DREFArray[i],0,100); + for (i = 0; i < 100; i++) + { + data[i] = (float*)malloc(40 * sizeof(float)); + sizes[i] = 40; } - sendPort = openUDP( 49063, "127.0.0.1", 49009 ); - recvPort = openUDP( 49008, "127.0.0.1", 49009 ); - strcpy(DREFArray[0],"sim/flightmodel/position/latitude"); - strcpy(DREFArray[1],"sim/flightmodel/position/longitude"); - strcpy(DREFArray[2],"sim/flightmodel/position/y_agl"); - strcpy(DREFArray[3],"sim/flightmodel/position/phi"); - strcpy(DREFArray[4],"sim/flightmodel/position/theta"); - strcpy(DREFArray[5],"sim/flightmodel/position/psi"); - strcpy(DREFArray[6],"sim/cockpit/switches/gear_handle_status"); - for (i=0;i<7;i++) { - DREFSizes[i] = (int) strlen(DREFArray[i]); - } - POSI[0] = 37.524; // Lat - POSI[1] = -122.06899; // Lon - POSI[2] = 2500; // Alt - POSI[3] = 0; // Pitch - POSI[4] = 0; // Roll - POSI[5] = 0; // Heading - POSI[6] = 1; // Gear // Execution - sendPOSI( sendPort, 0, 7, POSI ); - result = requestDREF(sendPort, recvPort, DREFArray, DREFSizes, 7, recDATA, DREFSizes); // Test + sendPOSI(sock, POSI, 7, 0); + int result = getDREFs(sock, drefs, data, 7, sizes); // Close - closeUDP(sendPort); - closeUDP(recvPort); + closeUDP(sock); // Tests if ( result < 0 )// Request 1 value @@ -421,114 +359,104 @@ short sendPOSITest() // sendPOSI test } for (i=0;i<7-1;i++) { - if (i==2) - { - continue; - } - if (fabs(recDATA[i][0]-POSI[i])>1e-4) - { - return -i; - } + if (i == 2) + { + continue; + } + if (fabs(data[i][0] - POSI[i]) > 1e-4) + { + return -i; + } } return 0; } -short sendWYPTTest() +int sendWYPTTest() { - printf("sendWYPT - "); - // Setup - struct xpcSocket sendPort = openUDP(49064, "127.0.0.1", 49009); + XPCSocket sock = openUDP(49064, "127.0.0.1", 49009); float points[] = { - 37.5245, -122.06899, 2500, - 37.455397, -122.050037, 2500, - 37.469567, -122.051411, 2500, - 37.479376, -122.060509, 2300, - 37.482237, -122.076130, 2100, - 37.474881, -122.087288, 1900, - 37.467660, -122.079391, 1700, - 37.466298, -122.090549, 1500, - 37.362562, -122.039223, 1000, - 37.361448, -122.034416, 1000, - 37.361994, -122.026348, 1000, - 37.365541, -122.022572, 1000, - 37.373727, -122.024803, 1000, - 37.403869, -122.041283, 50, - 37.418544, -122.049222, 6 + 37.5245F, -122.06899F, 2500, + 37.455397F, -122.050037F, 2500, + 37.469567F, -122.051411F, 2500, + 37.479376F, -122.060509F, 2300, + 37.482237F, -122.076130F, 2100, + 37.474881F, -122.087288F, 1900, + 37.467660F, -122.079391F, 1700, + 37.466298F, -122.090549F, 1500, + 37.362562F, -122.039223F, 1000, + 37.361448F, -122.034416F, 1000, + 37.361994F, -122.026348F, 1000, + 37.365541F, -122.022572F, 1000, + 37.373727F, -122.024803F, 1000, + 37.403869F, -122.041283F, 50, + 37.418544F, -122.049222F, 6 }; // Test - sendWYPT(sendPort, xpc_WYPT_ADD, points, 15); + sendWYPT(sock, XPC_WYPT_ADD, points, 15); + // NOTE: Visually ensure waypoints are added in the sim // Cleanup - closeUDP(sendPort); + closeUDP(sock); return 0; } -short pauseTest() // pauseSim test +int pauseTest() // pauseSim test { - printf("pauseSim - "); - // Initialize int i; // Iterator - char DREFArray[100][100]; - float *recDATA[100]; - short DREFSizes[100],RECSizes[100]; - struct xpcSocket sendPort, recvPort; - short result; + char* drefs[100] = + { + "sim/operation/override/override_planepath" + }; + float* data[100]; + int sizes[100]; + XPCSocket sock = openUDP(49064, "127.0.0.1", 49009); // Setup - for (i = 0; i < 100; i++) { - recDATA[i] = (float *) malloc(40*sizeof(float)); - memset(DREFArray[i],0,100); - } - - // Setup - sendPort = openUDP( 49064, "127.0.0.1", 49009 ); - recvPort = openUDP( 49008, "127.0.0.1", 49009 ); - strcpy(DREFArray[0],"sim/operation/override/override_planepath"); - for (i=0;i<1;i++) { - DREFSizes[i] = (int) strlen(DREFArray[i]); + for (i = 0; i < 100; i++) + { + data[i] = (float*)malloc(40 * sizeof(float)); + sizes[i] = 40; } // Execute - pauseSim(sendPort, 1); - result = requestDREF(sendPort, recvPort, DREFArray, DREFSizes, 1, recDATA, RECSizes); // Test + pauseSim(sock, 1); + int result = getDREF(sock, drefs[0], data[0], sizes); // Close - closeUDP(sendPort); - closeUDP(recvPort); + closeUDP(sock); // Test - if (result < 0) { + if (result < 0) + { return -1; } - if (recDATA[0][0] != 1) + if (data[0][0] != 1) { return -2; } // Reopen - sendPort = openUDP( 49064, "127.0.0.1", 49009 ); - recvPort = openUDP( 49008, "127.0.0.1", 49009 ); + sock = openUDP(49064, "127.0.0.1", 49009); // Execute 2 - pauseSim(sendPort, 0); - result = requestDREF(sendPort, recvPort, DREFArray, DREFSizes, 1, recDATA, RECSizes); // Test + pauseSim(sock, 0); + result = getDREF(sock, drefs[0], data[0], sizes); // Close 2 - closeUDP(sendPort); - closeUDP(recvPort); + closeUDP(sock); // Test 2 if (result < 0) { return -3; } - if (recDATA[0][0] != 0) + if (data[0][0] != 0) { return -4; } @@ -536,48 +464,46 @@ short pauseTest() // pauseSim test return 0; } -short connTest() // setConn test +int connTest() // setConn test { - printf("setConn - "); - // Initialize - int i; // Iterator - char DREFArray[100][100]; - float *recDATA[100]; - short DREFSizes[100]; - struct xpcSocket sendPort, recvPort; - short result = 0; + char* drefs[100] = + { + "sim/cockpit/switches/gear_handle_status" + }; + float* data[100]; + int sizes[100]; + XPCSocket sock = openUDP(49067, "127.0.0.1", 49009); #if (__APPLE__ || __linux) usleep(0); #endif // Setup - sendPort = openUDP( 49067, "127.0.0.1", 49009 ); - recvPort = openUDP( 49055, "127.0.0.1", 49009 ); - strcpy(DREFArray[0],"sim/cockpit/switches/gear_handle_status"); - for (i=0;i<1;i++) { - DREFSizes[i] = (int) strlen(DREFArray[i]); - } + for (int i = 0; i < 100; ++i) + { + data[i] = (float*)malloc(40 * sizeof(float)); + sizes[i] -= 40; + } // Execution - setCONN(sendPort, 49055); - result = requestDREF(sendPort, recvPort, DREFArray, DREFSizes, 1, recDATA, DREFSizes); // Test + sock.port = 49055; + setCONN(sock); + int result = getDREF(sock, drefs[0], data[0], sizes); // Close - closeUDP(sendPort); - closeUDP(recvPort); + closeUDP(sock); // Test if ( result < 0 )// No data received { return -1; - } - + } // Set up for next test - sendPort = openUDP( 49067, "127.0.0.1", 49009 ); - setCONN(sendPort, 49008); - closeUDP(sendPort); + sock = openUDP( 49055, "127.0.0.1", 49009 ); + sock.port = 49008; + setCONN(sock); + closeUDP(sock); return 0; } @@ -593,19 +519,19 @@ int main(int argc, const char * argv[]) printf("(Linux) \n"); #endif - runTest(openTest); - runTest(closeTest); - runTest(sendReadTest); - runTest(sendTEXTTest); - runTest(requestDREFTest); - runTest(sendDREFTest); - runTest(sendDATATest); - runTest(sendCTRLTest); - runTest(sendpCTRLTest); - runTest(sendPOSITest); - runTest(sendWYPTTest); - runTest(pauseTest); - runTest(connTest); + runTest(openTest, "open"); + runTest(closeTest, "close"); + runTest(sendReadTest, "send/read"); + runTest(sendTEXTTest, "TEXT"); + runTest(requestDREFTest, "GETD"); + runTest(sendDREFTest, "DREF"); + runTest(sendDATATest, "DATA"); + runTest(sendCTRLTest, "CTRL"); + runTest(psendCTRLTest, "CTRL (player)"); + runTest(sendPOSITest, "POSI"); + runTest(sendWYPTTest, "WYPT"); + runTest(pauseTest, "SIMU"); + runTest(connTest, "CONN"); printf( "----------------\nTest Summary\n\tFailed: %i\n\tPassed: %i\n", testFailed, testPassed ); From 55f3953955ee2e9cd0bc7c08ac9d4fe428dfd2ae Mon Sep 17 00:00:00 2001 From: Jason Watkins Date: Thu, 16 Apr 2015 16:23:25 -0700 Subject: [PATCH 10/17] Fixed errors and removed unused code in the C client. - Fixed a buffer overflow in sendCTRL. - Fixed incorrect inderection in readUDP. - Removed unused usleep function. - Removed redundant include of WS2tcpip.h - Fixed widespread error where sendUDP's return value was not being checked correctly. - Updated signature of openUDP to place optional parameters at the end - Fixed bug in CTRL command where the buffer length was not correctly set. - Fixed setCONN to correctlly reset the client's socket. --- C/src/xplaneConnect.c | 92 ++++++++++++++++++++------------------ C/src/xplaneConnect.h | 19 ++++---- TestScripts/C Tests/main.c | 45 ++++++++----------- 3 files changed, 77 insertions(+), 79 deletions(-) diff --git a/C/src/xplaneConnect.c b/C/src/xplaneConnect.c index be9bf6c..0c59442 100755 --- a/C/src/xplaneConnect.c +++ b/C/src/xplaneConnect.c @@ -48,28 +48,10 @@ #include #include -#ifdef _WIN32 /* WIN32 SYSTEM */ -#include -// From http://www.c-plusplus.de/forum/109539-full -void usleep(__int64 usec) -{ - HANDLE timer; - LARGE_INTEGER ft; - - ft.QuadPart = -(10*usec); // Convert to 100 nanosecond interval, negative value indicates relative time - - timer = CreateWaitableTimer(NULL, TRUE, NULL); - SetWaitableTimer(timer, &ft, 0, NULL, NULL, 0); - WaitForSingleObject(timer, INFINITE); - CloseHandle(timer); -} -#endif -void printError(char *functionName, char *format, ...); -short sendRequest(XPCSocket recfd, char DREFArray[][100], short DREFSizes[], short listLength); -void printError(char *functionName, char *format) +void printError(char *functionName, char *format, ...) { va_list args; va_start(args, format); @@ -84,7 +66,12 @@ void printError(char *functionName, char *format) /*****************************************************************************/ /**** Low Level UDP functions ****/ /*****************************************************************************/ -XPCSocket openUDP(unsigned short port, const char *xpIP, unsigned short xpPort) +XPCSocket aopenUDP(const char *xpIP, unsigned short xpPort) +{ + openUDP(xpIP, xpPort, 0); +} + +XPCSocket openUDP(const char *xpIP, unsigned short xpPort, unsigned short port) { XPCSocket sock; @@ -136,12 +123,12 @@ XPCSocket openUDP(unsigned short port, const char *xpIP, unsigned short xpPort) return sock; } -void closeUDP(XPCSocket socketNumber) +void closeUDP(XPCSocket sock) { #ifdef _WIN32 - int result = closesocket(socketNumber.sock); + int result = closesocket(sock.sock); #else - int result = close(socketNumber.sock); + int result = close(sock.sock); #endif if (result < 0) { @@ -178,9 +165,8 @@ int sendUDP(XPCSocket sock, char buffer[], int len) return result; } -int readUDP(XPCSocket sock, char buffer[], int len, struct sockaddr* recvaddr) +int readUDP(XPCSocket sock, char buffer[], int len) { - socklen_t recvaddrlen = sizeof(*recvaddr); #ifdef _WIN32 // Windows readUDP needs the select command- minimum timeout is 1ms. // Without this playback becomes choppy @@ -211,10 +197,10 @@ int readUDP(XPCSocket sock, char buffer[], int len, struct sockaddr* recvaddr) // No data return 0; } - status = recvfrom(sock.sock, buffer, len, 0, (struct sockaddr*)&recvaddr, &recvaddrlen); + status = recv(sock.sock, buffer, len, 0); #else // For apple or linux-just read - will timeout in 0.5 ms - status = (int)recvfrom(sock.sock, dataRef, len, 0, recvaddr, &recvaddrlen); + status = (int)recv(sock.sock, dataRef, len, 0); #endif if (status < 0) { @@ -229,19 +215,34 @@ int readUDP(XPCSocket sock, char buffer[], int len, struct sockaddr* recvaddr) /*****************************************************************************/ /**** Configuration functions ****/ /*****************************************************************************/ -int setCONN(XPCSocket sock) +int setCONN(XPCSocket* sock, unsigned short port) { // Set up command char buffer[32] = "CONN"; - memcpy(&buffer[5], &sock.port, 2); + memcpy(&buffer[5], &port, 2); + // Send command - if (sendUDP(sock, buffer, 7) != 0) + if (sendUDP(*sock, buffer, 7) < 0) { printError("setCONN", "Failed to send command"); return -1; } + + // Switch socket + closeUDP(*sock); + *sock = openUDP(sock->xpIP, sock->xpPort, port); + // Read response - if (readUDP(sock, buffer, 32, NULL) <= 0) + int result; + for (int i = 0; i < 64; ++i) + { + result = readUDP(*sock, buffer, 32); + if (result != 0) + { + break; + } + } + if (result <= 0) { printError("setCONN", "Failed to read response"); return -2; @@ -261,7 +262,7 @@ int pauseSim(XPCSocket sock, char pause) char buffer[6] = "SIMU"; buffer[5] = pause == 0 ? 0 : 1; // Send command - if (sendUDP(sock, buffer, 6) != 0) + if (sendUDP(sock, buffer, 6) < 0) { printError("pauseSim", "Failed to send command"); return -1; @@ -297,7 +298,7 @@ int sendDATA(XPCSocket sock, float dataRef[][9], int rows) memcpy(&buffer[9 + i*step], &dataRef[i][1], 8 * sizeof(float)); } // Send command - if (sendUDP(sock, buffer, len ) != 0) + if (sendUDP(sock, buffer, len ) < 0) { printError("sendDATA", "Failed to send command"); return -2; @@ -319,7 +320,7 @@ int readDATA(XPCSocket sock, float dataRef[][9], int rows) // Read data char buffer[4829] = { 0 }; - int result = readUDP(sock, buffer, 5120, NULL); + int result = readUDP(sock, buffer, 5120); if (result <= 0) { printError("readDATA", "Failed to read from socket."); @@ -376,7 +377,7 @@ int setDREF(XPCSocket sock, const char* dref, float values[], int size) memcpy(buffer + 7 + drefLen, values, size * sizeof(float)); // Send command - if (sendUDP(sock, buffer, len) != 0) + if (sendUDP(sock, buffer, len) < 0) { printError("setDREF", "Failed to send command"); return -2; @@ -405,7 +406,7 @@ int sendDREFRequest(XPCSocket sock, const char* drefs[], unsigned char count) len += drefLen; } // Send Command - if (sendUDP(sock, buffer, len) != 0) + if (sendUDP(sock, buffer, len) < 0) { printError("getDREFs", "Failed to send command"); return -2; @@ -419,16 +420,20 @@ int getDREFResponse(XPCSocket sock, float* values[], unsigned char count, int si // Read data. Try 40 times to read, then give up. // TODO: Why not just set the timeout to 40ms? int result; - for (int i = 0; i < 40; ++i) + for (int i = 0; i < 512; ++i) { - result = readUDP(sock, buffer, 65536, NULL); + result = readUDP(sock, buffer, 65536); if (result > 0) { break; } if (result < 0) { +#ifdef _WIN32 + printError("getDREFs", "Read operation failed. (%d)", WSAGetLastError()); +#else printError("getDREFs", "Read operation failed."); +#endif return -1; } } @@ -531,7 +536,7 @@ int sendPOSI(XPCSocket sock, float values[], int size, char ac) } // Send Command - if (sendUDP(sock, buffer, 40) != 0) + if (sendUDP(sock, buffer, 40) < 0) { printError("sendPOSI", "Failed to send command"); return -2; @@ -586,16 +591,15 @@ int sendCTRL(XPCSocket sock, float values[], int size, char ac) cur += sizeof(float); } } - buffer[27] = ac; + buffer[26] = ac; // Send Command - if (sendUDP(sock, buffer, 40) != 0) + if (sendUDP(sock, buffer, 27) < 0) { printError("sendCTRL", "Failed to send command"); return -2; } return 0; - } /*****************************************************************************/ /**** End CTRL functions ****/ @@ -630,7 +634,7 @@ int sendTEXT(XPCSocket sock, char* msg, int x, int y) strncpy(buffer + 14, msg, msgLen); // Send Command - if (sendUDP(sock, buffer, 40) != 0) + if (sendUDP(sock, buffer, 40) < 0) { printError("sendTEXT", "Failed to send command"); return -2; @@ -661,7 +665,7 @@ int sendWYPT(XPCSocket sock, WYPT_OP op, float points[], int count) memcpy(buffer + 7, points, ptLen); // Send Command - if (sendUDP(sock, buffer, 40) != 0) + if (sendUDP(sock, buffer, 40) < 0) { printError("sendWYPT", "Failed to send command"); return -2; diff --git a/C/src/xplaneConnect.h b/C/src/xplaneConnect.h index 4e71b52..9d63701 100644 --- a/C/src/xplaneConnect.h +++ b/C/src/xplaneConnect.h @@ -39,21 +39,21 @@ extern "C" { #include #include #endif - + typedef struct { char open; unsigned short port; - + // X-Plane IP and Port char xpIP[16]; unsigned short xpPort; - - #ifdef _WIN32 + +#ifdef _WIN32 SOCKET sock; - #else +#else int sock; - #endif +#endif } XPCSocket; typedef enum @@ -64,13 +64,14 @@ typedef enum } WYPT_OP; // Low Level UDP Functions -XPCSocket openUDP(unsigned short port, const char *xpIP, unsigned short xpPort); +XPCSocket aopenUDP(const char *xpIP, unsigned short xpPort); +XPCSocket openUDP(const char *xpIP, unsigned short xpPort, unsigned short port); void closeUDP(XPCSocket sock); int sendUDP(XPCSocket sock, char buffer[], int len); -int readUDP(XPCSocket sock, char buffer[], int len, struct sockaddr* recvaddr); +int readUDP(XPCSocket sock, char buffer[], int len); // Configuration -int setCONN(XPCSocket sock); +int setCONN(XPCSocket* sock, unsigned short port); int pauseSim(XPCSocket sock, char pause); // X-Plane UDP DATA diff --git a/TestScripts/C Tests/main.c b/TestScripts/C Tests/main.c index 62f31bb..9ecca83 100644 --- a/TestScripts/C Tests/main.c +++ b/TestScripts/C Tests/main.c @@ -34,16 +34,16 @@ void runTest(int (*test)(), char* name) int openTest() // openUDP Test { - XPCSocket sock = openUDP( 49062, "127.0.0.1", 49009 ); + XPCSocket sock = openUDP("127.0.0.1", 49009, 49062); closeUDP(sock); return 0; } int closeTest() // closeUDP test { - XPCSocket sendPort = openUDP( 49063, "127.0.0.1", 49009 ); + XPCSocket sendPort = openUDP("127.0.0.1", 49009, 49063); closeUDP(sendPort); - sendPort = openUDP(49063, "127.0.0.1", 49009); + sendPort = openUDP("127.0.0.1", 49009, 49063); closeUDP(sendPort); return 0; } @@ -53,8 +53,8 @@ int sendReadTest() // send/read Test // Initialization char test[] = {0, 1, 2, 3, 5}; char buf[5] = {0}; - XPCSocket outSock = openUDP(49064, "127.0.0.1", 49063); - XPCSocket inSock = openUDP(49063, "127.0.0.1", 49009); + XPCSocket outSock = openUDP("127.0.0.1", 49063, 49064); + XPCSocket inSock = openUDP("127.0.0.1", 49009, 49063); // Execution sendUDP(outSock, test, sizeof(test)); @@ -79,7 +79,7 @@ int sendReadTest() // send/read Test int sendTEXTTest() { // Setup - XPCSocket sendPort = openUDP(49064, "127.0.0.1", 49009); + XPCSocket sendPort = openUDP("127.0.0.1", 49009, 49064); int x = 100; int y = 700; char* msg = "XPlaneConnect test message. Now with 100% fewer new lines!"; @@ -103,7 +103,7 @@ int requestDREFTest() // Request DREF Test (Required for next tests) }; float* data[100]; int sizes[100]; - XPCSocket sock = openUDP(49064, "127.0.0.1", 49009); + XPCSocket sock = openUDP("127.0.0.1", 49009, 49064); // Setup for (int i = 0; i < 100; ++i) @@ -139,7 +139,7 @@ int sendDREFTest() // sendDREF test }; float* data[100]; int sizes[100]; - XPCSocket sock = openUDP(49066, "127.0.0.1", 49009); + XPCSocket sock = openUDP("127.0.0.1", 49009, 49066); float value = 1.0F; // Setup @@ -183,7 +183,7 @@ int sendDATATest() // sendDATA test float* data[100]; int sizes[100]; float DATA[4][9]; - XPCSocket sock = openUDP(49066, "127.0.0.1", 49009); + XPCSocket sock = openUDP("127.0.0.1", 49009, 49066); // Setup for (int i = 0; i < 100; ++i) @@ -240,7 +240,7 @@ int psendCTRLTest() // sendCTRL test float* data[100]; int sizes[100]; float CTRL[6] = { 0.0F, 0.0F, 0.0F, 0.8F, 1.0F, 0.5F }; - XPCSocket sock = openUDP(49066, "127.0.0.1", 49009); + XPCSocket sock = openUDP("127.0.0.1", 49009, 49066); // Setup for (int i = 0; i < 100; i++) @@ -287,7 +287,7 @@ int sendCTRLTest() float* data[100]; int sizes[100]; float CTRL[6] = { 0.0F, 0.0F, 0.0F, 0.8F, 1.0F, 0.5F }; - XPCSocket sock = openUDP(49066, "127.0.0.1", 49009); + XPCSocket sock = openUDP("127.0.0.1", 49009, 49066); // Setup for (int i = 0; i < 100; i++) @@ -336,7 +336,7 @@ int sendPOSITest() // sendPOSI test float* data[100]; int sizes[100]; float POSI[8] = { 37.524F, -122.06899F, 2500, 0, 0, 0, 1 }; - XPCSocket sock = openUDP(49063, "127.0.0.1", 49009); + XPCSocket sock = openUDP("127.0.0.1", 49009, 49063); // Setup for (i = 0; i < 100; i++) @@ -376,7 +376,7 @@ int sendPOSITest() // sendPOSI test int sendWYPTTest() { // Setup - XPCSocket sock = openUDP(49064, "127.0.0.1", 49009); + XPCSocket sock = openUDP("127.0.0.1", 49009, 49064); float points[] = { 37.5245F, -122.06899F, 2500, @@ -415,7 +415,7 @@ int pauseTest() // pauseSim test }; float* data[100]; int sizes[100]; - XPCSocket sock = openUDP(49064, "127.0.0.1", 49009); + XPCSocket sock = openUDP("127.0.0.1", 49009, 49064); // Setup for (i = 0; i < 100; i++) @@ -442,7 +442,7 @@ int pauseTest() // pauseSim test } // Reopen - sock = openUDP(49064, "127.0.0.1", 49009); + sock = openUDP("127.0.0.1", 49009, 49064); // Execute 2 pauseSim(sock, 0); @@ -473,7 +473,7 @@ int connTest() // setConn test }; float* data[100]; int sizes[100]; - XPCSocket sock = openUDP(49067, "127.0.0.1", 49009); + XPCSocket sock = openUDP("127.0.0.1", 49009, 49067); #if (__APPLE__ || __linux) usleep(0); #endif @@ -482,12 +482,11 @@ int connTest() // setConn test for (int i = 0; i < 100; ++i) { data[i] = (float*)malloc(40 * sizeof(float)); - sizes[i] -= 40; + sizes[i] = 40; } // Execution - sock.port = 49055; - setCONN(sock); + setCONN(&sock, 49055); int result = getDREF(sock, drefs[0], data[0], sizes); // Close @@ -497,13 +496,7 @@ int connTest() // setConn test if ( result < 0 )// No data received { return -1; - } - - // Set up for next test - sock = openUDP( 49055, "127.0.0.1", 49009 ); - sock.port = 49008; - setCONN(sock); - closeUDP(sock); + } return 0; } From 5ee49c7d81ecca9d4ee3e46b8a3082bd60046141 Mon Sep 17 00:00:00 2001 From: Jason Watkins Date: Thu, 16 Apr 2015 16:50:05 -0700 Subject: [PATCH 11/17] Updated plugin. - Removed dependency on C client. - The plugin now responds to client requests on the same port used to establish the connection. Removed C client dependency from plugin. --- xpcPlugin/Drawing.h | 9 +- xpcPlugin/Message.cpp | 52 +++++--- xpcPlugin/MessageHandlers.cpp | 115 ++++++++---------- xpcPlugin/MessageHandlers.h | 4 +- xpcPlugin/UDPSocket.cpp | 68 ++++++----- xpcPlugin/UDPSocket.h | 20 ++- xpcPlugin/XPCPlugin.cpp | 21 ++-- xpcPlugin/xpcPlugin/xpcPlugin.vcxproj | 4 +- xpcPlugin/xpcPlugin/xpcPlugin.vcxproj.filters | 6 - 9 files changed, 146 insertions(+), 153 deletions(-) diff --git a/xpcPlugin/Drawing.h b/xpcPlugin/Drawing.h index dbc57e4..0187810 100644 --- a/xpcPlugin/Drawing.h +++ b/xpcPlugin/Drawing.h @@ -3,12 +3,17 @@ #ifndef XPC_DRAWING_H #define XPC_DRAWING_H -#include "xplaneConnect.h" - #include namespace XPC { + typedef struct + { + double latitude; + double longitude; + double altitude; + } Waypoint; + /// Handles tasks that involve drawing to the screen in X-Plane. /// /// \author Jason Watkins diff --git a/xpcPlugin/Message.cpp b/xpcPlugin/Message.cpp index 3b05f21..81920e1 100644 --- a/xpcPlugin/Message.cpp +++ b/xpcPlugin/Message.cpp @@ -2,7 +2,6 @@ //National Aeronautics and Space Administration. All Rights Reserved. #include "Message.h" #include "Log.h" -#include "xplaneConnect.h" #include #include @@ -71,6 +70,7 @@ namespace XPC } Log::WriteLine(ss.str()); + ss << std::dec; ss.str(""); ss << "[" << GetHead() << "-DEBUG] (" << GetSize() << ")"; switch (GetMagicNumber()) // Binary version of head @@ -84,25 +84,41 @@ namespace XPC } case 0x4C525443: // CTRL { - xpcCtrl ctrl = parseCTRL((char*)buffer); - ss << " (" << ctrl.pitch << " " << ctrl.roll << " " << ctrl.yaw << ") "; - ss << ctrl.throttle << " " << ctrl.gear << " " << ctrl.flaps; + // Parse message data + float pitch = *((float*)(buffer + 5)); + float roll = *((float*)(buffer + 9)); + float yaw = *((float*)(buffer + 13)); + float thr = *((float*)(buffer + 17)); + char gear = buffer[21]; + float flaps = *((float*)(buffer + 22)); + std::uint8_t aircraft = 0; + if (size == 27) + { + aircraft = buffer[26]; + } + ss << " Attitude:(" << pitch << " " << roll << " " << yaw << ")"; + ss << " Thr:" << thr << " Gear:" << (int)gear << " Flaps:" << flaps; Log::WriteLine(ss.str()); break; } case 0x41544144: // DATA - { - float dataRef[30][9]; - short numCols = parseDATA((char*)buffer, size, dataRef); + { + std::size_t numCols = (size - 5) / 36; + float values[32][9]; + for (int i = 0; i < numCols; ++i) + { + values[i][0] = buffer[5 + 36 * i]; + memcpy(values[i] + 1, buffer + 9 + 36 * i, 9 * sizeof(float)); + } ss << " (" << numCols << " lines)"; Log::WriteLine(ss.str()); for (int i = 0; i < numCols; ++i) { ss.str(""); - ss << "\t#" << dataRef[i][0]; + ss << "\t#" << values[i][0]; for (int j = 1; j < 9; ++j) { - ss << " " << dataRef[i][j]; + ss << " " << values[i][j]; } Log::WriteLine(ss.str()); } @@ -136,14 +152,16 @@ namespace XPC break; } case 0x49534F50: // POSI - { - float position[6] = { 0.0 }; - short aircraft = 0; - float gear = -1.0; - aircraft = parsePOSI((char*)buffer, position, 6, &gear); - ss << ' ' << aircraft; - ss << " (" << position[0] << ' ' << position[1] << ' ' << position[2] << ") ("; - ss << position[3] << ' ' << position[4] << ' ' << position[5] << ") "; + { + char aircraft = buffer[5]; + float gear = *((float*)(buffer + 30)); + float pos[3]; + float orient[3]; + memcpy(pos, buffer + 6, 12); + memcpy(orient, buffer + 18, 12); + ss << " AC:" << (int)aircraft; + ss << " Pos:(" << pos[0] << ' ' << pos[1] << ' ' << pos[2] << ") Orient:("; + ss << orient[3] << ' ' << orient[4] << ' ' << orient[5] << ") Gear:"; ss << gear; Log::WriteLine(ss.str()); break; diff --git a/xpcPlugin/MessageHandlers.cpp b/xpcPlugin/MessageHandlers.cpp index ac8c35a..0a43454 100644 --- a/xpcPlugin/MessageHandlers.cpp +++ b/xpcPlugin/MessageHandlers.cpp @@ -55,48 +55,6 @@ namespace XPC MessageHandlers::sock = socket; } - static std::string getIP(sockaddr* sa) - { - char ip[INET6_ADDRSTRLEN + 6] = { 0 }; - switch (sa->sa_family) - { - case AF_INET: - { - sockaddr_in* sin = reinterpret_cast(sa); - inet_ntop(AF_INET, &sin->sin_addr, ip, INET6_ADDRSTRLEN); - break; - } - case AF_INET6: - { - sockaddr_in6* sin = reinterpret_cast(sa); - inet_ntop(AF_INET6, &sin->sin6_addr, ip, INET6_ADDRSTRLEN); - break; - } - default: - return "UNKNOWN"; - } - return std::string(ip); - } - - static std::uint16_t getPort(sockaddr* sa) - { - switch (sa->sa_family) - { - case AF_INET: - { - sockaddr_in *sin = reinterpret_cast(sa); - return ntohs((*sin).sin_port); - } - case AF_INET6: - { - sockaddr_in6 *sin = reinterpret_cast(sa); - return ntohs((*sin).sin6_port); - } - default: - return ~0; - } - } - void MessageHandlers::HandleMessage(Message& msg) { // Make sure we really have a message to handle. @@ -109,9 +67,7 @@ namespace XPC // Set current connection sockaddr sourceaddr = msg.GetSource(); - std::string ip = getIP(&sourceaddr); - std::uint16_t port = getPort(&sourceaddr); - connectionKey = ip + ":" + std::to_string(port); + connectionKey = UDPSocket::GetHost(&sourceaddr); #if LOG_VERBOSITY > 4 Log::FormatLine("[MSGH] Handling message from %s", connectionKey.c_str()); #endif @@ -124,22 +80,20 @@ namespace XPC // to connections. As long as we never remove elements, the size of // connections will serve as a unique id. connections.size(), - ip, - 49008, // By default, send information to the client on this port. - port, + sourceaddr, 0 }; connections[connectionKey] = connection; -#if LOG_VERBOSITY > 4 - Log::FormatLine("[MSGH] New connection. ID=%u, Remote=%s:%u", connection.id, ip.c_str(), port); +#if LOG_VERBOSITY > 2 + Log::FormatLine("[MSGH] New connection. ID=%u, Remote=%s", connection.id, connectionKey.c_str()); #endif } else { connection = (*conn).second; -#if LOG_VERBOSITY > 4 - Log::FormatLine("[MSGH] Existing connection. ID=%u, Remote=%s:%u", - connection.id, connection.ip.c_str(), connection.srcPort); +#if LOG_VERBOSITY > 3 + Log::FormatLine("[MSGH] Existing connection. ID=%u, Remote=%s", + connection.id, connectionKey.c_str()); #endif } @@ -162,7 +116,30 @@ namespace XPC const std::uint8_t* buffer = msg.GetBuffer(); // Store new port - connection.dstPort = *((std::uint16_t*)(buffer + 5)); + std::uint16_t port = *((std::uint16_t*)(buffer + 5)); + sockaddr* sa = &connection.addr; + switch (sa->sa_family) + { + case AF_INET: + { + sockaddr_in* sin = reinterpret_cast(sa); + (*sin).sin_port = htons(port); + break; + } + case AF_INET6: + { + sockaddr_in6* sin = reinterpret_cast(sa); + (*sin).sin6_port = htons(port); + break; + } + default: +#if LOG_VERBOSITY > 0 + Log::WriteLine("[CONN] ERROR: Unknown address type."); + return; +#endif + } + connections.erase(connectionKey); + connectionKey = UDPSocket::GetHost(&connection.addr); connections[connectionKey] = connection; // Create response @@ -170,19 +147,19 @@ namespace XPC response[5] = connection.id; // Update log -#if LOG_VERBOSITY > 0 +#if LOG_VERBOSITY > 1 Log::FormatLine("[CONN] ID: %u New destination port: %u", - connection.id, connection.dstPort); + connection.id, port); #endif // Send response - sock->SendTo(response, 6, connection.ip, connection.dstPort); + sock->SendTo(response, 6, &connection.addr); } void MessageHandlers::HandleCtrl(Message& msg) { // Update Log -#if LOG_VERBOSITY > 0 +#if LOG_VERBOSITY > 2 Log::FormatLine("[CTRL] Message Received (Conn %i)", connection.id); #endif @@ -192,7 +169,7 @@ namespace XPC //Packets specifying an A/C num should be 27 bytes. if (size != 26 && size != 27) { -#if LOG_VERBOSITY > 1 +#if LOG_VERBOSITY > 0 Log::FormatLine("[CTRL] ERROR: Unexpected message length (%i)", size); #endif return; @@ -244,20 +221,20 @@ namespace XPC std::size_t numCols = (size - 5) / 36; if (numCols > 0) { -#if LOG_VERBOSITY > 3 +#if LOG_VERBOSITY > 2 Log::FormatLine("[DATA] Message Received (Conn %i)", connection.id); #endif } if (numCols > 32) // Error. Will overflow values { -#if LOG_VERBOSITY > 2 +#if LOG_VERBOSITY > 0 Log::FormatLine("[DATA] ERROR numCols to large."); #endif return; } else { -#if LOG_VERBOSITY > 2 +#if LOG_VERBOSITY > 1 Log::FormatLine("[DATA] WARNING: Empty data packet received (Conn %i)", connection.id); #endif return; @@ -462,7 +439,7 @@ namespace XPC cur += count * sizeof(float); } - sock->SendTo(response, cur, connection.ip, connection.dstPort); + sock->SendTo(response, cur, &connection.addr); } void MessageHandlers::HandlePosi(Message& msg) @@ -599,13 +576,13 @@ namespace XPC #endif switch (op) { - case xpc_WYPT_ADD: + case 1: Drawing::AddWaypoints(points, count); break; - case xpc_WYPT_DEL: + case 2: Drawing::RemoveWaypoints(points, count); break; - case xpc_WYPT_CLR: + case 3: Drawing::ClearWaypoints(); break; default: @@ -621,7 +598,11 @@ namespace XPC #if LOG_VERBOSITY > 1 Log::WriteLine("[MSGH] Sending raw data to X-Plane"); #endif - sock->SendTo((std::uint8_t*)msg.GetBuffer(), msg.GetSize(), "127.0.0.1", 49000); + sockaddr_in loopback; + loopback.sin_family = AF_INET; + loopback.sin_addr.s_addr = htonl(INADDR_LOOPBACK); + loopback.sin_port = htons(49000); + sock->SendTo((std::uint8_t*)msg.GetBuffer(), msg.GetSize(), (sockaddr*)&loopback); } void MessageHandlers::HandleUnknown(Message& msg) diff --git a/xpcPlugin/MessageHandlers.h b/xpcPlugin/MessageHandlers.h index 7db08e2..eafd0f7 100644 --- a/xpcPlugin/MessageHandlers.h +++ b/xpcPlugin/MessageHandlers.h @@ -53,9 +53,7 @@ namespace XPC typedef struct { std::uint8_t id; - std::string ip; - std::uint16_t dstPort; - std::uint16_t srcPort; + sockaddr addr; std::uint8_t getdCount; std::string getdRequest[255]; } ConnectionInfo; diff --git a/xpcPlugin/UDPSocket.cpp b/xpcPlugin/UDPSocket.cpp index 9795205..642ef12 100644 --- a/xpcPlugin/UDPSocket.cpp +++ b/xpcPlugin/UDPSocket.cpp @@ -131,41 +131,49 @@ namespace XPC return status; } - // TODO: Add IPV6 support - void UDPSocket::SendTo(std::uint8_t* buffer, std::size_t len, std::string remoteHost, std::uint16_t remotePort) + void UDPSocket::SendTo(std::uint8_t* buffer, std::size_t len, sockaddr* remote) { -#if LOG_VERBOSITY > 4 - Log::FormatLine("[SOCK] Sending message to %s:%u (length=%u)", remoteHost.c_str(), remotePort, len); -#endif - if (remoteHost == "localhost") - { - remoteHost = "127.0.0.1"; - } - std::uint32_t ip; - inet_pton(AF_INET, remoteHost.c_str(), &ip); - SendTo(buffer, len, ip, remotePort); - } - - void UDPSocket::SendTo(std::uint8_t* buffer, std::size_t len, std::uint32_t remoteIP, std::uint16_t remotePort) - { - struct sockaddr_in remoteAddr; - remoteAddr.sin_family = AF_INET; - remoteAddr.sin_port = htons(remotePort); - remoteAddr.sin_addr.s_addr = remoteIP; - -#ifdef _WIN32 - const char on = 1; -#else - int on = 1; -#endif - setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &on, sizeof(on)); - buffer[4] = (std::uint8_t)len; - if (sendto(sock, (char*)buffer, (int)len, 0, (const struct sockaddr *) &remoteAddr, sizeof(remoteAddr)) < 0) + if (sendto(sock, (char*)buffer, (int)len, 0, remote, sizeof(*remote)) < 0) { #if LOG_VERBOSITY > 0 - Log::FormatLine("[SOCK] Send failed. (remote: %s:%d)", remoteAddr, remotePort); + Log::FormatLine("[SOCK] Send failed. (remote: %s)", GetHost(remote).c_str()); +#endif + } + else + { +#if LOG_VERBOSITY > 3 + Log::FormatLine("[SOCK] Datagram sent. (remote: %s)", GetHost(remote).c_str()); #endif } } + + std::string UDPSocket::GetHost(sockaddr* sa) + { + char ip[INET6_ADDRSTRLEN + 6] = { 0 }; + switch (sa->sa_family) + { + case AF_INET: + { + sockaddr_in* sin = reinterpret_cast(sa); + inet_ntop(AF_INET, &sin->sin_addr, ip, INET6_ADDRSTRLEN); + int len = strnlen(ip, INET6_ADDRSTRLEN); + ip[len++] = ':'; + sprintf(ip + len, "%d", ntohs((*sin).sin_port)); + break; + } + case AF_INET6: + { + sockaddr_in6* sin = reinterpret_cast(sa); + inet_ntop(AF_INET6, &sin->sin6_addr, ip, INET6_ADDRSTRLEN); + int len = strnlen(ip, INET6_ADDRSTRLEN); + ip[len++] = ':'; + sprintf(ip + len, "%d", ntohs((*sin).sin6_port)); + break; + } + default: + return "UNKNOWN"; + } + return std::string(ip); + } } \ No newline at end of file diff --git a/xpcPlugin/UDPSocket.h b/xpcPlugin/UDPSocket.h index 69d7410..904b055 100644 --- a/xpcPlugin/UDPSocket.h +++ b/xpcPlugin/UDPSocket.h @@ -53,20 +53,16 @@ namespace XPC /// Sends data to the specified remote endpoint. /// - /// \param data The data to be sent. - /// \param len The number of bytes to send. - /// \param remoteHost The hostname of the destination client. - /// \param remotePort The port of the destination client. - void SendTo(std::uint8_t* buffer, std::size_t len, std::string remoteHost, std::uint16_t remotePort); + /// \param data The data to be sent. + /// \param len The number of bytes to send. + /// \param remote The destination socket. + void SendTo(std::uint8_t* buffer, std::size_t len, sockaddr* remote); - /// Sends data to the specified remote endpoint. + /// Gets a string containing the IP address and port contained in the given sockaddr. /// - /// \param data The data to be sent. - /// \param len The number of bytes to send. - /// \param remoteHost The hostname of the destination client. - /// \param remotePort The port of the destination client. - void UDPSocket::SendTo(std::uint8_t* buffer, std::size_t len, std::uint32_t remoteIP, std::uint16_t remotePort); - + /// \param addr The socket address to parse. + /// \returns A string representation of the socket address. + static std::string GetHost(sockaddr* addr); private: #ifdef _WIN32 SOCKET sock; diff --git a/xpcPlugin/XPCPlugin.cpp b/xpcPlugin/XPCPlugin.cpp index 726754e..84fafae 100755 --- a/xpcPlugin/XPCPlugin.cpp +++ b/xpcPlugin/XPCPlugin.cpp @@ -71,11 +71,9 @@ #endif #define RECVPORT 49009 // Port that the plugin receives commands on -#define SENDPORT 49097 // Port that the plugin sends on #define OPS_PER_CYCLE 20 // Max Number of operations per cycle -XPC::UDPSocket* recvSocket = nullptr; -XPC::UDPSocket* sendSocket = nullptr; +XPC::UDPSocket* sock = nullptr; double start,lap; static double timeConvert = 0.0; @@ -126,10 +124,8 @@ PLUGIN_API void XPluginStop(void) PLUGIN_API void XPluginDisable(void) { // Close sockets - delete recvSocket; - delete sendSocket; - recvSocket = nullptr; - sendSocket = nullptr; + delete sock; + sock = nullptr; // Stop rendering messages to screen. XPC::Drawing::ClearMessage(); @@ -143,9 +139,8 @@ PLUGIN_API void XPluginDisable(void) PLUGIN_API int XPluginEnable(void) { // Open sockets - recvSocket = new XPC::UDPSocket(RECVPORT); - sendSocket = new XPC::UDPSocket(SENDPORT); - XPC::MessageHandlers::SetSocket(sendSocket); + sock = new XPC::UDPSocket(RECVPORT); + XPC::MessageHandlers::SetSocket(sock); XPC::Log::WriteLine("[EXEC] Plugin Enabled, sockets opened"); if (benchmarkingSwitch > 0) @@ -189,7 +184,7 @@ float XPCFlightLoopCallback(float inElapsedSinceLastCall, #endif } - XPC::Message msg = XPC::Message::ReadFrom(*recvSocket); + XPC::Message msg = XPC::Message::ReadFrom(*sock); if (msg.GetHead() == "") { break; @@ -209,8 +204,8 @@ float XPCFlightLoopCallback(float inElapsedSinceLastCall, if (cyclesToClear != -1 && counter%cyclesToClear == 0) { XPC::Log::WriteLine("[EXEC] Cleared UDP Buffer"); - delete recvSocket; - recvSocket = new XPC::UDPSocket(RECVPORT); + delete sock; + sock = new XPC::UDPSocket(RECVPORT); } return -1; } \ No newline at end of file diff --git a/xpcPlugin/xpcPlugin/xpcPlugin.vcxproj b/xpcPlugin/xpcPlugin/xpcPlugin.vcxproj index 3ed8c71..ac3d36c 100644 --- a/xpcPlugin/xpcPlugin/xpcPlugin.vcxproj +++ b/xpcPlugin/xpcPlugin/xpcPlugin.vcxproj @@ -42,7 +42,7 @@ true ..\XPlaneConnect\ .xpl - ..\xpcPlugin\SDK\CHeaders\XPLM;..\SDK\CHeaders\XPLM;..\..\C\src;$(IncludePath) + ..\SDK\CHeaders\XPLM;$(IncludePath) ..\xpcPlugin\SDK\Libraries\Win;$(LibraryPath) win @@ -99,7 +99,6 @@ - @@ -109,7 +108,6 @@ - diff --git a/xpcPlugin/xpcPlugin/xpcPlugin.vcxproj.filters b/xpcPlugin/xpcPlugin/xpcPlugin.vcxproj.filters index 21d7598..e921a5d 100644 --- a/xpcPlugin/xpcPlugin/xpcPlugin.vcxproj.filters +++ b/xpcPlugin/xpcPlugin/xpcPlugin.vcxproj.filters @@ -15,9 +15,6 @@ - - Header Files - Header Files @@ -41,9 +38,6 @@ - - Source Files - Source Files From ccc87f06f239a6d8b872365ce7631666cebde711 Mon Sep 17 00:00:00 2001 From: Jason Watkins Date: Fri, 17 Apr 2015 09:58:01 -0700 Subject: [PATCH 12/17] Updated Java client to conform to new API. - Now uses a single socket. - Constructor parameter reordered to match C client. - Defaults to an OS assigned port instead of 49008. --- Java/src/XPlaneConnect.java | 70 ++++++++----------- TestScripts/Java Tests/XPlaneConnectTest.java | 22 +++--- 2 files changed, 39 insertions(+), 53 deletions(-) diff --git a/Java/src/XPlaneConnect.java b/Java/src/XPlaneConnect.java index 521abc5..7cd22dc 100644 --- a/Java/src/XPlaneConnect.java +++ b/Java/src/XPlaneConnect.java @@ -44,8 +44,7 @@ import java.util.Arrays; public class XPlaneConnect implements AutoCloseable { private static int clientNum; - private DatagramSocket outSocket; - private DatagramSocket inSocket; + private DatagramSocket socket; private InetAddress xplaneAddr; private int xplanePort; @@ -54,7 +53,7 @@ public class XPlaneConnect implements AutoCloseable * * @return The incoming port number. */ - public int getRecvPort() { return inSocket.getLocalPort(); } + public int getRecvPort() { return socket.getLocalPort(); } /** * Gets the port on which the client sends data to X-Plane. @@ -116,46 +115,44 @@ public class XPlaneConnect implements AutoCloseable */ public XPlaneConnect(int timeout) throws SocketException { - this.inSocket = new DatagramSocket(49008); - this.outSocket = new DatagramSocket(50000 + ++clientNum); + this.socket = new DatagramSocket(0); this.xplaneAddr = InetAddress.getLoopbackAddress(); this.xplanePort = 49009; - this.inSocket.setSoTimeout(timeout); + this.socket.setSoTimeout(timeout); } /** * Initializes a new instance of the {@code XPlaneConnect} class using the specified ports and X-Plane host. * - * @param port The port on which the X-Plane Connect plugin is sending data. - * @param xplaneHost The network host on which X-Plane is running. - * @param xplanePort The port on which the X-Plane Connect plugin is listening. + * @param port The port on which the X-Plane Connect plugin is sending data. + * @param xpHost The network host on which X-Plane is running. + * @param xpPort The port on which the X-Plane Connect plugin is listening. * @throws java.net.SocketException If this instance is unable to bind to the specified port. * @throws java.net.UnknownHostException If the specified hostname can not be resolved. */ - public XPlaneConnect(int port, String xplaneHost, int xplanePort) + public XPlaneConnect(String xpHost, int xpPort, int port) throws java.net.SocketException, java.net.UnknownHostException { - this(port, xplaneHost, xplanePort, 100); + this(xpHost, xpPort, port, 100); } /** * Initializes a new instance of the {@code XPlaneConnect} class using the specified ports, hostname, and timeout. * * @param port The port on which the X-Plane Connect plugin is sending data. - * @param xplaneHost The network host on which X-Plane is running. - * @param xplanePort The port on which the X-Plane Connect plugin is listening. + * @param xpHost The network host on which X-Plane is running. + * @param xpPort The port on which the X-Plane Connect plugin is listening. * @param timeout The time, in milliseconds, after which read attempts will timeout. * @throws java.net.SocketException If this instance is unable to bind to the specified port. * @throws java.net.UnknownHostException If the specified hostname can not be resolved. */ - public XPlaneConnect(int port, String xplaneHost, int xplanePort, int timeout) + public XPlaneConnect(String xpHost, int xpPort, int port, int timeout) throws java.net.SocketException, java.net.UnknownHostException { - this.inSocket = new DatagramSocket(port); - this.outSocket = new DatagramSocket(50000 + ++clientNum); - this.xplaneAddr = InetAddress.getByName(xplaneHost); - this.xplanePort = xplanePort; - this.inSocket.setSoTimeout(timeout); + this.socket = new DatagramSocket(port); + this.xplaneAddr = InetAddress.getByName(xpHost); + this.xplanePort = xpPort; + this.socket.setSoTimeout(timeout); } /** @@ -163,15 +160,10 @@ public class XPlaneConnect implements AutoCloseable */ public void close() { - if(inSocket != null) + if(socket != null) { - inSocket.close(); - inSocket = null; - } - if(outSocket != null) - { - outSocket.close(); - outSocket = null; + socket.close(); + socket = null; } } @@ -181,13 +173,13 @@ public class XPlaneConnect implements AutoCloseable * @return The data send from X-Plane. * @throws IOException If the read operation fails */ - private byte[] readUDP() throws IOException //TODO: Store data in a class level buffer to account for partial messages + private byte[] readUDP() throws IOException { byte[] buffer = new byte[2048]; DatagramPacket packet = new DatagramPacket(buffer, buffer.length); try { - inSocket.receive(packet); + socket.receive(packet); return Arrays.copyOf(buffer, buffer[4]); } catch (SocketTimeoutException ex) @@ -212,7 +204,7 @@ public class XPlaneConnect implements AutoCloseable buffer[4] = (byte)buffer.length; DatagramPacket packet = new DatagramPacket(buffer, buffer.length, xplaneAddr, xplanePort); - outSocket.send(packet); + socket.send(packet); } /** @@ -672,12 +664,12 @@ public class XPlaneConnect implements AutoCloseable /** * Sets the port on which the client will receive data from X-Plane. * - * @param recvPort The new incoming port number. + * @param port The new incoming port number. * @throws IOException If the command cannnot be sent. */ - public void setCONN(int recvPort) throws IOException + public void setCONN(int port) throws IOException { - if(recvPort < 0 || recvPort >= 0xFFFF) + if(port < 0 || port >= 0xFFFF) { throw new IllegalArgumentException("Invalid port (must be non-negative and less than 65536)."); } @@ -685,14 +677,14 @@ public class XPlaneConnect implements AutoCloseable ByteArrayOutputStream os = new ByteArrayOutputStream(); os.write("CONN".getBytes(StandardCharsets.UTF_8)); os.write(0xFF); //Placeholder for message length - os.write((byte) recvPort); - os.write((byte) (recvPort >> 8)); + os.write((byte) port); + os.write((byte) (port >> 8)); sendUDP(os.toByteArray()); - int soTimeout = inSocket.getSoTimeout(); - inSocket.close(); - inSocket = new DatagramSocket(recvPort); - inSocket.setSoTimeout(soTimeout); + int soTimeout = socket.getSoTimeout(); + socket.close(); + socket = new DatagramSocket(port); + socket.setSoTimeout(soTimeout); readUDP(); // Try to read response } } diff --git a/TestScripts/Java Tests/XPlaneConnectTest.java b/TestScripts/Java Tests/XPlaneConnectTest.java index e76928f..5bc3d45 100644 --- a/TestScripts/Java Tests/XPlaneConnectTest.java +++ b/TestScripts/Java Tests/XPlaneConnectTest.java @@ -31,7 +31,7 @@ public class XPlaneConnectTest { fail(); } - try(XPlaneConnect xpc = new XPlaneConnect(49007, "127.0.0.1", 49009)) + try(XPlaneConnect xpc = new XPlaneConnect("127.0.0.1", 49009, 49007)) { assertNotNull(xpc); } @@ -39,7 +39,7 @@ public class XPlaneConnectTest { fail(); } - try(XPlaneConnect xpc = new XPlaneConnect(49007, "127.0.0.1", 49009, 200)) + try(XPlaneConnect xpc = new XPlaneConnect("127.0.0.1", 49009, 49007, 200)) { assertNotNull(xpc); } @@ -50,9 +50,9 @@ public class XPlaneConnectTest } @Test - public void testGetRecvPort() throws SocketException + public void testGetRecvPort() throws Exception { - try(XPlaneConnect xpc = new XPlaneConnect()) + try(XPlaneConnect xpc = new XPlaneConnect("127.0.0.1", 49009, 49008)) { assertEquals(49008, xpc.getRecvPort()); } @@ -87,11 +87,11 @@ public class XPlaneConnectTest } @Test - public void constructorTest_SocketAlreadyBound() throws SocketException + public void constructorTest_SocketAlreadyBound() throws Exception { - try(XPlaneConnect xpc = new XPlaneConnect()) + try(XPlaneConnect xpc = new XPlaneConnect("127.0.0.1", 49009, 49008)) { - try(XPlaneConnect xpc2 = new XPlaneConnect()) + try(XPlaneConnect xpc2 = new XPlaneConnect("127.0.0.1", 49009, 49008)) { fail(); } @@ -106,7 +106,7 @@ public class XPlaneConnectTest @Test(expected = UnknownHostException.class) public void constructorTest_InvalidHost() throws UnknownHostException { - try(XPlaneConnect xpc = new XPlaneConnect(49007, "notarealhost", 49009)) + try(XPlaneConnect xpc = new XPlaneConnect("notarealhost", 49009, 49007)) { } @@ -575,16 +575,10 @@ public class XPlaneConnectTest String dref = "sim/cockpit/switches/gear_handle_status"; try(XPlaneConnect xpc = new XPlaneConnect()) { - int p = xpc.getRecvPort(); xpc.setCONN(49055); assertEquals(49055, xpc.getRecvPort()); float[] result = xpc.requestDREF(dref); assertEquals(1, result.length); - - xpc.setCONN(p); - assertEquals(p, xpc.getRecvPort()); - result = xpc.requestDREF(dref); - assertEquals(1, result.length); } } From 8e6819b80b713101eee8dbdb2b0809ca715fee2e Mon Sep 17 00:00:00 2001 From: Jason Watkins Date: Fri, 17 Apr 2015 13:00:11 -0700 Subject: [PATCH 13/17] Added doc comments to C client. --- C/src/xplaneConnect.h | 154 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/C/src/xplaneConnect.h b/C/src/xplaneConnect.h index 9d63701..fda69bf 100644 --- a/C/src/xplaneConnect.h +++ b/C/src/xplaneConnect.h @@ -64,35 +64,189 @@ typedef enum } WYPT_OP; // Low Level UDP Functions + +/// Opens a new connection to XPC on an OS chosen port. +/// +/// \param xpIP A string representing the IP address of the host running X-Plane. +/// \param xpPort The port of the X-Plane Connect plugin is listening on. Usually 49009. +/// \returns An XPCSocket struct representing the newly created connection. XPCSocket aopenUDP(const char *xpIP, unsigned short xpPort); + +/// Opens a new connection to XPC on the specified port. +/// +/// \param xpIP A string representing the IP address of the host running X-Plane. +/// \param xpPort The port of the X-Plane Connect plugin is listening on. Usually 49009. +/// \param port The local port to use when sending and receiving data from XPC. +/// \returns An XPCSocket struct representing the newly created connection. XPCSocket openUDP(const char *xpIP, unsigned short xpPort, unsigned short port); + +/// Closes the specified connection and releases resources associated with it. +/// +/// \param sock The socket to close. void closeUDP(XPCSocket sock); + +/// Sends the given data to the X-Plane plugin. +/// +/// \param sock The socket to use to send the data. +/// \param buffer A pointer to the data to send. +/// \param len The number of bytes to send. +/// \returns If an error occurs, a negative number. Otehrwise, the number of bytes sent. int sendUDP(XPCSocket sock, char buffer[], int len); + +/// Reads a datagram from the specified socket. +/// +/// \param sock The socket to read from. +/// \param buffer A pointer to the location to store the data. +/// \param len The number of bytes to read. +/// \returns If an error occurs, a negative number. Otehrwise, the number of bytes read. int readUDP(XPCSocket sock, char buffer[], int len); // Configuration + +/// Sets the port on which the socket sends and receives data. +/// +/// \param sock A pointer to the socket to change. +/// \param port The new port to use. +/// \returns 0 if successful, otherwise a negative value. int setCONN(XPCSocket* sock, unsigned short port); + +/// Pause or unpause the simulation. +/// +/// \param sock The socket to use to send the command. +/// \param pause 0 to unpause the sim; any other value to pause. +/// \returns 0 if successful, otherwise a negative value. int pauseSim(XPCSocket sock, char pause); // X-Plane UDP DATA + +/// Reads X-Plane data from the specified socket. +/// +/// \details This command is compatible with the X-Plane data API. +/// \param sock The socket to use to send the command. +/// \param dataRef A 2D array of data rows to read into. +/// \param rows The number of rows in dataRef. +/// \returns 0 if successful, otherwise a negative value. int readDATA(XPCSocket sock, float dataRef[][9], int rows); + +/// Sends X-Plane data on the specified socket. +/// +/// \details This command is compatible with the X-Plane data API. +/// \param sock The socket to use to send the command. +/// \param dataRef A 2D array of data rows to send. +/// \param rows The number of rows in dataRef. +/// \returns 0 if successful, otherwise a negative value. int sendDATA(XPCSocket sock, float dataRef[][9], int rows); // DREF Manipulation + +/// Sets the specified dataref to the specified value. +/// +/// \details dref names and their associated data types can be found on the XPSDK wiki at +/// http://www.xsquawkbox.net/xpsdk/docs/DataRefs.html. The size of values should match +/// the size given on that page. XPC currently sends all values as floats regardless of +/// the type described on the wiki. This doesn't cause any data loss for most datarefs. +/// \param sock The socket to use to send the command. +/// \param dref The name of the dataref to set. +/// \param values An array of values representing the data to set. +/// \param size The number of elements in values. +/// \returns 0 if successful, otherwise a negative value. int setDREF(XPCSocket sock, const char* dref, float values[], int size); + +/// Gets the value of the specified dataref. +/// +/// \details dref names and their associated data types can be found on the XPSDK wiki at +/// http://www.xsquawkbox.net/xpsdk/docs/DataRefs.html. The size of values should match +/// the size given on that page. XPC currently sends all values as floats regardless of +/// the type described on the wiki. This doesn't cause any data loss for most datarefs. +/// \param sock The socket to use to send the command. +/// \param dref The name of the dataref to get. +/// \param values The array in which the value of the dataref will be stored. +/// \param size The number of elements in values. The actual number of elements copied in will +/// be set when the function returns. +/// \returns 0 if successful, otherwise a negative value. int getDREF(XPCSocket sock, const char* dref, float values[], int* size); + +/// Gets the value of the specified dataref. +/// +/// \details dref names and their associated data types can be found on the XPSDK wiki at +/// http://www.xsquawkbox.net/xpsdk/docs/DataRefs.html. The size of values should match +/// the size given on that page. XPC currently sends all values as floats regardless of +/// the type described on the wiki. This doesn't cause any data loss for most datarefs. +/// \param sock The socket to use to send the command. +/// \param drefs The names of the datarefs to get. +/// \param values A 2D array in which the values of the datarefs will be stored. +/// \param count The number of datarefs being requested. +/// \param size The number of elements in each row of values. The size of each row will be set +/// to the actual number of elements copied in for that row. +/// \returns 0 if successful, otherwise a negative value. int getDREFs(XPCSocket sock, const char* drefs[], float* values[], unsigned char count, int sizes[]); // Position + +/// Sets the position and orientation of the player aircraft. +/// +/// \param sock The socket to use to send the command. +/// \param values An array representing position data about the aircraft. The format of values is +/// [Lat, Lon, Alt, Pitch, Roll, Yaw, Gear]. If less than 7 values are specified, +/// the unspecified values will be left unchanged. +/// \param size The number of elements in values. +/// \returns 0 if successful, otherwise a negative value. int psendPOSI(XPCSocket sock, float values[], int size); + +/// Sets the position and orientation of the specified aircraft. +/// +/// \param sock The socket to use to send the command. +/// \param values An array representing position data about the aircraft. The format of values is +/// [Lat, Lon, Alt, Pitch, Roll, Yaw, Gear]. If less than 7 values are specified, +/// the unspecified values will be left unchanged. +/// \param size The number of elements in values. +/// \param ac The aircraft number to set the position of. 0 for the player aircraft. +/// \returns 0 if successful, otherwise a negative value. int sendPOSI(XPCSocket sock, float values[], int size, char ac); // Controls + +/// Sets the control surfaces of the player aircraft. +/// +/// \param sock The socket to use to send the command. +/// \param values An array representing position data about the aircraft. The format of values is +/// [Elevator, Aileron, Rudder, Throttle, Gear, Flaps]. If less than 6 values are +/// specified, the unspecified values will be left unchanged. +/// \param size The number of elements in values. +/// \returns 0 if successful, otherwise a negative value. int psendCTRL(XPCSocket sock, float values[], int size); + +/// Sets the control surfaces of the specified aircraft. +/// +/// \param sock The socket to use to send the command. +/// \param values An array representing position data about the aircraft. The format of values is +/// [Elevator, Aileron, Rudder, Throttle, Gear, Flaps]. If less than 6 values are +/// specified, the unspecified values will be left unchanged. +/// \param size The number of elements in values. +/// \param ac The aircraft number to set the control surfaces of. 0 for the player aircraft. +/// \returns 0 if successful, otherwise a negative value. int sendCTRL(XPCSocket sock, float values[], int size, char ac); // Drawing + +/// Sets a string to be printed on the screen in X-Plane. +/// +/// \param sock The socket to use to send the command. +/// \param msg The message to print of the screen. +/// \param x The distance in pixels from the left edge of the screen to print the text. +/// \param y The distance in pixels from the bottom edge of the screen to print the top line of text. +/// \returns 0 if successful, otherwise a negative value. int sendTEXT(XPCSocket sock, char* msg, int x, int y); + +/// Adds, removes, or clears a set of waypoints. If the command is clear, the points are ignored +/// and all points are removed. +/// +/// \param sock The socket to use to send the command. +/// \param op The operation to perform. 1=add, 2=remove, 3=clear. +/// \param points An array of values representing points. Each triplet in the array will be +/// interpreted as a (Lat, Lon, Alt) point. +/// \param count The number of points. There should be 3 * count elements in points. +/// \returns 0 if successful, otherwise a negative value. int sendWYPT(XPCSocket sock, WYPT_OP op, float points[], int count); #ifdef __cplusplus From e191537bc9b29b2a9e08aab41688326f744c98f4 Mon Sep 17 00:00:00 2001 From: Jason Watkins Date: Fri, 17 Apr 2015 14:59:09 -0700 Subject: [PATCH 14/17] Refactored MATLAB client to use the Java client internally. - Still need to implement selectDATA for all languages. --- MATLAB/+XPlaneConnect/XPlaneConnect.jar | Bin 0 -> 6480 bytes MATLAB/+XPlaneConnect/clearUDPBuffer.m | 33 ------- MATLAB/+XPlaneConnect/closeUDP.m | 27 +++--- MATLAB/+XPlaneConnect/getDREFs.m | 37 ++++++++ MATLAB/+XPlaneConnect/openUDP.m | 49 +++++------ MATLAB/+XPlaneConnect/pauseSim.m | 46 ++++------ MATLAB/+XPlaneConnect/readDATA.m | 71 +++------------ MATLAB/+XPlaneConnect/readUDP.m | 83 ------------------ MATLAB/+XPlaneConnect/requestDREF.m | 69 --------------- MATLAB/+XPlaneConnect/sendCTRL.m | 68 ++++++-------- MATLAB/+XPlaneConnect/sendDATA.m | 47 ++++------ MATLAB/+XPlaneConnect/sendDREF.m | 58 ------------ MATLAB/+XPlaneConnect/sendPOSI.m | 66 ++++++-------- MATLAB/+XPlaneConnect/sendSTRU.m | 57 ------------ MATLAB/+XPlaneConnect/sendTEXT.m | 49 +++++------ MATLAB/+XPlaneConnect/sendUDP.m | 49 ----------- MATLAB/+XPlaneConnect/sendWYPT.m | 52 +++++------ MATLAB/+XPlaneConnect/setConn.m | 56 +++++------- MATLAB/+XPlaneConnect/setDREF.m | 37 ++++++++ TestScripts/Java Tests/XPlaneConnectTest.java | 48 +++++----- 20 files changed, 307 insertions(+), 695 deletions(-) create mode 100644 MATLAB/+XPlaneConnect/XPlaneConnect.jar delete mode 100644 MATLAB/+XPlaneConnect/clearUDPBuffer.m create mode 100644 MATLAB/+XPlaneConnect/getDREFs.m delete mode 100644 MATLAB/+XPlaneConnect/readUDP.m delete mode 100644 MATLAB/+XPlaneConnect/requestDREF.m delete mode 100644 MATLAB/+XPlaneConnect/sendDREF.m delete mode 100644 MATLAB/+XPlaneConnect/sendSTRU.m delete mode 100644 MATLAB/+XPlaneConnect/sendUDP.m create mode 100644 MATLAB/+XPlaneConnect/setDREF.m diff --git a/MATLAB/+XPlaneConnect/XPlaneConnect.jar b/MATLAB/+XPlaneConnect/XPlaneConnect.jar new file mode 100644 index 0000000000000000000000000000000000000000..47d7775b36b9662e8fe95448142cc0131ba1407d GIT binary patch literal 6480 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 +% Jason Watkins - import XPlaneConnect.* +import XPlaneConnect.* - %% Read UDP Socket - [ sensor.raw] = readUDP(socket); - - %% Interpret Input - bits = size(sensor.raw); - if sensor.raw ~= -998 %If the signal exists - header = char(sensor.raw(1:4)'); - if strcmp(header,'DATA') %DATA signal type - Values = floor((bits-5)/36); - sensor.d = []; - sensor.h = zeros(Values(1),1); - for i=1:Values(1) - sensor.h(i) = sensor.raw(6+(i-1)*36); - sensor.d = [sensor.d; typecast(uint8(sensor.raw(10+(i-1)*36:5+i*36))','single')]; - end - elseif strcmp(header,'STRU') %STRU signal type - a = 6; - while a % no data - -%% Handle Input -p = inputParser; -addRequired(p,'DREFArray'); -addOptional(p,'IP','127.0.0.1',@ischar); -addOptional(p,'port',49009,@isnumeric); -parse(p,DREFArray,varargin{:}); - -%% BODY - % Header - message(1:4) = 'GETD'-0; - message(6) = length(p.Results.DREFArray); - - % DREFS - for i=1:length(p.Results.DREFArray) - message(len) = length(p.Results.DREFArray{i}); - message(len+1:len+message(len)) = p.Results.DREFArray{i}; - len = len+1+message(len); - end - - % Send UDP - status = sendUDP(message, p.Results.IP, p.Results.port); - - % Look for response - for i=1:40 - data = readUDP(); - if length(data) > 1 % Received Data - status = 0; - counter = 7; - nArrays = data(6); - result = cell(nArrays,1); - for j=1:nArrays - sizeArray = data(counter); - result{j} = typecast(uint8(data(counter+1:counter+sizeArray*4))','single'); - counter = counter + 1 + sizeArray * 4; - end - break; - else - result = cell(0,1); - end - end -end \ No newline at end of file diff --git a/MATLAB/+XPlaneConnect/sendCTRL.m b/MATLAB/+XPlaneConnect/sendCTRL.m index 821efd0..85a7b4d 100644 --- a/MATLAB/+XPlaneConnect/sendCTRL.m +++ b/MATLAB/+XPlaneConnect/sendCTRL.m @@ -1,5 +1,5 @@ -function [ status ] = sendCTRL( ctrl, acft, IP, port ) -% sendCTRL Send X-Plane Aircraft Control Commands over UDP +function sendCTRL( ctrl, ac, socket ) +% sendCTRL Sends command to X-Plane setting control surfaces on the specified aircraft. % % Inputs % ctrl: control array where the elements are as follows: @@ -9,56 +9,44 @@ function [ status ] = sendCTRL( ctrl, acft, IP, port ) % 4. Throttle [-1, 1] % 5. Gear (0=up, 1=down) % 6. Flaps [0, 1] -% acft (optional): Aircraft # (default is 0; 0 = own aircraft) -% IP Address (optional): IP Address of the machine that will receive the data as a character array. Default is '127.0.0.1' (local machine) -% port (optional): Port on the receiving machine where the data will be sent. Default is 49009 (XPlaneConnect). In general use 49009 to send to the plugin and 49005 to send to the x-plane udp +% ac (optional): The aircraft to set. 0 for the player aircraft. +% socket (optional): The client to use when sending the command. % % Outputs % status: If there was an error. Status<0 means there was an error. % % Use % 1. import XPlaneConnect.*; -% 2. #Send the data array to port 49009 on the computer at IP address 172.0.100.54. -% 3. status = sendCTRL([0, 0, 0, 0.8, 0, 1], 1, '172.0.100.54',49009); +% 2. socket = openUDP(); +% 3. status = sendCTRL([0, 0, 0, 0.8, 0, 1], 0, socket); % Set throttle and flaps on the player aircraft. % -% Note: send the value -998 to not overwrite that parameter. That is, if -998 is sent, the parameter will stay at the current X-Plane value +% Note: send the value -998 to not overwrite that parameter. That is, if +% -998 is sent, the parameter will stay at the current X-Plane value. % % Contributors -% [CT] Christopher Teubert (SGT, Inc.) -% christopher.a.teubert@nasa.gov -% -% To Do -% 1. Verify Input -% -% BEGIN CODE +% Christopher Teubert (SGT, Inc.) +% Jason Watkins import XPlaneConnect.* -%% Handle Input - % Optional parameters - if ~exist('IP','var'), IP = '127.0.0.1'; end - if ~exist('port','var'), port = 49009; end - if ~exist('acft','var'), acft = 0; end - - % Check format of input-TODO - -%%BODY - header = ['CTRL'-0,0]; - dataStream = header; %TODO-ADD ACFT - - % Deal with position update - control = [-998.5, -998.5, -998.5, -998.5, -998.5, -998.5]; - - for i=1:min(length(ctrl),length(control)) - control(i) = ctrl(i); +%% Get client +global clients; +if ~exist('socket', 'var') + assert(istrue(length(clients) < 2), '[sendCTRL] ERROR: Multiple clients open. You must specify which client to use.'); + if isempty(clients) + openUDP(); end - dataStream = [dataStream, typecast(single(control(1:4)),'uint8')]; - dataStream = [dataStream, uint8(control(5))]; - dataStream = [dataStream, typecast(single(control(6)),'uint8')]; - dataStream = [dataStream, uint8(acft)]; - - % Send DATA - status = sendUDP(dataStream, IP, port); - + socket = clients(1); end +%% Validate input +ctrl = single(ctrl); +if ~exist('ac', 'var') + ac = 0; +end +ac = logical(ac); + +%% Send command +socket.sendCTRL(ctrl, ac); + +end \ No newline at end of file diff --git a/MATLAB/+XPlaneConnect/sendDATA.m b/MATLAB/+XPlaneConnect/sendDATA.m index f051fbe..6149205 100644 --- a/MATLAB/+XPlaneConnect/sendDATA.m +++ b/MATLAB/+XPlaneConnect/sendDATA.m @@ -1,15 +1,11 @@ -function [ status ] = sendDATA(data, varargin) +function sendDATA(data, socket) % sendDATA Send X-Plane formatted DATA over UDP % % Inputs % data: X-Plane formatted data. Is a matlab structure with the following fields: % .h: Header array containing header numbers corresponding to values in the X-Plane UDP Data screen. % .d: 2-D Data array. Each row contains eight values corresponding to the header value (.h(1) corresponds to .d(1,:)) -% IP Address (optional): IP Address of the machine that will receive the data as a character array. Default is '127.0.0.1' (local machine) -% port (optional): Port on the receiving machine where the data will be sent . Default is 49009 (XPlaneConnect). In general use 49009 to send to the plugin and 49005 to send to the x-plane udp interface. -% -% Outputs -% status: 0: no error, <0: error +% socket (optional): The client to use when sending the command. % % Use % 1. import XPlaneConnect.*; @@ -29,29 +25,22 @@ function [ status ] = sendDATA(data, varargin) import XPlaneConnect.* -%% Handle Input -p = inputParser; -addRequired(p,'data'); -addOptional(p,'IP','127.0.0.1',@ischar); -addOptional(p,'port',49009,@isnumeric); -parse(p,data,varargin{:}); - -%% BODY - - header = ['DATA'-0,0]; - dataStream = header; - - for i=1:length(p.Results.data.h) - dataStream = [dataStream, p.Results.data.h(i), 0, 0, 0, typecast(single(p.Results.data.d(i,1:8)),'uint8')]; %#ok +%% Get client +global clients; +if ~exist('socket', 'var') + assert(istrue(length(clients) < 2), '[sendDATA] ERROR: Multiple clients open. You must specify which client to use.'); + if isempty(clients) + openUDP(); end - - % Send DATA - if length(dataStream) > 5 - status = sendUDP(dataStream, p.Results.IP, p.Results.port); - else - disp('Warning in sendDATA: Sending empty dataStream') - status = -2; - end - + socket = clients(1); end +%% Validate input +javaData = []; +for i = 1:length(data.h); + javaData = [javaData; data.h(i) data.d(i, 1:8)]; +end + +%% Send command +socket.sendDATA(javaData); + diff --git a/MATLAB/+XPlaneConnect/sendDREF.m b/MATLAB/+XPlaneConnect/sendDREF.m deleted file mode 100644 index 4632d67..0000000 --- a/MATLAB/+XPlaneConnect/sendDREF.m +++ /dev/null @@ -1,58 +0,0 @@ -function status = sendDREF( dataRef, Value, varargin ) -% sendDREF Send a command to change any DataRef in X-Plane over UDP. This requires the X-Plane Connect Plugin to be running -% -% Inputs -% dataRef: The X-Plane Dataref that will be chaged -% Value: The value that the above dataref is set to -% IP Address (optional): IP Address of the machine that will receive the data as a character array. Default is '127.0.0.1' (local machine) -% port (optional): Port on the receiving machine where the data will be sent. Default is 49009 (XPlaneConnect). In general use 49009 to send to the plugin and 49005 to send to the x-plane udp -% -% Outputs -% status: If there was an error. status<0 means there was an error. -% -% Use -% 1. import XPlaneConnect.* -% 2. dataRef = 'sim/aircraft/parts/acf_gear_deploy'; // Landing Gear -% 3. Value = 0; -% 4. status = sendDREF(dataRef, Value); -% -% Contributors -% [CT] Christopher Teubert (SGT, Inc.) -% christopher.a.teubert@nasa.gov -% -% To Do -% 1. Verify Input -% -% BEGIN CODE - -import XPlaneConnect.* - -status = 0; - -%% Handle Input -p = inputParser; -addRequired(p,'dataRef'); -addRequired(p,'Value'); -addOptional(p,'IP','127.0.0.1',@ischar); -addOptional(p,'port',49009,@isnumeric); -parse(p,dataRef, Value ,varargin{:}); - -%% BODY - dataStream = zeros(1,7+length(p.Results.dataRef)+length(p.Results.Value)*4); - % Build Header - dataStream(1:4) = 'DREF'-0; - - % Add DREF - dataStream(6) = uint8(length(p.Results.dataRef)); - len = 6+length(p.Results.dataRef); - dataStream(7:len)=p.Results.dataRef-0; - - % Add Value - dataStream(len+1) =uint8(length(p.Results.Value)); - dataStream(len+2:end)=typecast(single(p.Results.Value),'uint8'); - - % Send DREF - if length(dataStream) > 5 - status = sendUDP(dataStream, p.Results.IP, p.Results.port); - end -end \ No newline at end of file diff --git a/MATLAB/+XPlaneConnect/sendPOSI.m b/MATLAB/+XPlaneConnect/sendPOSI.m index 4f85735..4953990 100644 --- a/MATLAB/+XPlaneConnect/sendPOSI.m +++ b/MATLAB/+XPlaneConnect/sendPOSI.m @@ -1,5 +1,5 @@ -function [ status ] = sendPOSI( posi, varargin ) -% sendPOSI Send X-Plane Aircraft Position over UDP +function sendPOSI( posi, ac, socket ) +% sendPOSI Sets the position of the specified aircraft. % % Inputs % posi: Position array where the elements are as follows: @@ -10,52 +10,42 @@ function [ status ] = sendPOSI( posi, varargin ) % 5. Pitch (deg) % 6. True Heading (deg) % 7. Gear (0=up, 1=down) -% acft (optional): Aircraft # (default is 0; 0 = own aircraft) -% IP Address (optional): IP Address of the machine that will receive the data as a character array. Default is '127.0.0.1' (local machine) -% port (optional): Port on the receiving machine where the data will be sent. Default is 49009 (XPlaneConnect). In general use 49009 to send to the plugin and 49005 to send to the x-plane udp -% -% Outputs -% status: If there was an error. Status<0 means there was an error. +% acft (optional): The aircraft to set. 0 for the player aircraft. +% socket (optional): The client to use when sending the command. % % Use -% 1. import XPlaneConnect.*; -% 2. #Send the data array to port 49009 on the computer at IP address 172.0.100.54. -% 3. status = sendPOSI([37.5242422, -122.06899, 2500, 0, 0, 0, 1], 1, '172.0.100.54'); +% 1. import XPlaneConnect.*; +% 2. sendPOSI([37.5242422, -122.06899, 2500, 0, 0, 0, 1], 1); % -% Note: send the value -998 to not overwrite that parameter. That is, if -998 is sent, the parameter will stay at the current X-Plane value +% Note: send the value -998 to not overwrite that parameter. That is, if +% -998 is sent, the parameter will stay at the current X-Plane value. % % Contributors % [CT] Christopher Teubert (SGT, Inc.) % christopher.a.teubert@nasa.gov -% -% To Do -% -% BEGIN CODE +% [JW] Jason Watkins +% jason.w.watkins@nasa.gov import XPlaneConnect.* -%% Handle Input -p = inputParser; -addRequired(p,'posi'); -addOptional(p,'acft',0,@isnumeric); -addOptional(p,'IP','127.0.0.1',@ischar); -addOptional(p,'port',49009,@isnumeric); -parse(p,posi,varargin{:}); - -%% BODY - header = ['POSI'-0,0]; - dataStream = [header, p.Results.acft]; - - % Deal with position update - position = [37.4185718,-121.935565,500,0,0,0, 0]; - - for i=1:min(length(position),length(p.Results.posi)) - position(i) = p.Results.posi(i); +%% Get client +global clients; +if ~exist('socket', 'var') + assert(istrue(length(clients) < 2), '[pauseSim] ERROR: Multiple clients open. You must specify which client to use.'); + if isempty(clients) + openUDP(); end - dataStream = [dataStream, typecast(single(position),'uint8')]; - - % Send POSI - status = sendUDP(dataStream, p.Results.IP, p.Results.port); - + socket = clients(1); end +%% Validate input +posi = single(posi); +if ~exist('ac', 'var') + ac = 0; +end +ac = logical(ac); + +%% Send command +socket.sendCTRL(ctrl, ac); + +end \ No newline at end of file diff --git a/MATLAB/+XPlaneConnect/sendSTRU.m b/MATLAB/+XPlaneConnect/sendSTRU.m deleted file mode 100644 index e00898a..0000000 --- a/MATLAB/+XPlaneConnect/sendSTRU.m +++ /dev/null @@ -1,57 +0,0 @@ -function [ status ] = sendSTRU( STRU, varargin ) -%sendSTRU Send a MATLAB structure over UDP -% -%Inputs -% stru: A MATLAB structure -% IP Address (optional): IP Address of the machine that will receive the data as a character array. Default is '127.0.0.1' (local machine) -% port (optional): Port on the receiving machine where the data will be sent. Default is 49009 (XPlaneConnect). In general use 49009 to send to the plugin -% -%Outputs -% status: If there was an error. Status<0 means there was an error. -% -%Use -% 1. import XPlaneConnect.*; -% 2. data = struct('a',[1:20],'b',1.853,'name','Example Structure'); -% 3. #Send the data structure to port 49005 on the computer at IP address 172.0.100.54 -% 4. status = sendUDP( data, '172.0.100.54', 49005 ); -% -% Contributors -% [CT] Christopher Teubert (SGT, Inc.) -% christopher.a.teubert@nasa.gov -% -% To Do -% -%BEGIN CODE - - import XPlaneConnect.* - - %% Handle Input - p = inputParser; - addRequired(p,'STRU'); - addOptional(p,'IP','127.0.0.1',@ischar); - addOptional(p,'port',49009,@isnumeric); - parse(p,STRU,varargin{:}); - - %% Form Data Array representing the structure - DATA = ['STRU'-0,0]; %array header - fieldName = fieldnames(p.Results.STRU); %all Struct fields - for i=1:length(fieldName) %for each field - field = getfield(p.Results.STRU,fieldName{i}); %get field - if ischar(field) %String - dim1 = 0; %Indicates string - dim2 = length(field); %length - data = field-0; %data - else %Numeric - dim1 = size(field,1); %Array Dim1 - dim2 = size(field,2); %Array Dim2 - data = typecast(single(reshape(field',1,dim1*dim2)),'uint8'); %Data - end - - DATA = [DATA,length(fieldName{i}),fieldName{i}-0,dim1,dim2,data]; %add to array - end - - %% Send Array - status = sendUDP(DATA, p.Results.IP, p.Results.port); - -end - diff --git a/MATLAB/+XPlaneConnect/sendTEXT.m b/MATLAB/+XPlaneConnect/sendTEXT.m index 499c12b..6dcd010 100644 --- a/MATLAB/+XPlaneConnect/sendTEXT.m +++ b/MATLAB/+XPlaneConnect/sendTEXT.m @@ -1,4 +1,4 @@ -function [ status ] = sendTEXT( msg, varargin ) +function sendTEXT( msg, x, y, socket ) % sendTEXT Sends a string to be displayed in X-Plane. % % Inputs @@ -13,35 +13,34 @@ function [ status ] = sendTEXT( msg, varargin ) % % Use % 1. import XPlaneConnect.*; -% 2. #Set a message to be displayed near the top middle of the screen. +% 2. % Set a message to be displayed near the top middle of the screen. % 3. status = sendTEXT('Some text', 512, 600); % % Contributors -% Jason Watkins -% jason.w.watkins@nasa.gov -% -% To Do -% -% BEGIN CODE +% Jason Watkins (jason.w.watkins@nasa.gov) import XPlaneConnect.* -%% Handle Input -p = inputParser; -addRequired(p,'msg'); -addOptional(p,'x',-1,@isnumeric); -addOptional(p,'y',-1,@isnumeric); -addOptional(p,'IP','127.0.0.1',@ischar); -addOptional(p,'port',49009,@isnumeric); -parse(p,msg,varargin{:}); -%% Body - header = ['TEXT'-0,0]; - dataStream = [header,... - typecast(uint32(p.Results.x), 'uint8'),... - typecast(uint32(p.Results.y), 'uint8'),... - uint8(length(msg)), msg-0]; - - % Send TEXT - status = sendUDP(dataStream, p.Results.IP, p.Results.port); +%% Get client +global clients; +if ~exist('socket', 'var') + assert(istrue(length(clients) < 2), '[sendCTRL] ERROR: Multiple clients open. You must specify which client to use.'); + if isempty(clients) + openUDP(); + end + socket = clients(1); end +%% Validate input +if ~exist('x', 'var') + x = -1; +end +if ~exist('y', 'var') + y = -1; +end +x = int32(x); +y = int32(y); + +%% Send command +socket.sendTEXT(msg, x, y); +end \ No newline at end of file diff --git a/MATLAB/+XPlaneConnect/sendUDP.m b/MATLAB/+XPlaneConnect/sendUDP.m deleted file mode 100644 index 6b0b112..0000000 --- a/MATLAB/+XPlaneConnect/sendUDP.m +++ /dev/null @@ -1,49 +0,0 @@ -function [ status ] = sendUDP( data, IP, port ) -%sendUDP Send an one dimensional array of type uint8 data over an UDP connection using a java DatagramSocket -% -%Inputs -% Data: 1-D array of type uint8 data to be sent -% IP Address (optional): IP Address of the machine that will receive the data as a character array. Default is '127.0.0.1' (local machine) -% port (optional): Port on the receiving machine where the data will be sent. Default is 49009 (XPlaneConnect). In general use 49009 to send to the plugin -% -%Outputs -% status: If there was an error. Status<0 means there was an error. -% -%Use -% 1. import XPlaneConnect.*; -% 2. data = uint8([1:20]); -% 3. #Send the data array to port 49005 on the computer at IP address 172.0.100.54. -% 4. status = sendUDP( data, '172.0.100.54', 49005 ); -% -% Contributors -% [CT] Christopher Teubert (SGT, Inc.) -% christopher.a.teubert@nasa.gov -% -% To Do -% 1. Verify Input -% -%BEGIN CODE - - import java.net.DatagramSocket - import java.net.DatagramPacket - import java.net.InetAddress - - data(5) = length(data); - status = 0; - - %% Send array - persistent socket - if isempty(socket) - try - socket = DatagramSocket; - catch err - status = 1; - disp(err) - end - end - - IP = InetAddress.getByName(IP); - packet = DatagramPacket(data, length(data), IP, port); %create packet - socket.send(packet); -end - diff --git a/MATLAB/+XPlaneConnect/sendWYPT.m b/MATLAB/+XPlaneConnect/sendWYPT.m index ed64b04..c8ebabf 100644 --- a/MATLAB/+XPlaneConnect/sendWYPT.m +++ b/MATLAB/+XPlaneConnect/sendWYPT.m @@ -1,53 +1,43 @@ -function [ status ] = sendWYPT( op, points, varargin ) +function sendWYPT( op, points, socket ) % sendWYPT Adds, removes, or clears a set of waypoints to be rendered in % the simulator. % % Inputs -% msg: The string to be displayed -% x (optional): The distance from the left edge of the screen to display the message. -% y (optional): The distance from the bottom edge of the screen to display the message. -% IP Address (optional): IP Address of the machine that will receive the data as a character array. Default is '127.0.0.1' (local machine) -% port (optional): Port on the receiving machine where the data will be sent. Default is 49009 (XPlaneConnect). In general use 49009 to send to the plugin and 49005 to send to the x-plane udp -% -% Outputs -% status: 0 if successful, otherwise a negative value. +% op: The operation to perform. 1=add, 2=remove, 3=clear. +% points: An array of values representing points. Each triplet in the +% array will be interpreted as a (Lat, Lon, Alt) point. +% socket (optional): The client to use when sending the command. % % Use % 1. import XPlaneConnect.*; -% 2. #Set a message to be displayed near the top middle of the screen. +% 2. %Set a message to be displayed near the top middle of the screen. % 3. status = sendTEXT('Some text', 512, 600); % % Contributors -% Jason Watkins -% jason.w.watkins@nasa.gov +% Jason Watkins (jason.w.watkins@nasa.gov) % % To Do % % BEGIN CODE import XPlaneConnect.* -%% Handle Input -p = inputParser; -addRequired(p,'op'); -addRequired(p,'points'); -addOptional(p,'IP','127.0.0.1',@ischar); -addOptional(p,'port',49009,@isnumeric); -parse(p,op,points,varargin{:}); -%% Validate Input +%% Get client +global clients; +if ~exist('socket', 'var') + assert(istrue(length(clients) < 2), '[sendCTRL] ERROR: Multiple clients open. You must specify which client to use.'); + if isempty(clients) + openUDP(); + end + socket = clients(1); +end + +%% Validate input len = uint32(length(points)); assert(op > 0 && op < 4); assert(mod(len, 3) == 0); -assert(len / 3 < 20); -%% Body -header = ['WYPT'-0,0]; -dataStream = [header,... - uint8(op),... - uint8(len / 3),... - typecast(single(points), 'uint8')]; - -% Send TEXT -status = sendUDP(dataStream, p.Results.IP, p.Results.port); -end +%% Send command +socket.sendCTRL(ctrl, ac); +end \ No newline at end of file diff --git a/MATLAB/+XPlaneConnect/setConn.m b/MATLAB/+XPlaneConnect/setConn.m index 39c2fbf..4038e68 100644 --- a/MATLAB/+XPlaneConnect/setConn.m +++ b/MATLAB/+XPlaneConnect/setConn.m @@ -1,51 +1,35 @@ -function status = setConn( recvPort, IP, port ) +function setConn(port, socket) % setConn Send a command to set up the port where you will receive data on % this computer. % % Inputs -% Receiving Port: Port that data will be sent to in the future for this connection -% IP Address (optional): IP Address of the machine that will receive the data as a character array. Default is '127.0.0.1' (local machine) -% port (optional): Port on the receiving machine where the data will be sent. Default is 49009 (XPlaneConnect). In general use 49009 to send to the plugin and 49005 to send to the x-plane udp -% -% Outputs -% status: If there was an error. status<0 means there was an error. +% port: Port that data will be sent to in the future for this connection. +% socket (optional): The client to use when sending the command. % % Use % 1. import XPlaneConnect.* % 2. status = setConn(49011); % % Contributors -% [CT] Christopher Teubert (SGT, Inc.) -% christopher.a.teubert@nasa.gov -% -% To Do -% 1. Verify Input -% -% BEGIN CODE - import XPlaneConnect.* +% Christopher Teubert (SGT, Inc.) +% Jason Watkins - status = 0; - message = zeros(1,7); - -%% Handle Input - % Optional parameters - if ~exist('IP','var'), IP = '127.0.0.1'; end - if ~exist('port','var'), port = 49009; end +import XPlaneConnect.* - % Check format of input-TODO +%% Get client +global clients; +if ~exist('socket', 'var') + assert(istrue(length(clients) < 2), '[sendCTRL] ERROR: Multiple clients open. You must specify which client to use.'); + if isempty(clients) + openUDP(); + end + socket = clients(1); +end -%% BODY - % Header - message(1:4) = 'CONN'-0; - - % RecvPort - message(6:7) = typecast(uint16(recvPort),'uint8'); - - % Send - sendUDP(message,IP,port); - - global udpReadPort; - udpReadPort = recvPort; - readUDP(); % Read and discard CONF message +%% Validate input +port = int32(port); + +%% Send command +socket.setCONN(port); end \ No newline at end of file diff --git a/MATLAB/+XPlaneConnect/setDREF.m b/MATLAB/+XPlaneConnect/setDREF.m new file mode 100644 index 0000000..9b28bb1 --- /dev/null +++ b/MATLAB/+XPlaneConnect/setDREF.m @@ -0,0 +1,37 @@ +function setDREF( dref, value, socket ) +% sendDREF Sends a command to X-Plane that sets the given DREF. +% +% Inputs +% dref: The name of the X-Plane dataref to set. +% Value: An array of floating point values whose structure depends on the dref specified. +% socket (optional): The client to use when sending the command. +% +% Use +% 1. import XPlaneConnect.* +% 2. dataRef = 'sim/aircraft/parts/acf_gear_deploy'; // Landing Gear +% 3. Value = 0; +% 4. status = setDREF(dataRef, Value); +% +% Contributors +% [CT] Christopher Teubert (SGT, Inc.) +% christopher.a.teubert@nasa.gov +% [JW] Jason Watkins +% jason.w.watkins@nasa.gov + +import XPlaneConnect.* + +%% Get client +global clients; +if ~exist('socket', 'var') + assert(istrue(length(clients) < 2), '[setDREF] ERROR: Multiple clients open. You must specify which client to use.'); + if isempty(clients) + openUDP(); + end + socket = clients(1); +end + +%% Validate input +value = single(value); + +%%Send command +socket.setDREF(dref, value); \ No newline at end of file diff --git a/TestScripts/Java Tests/XPlaneConnectTest.java b/TestScripts/Java Tests/XPlaneConnectTest.java index 5bc3d45..2964a06 100644 --- a/TestScripts/Java Tests/XPlaneConnectTest.java +++ b/TestScripts/Java Tests/XPlaneConnectTest.java @@ -123,7 +123,7 @@ public class XPlaneConnectTest String dref = "sim/cockpit/switches/gear_handle_status"; try(XPlaneConnect xpc = new XPlaneConnect()) { - float[] result = xpc.requestDREF(dref); + float[] result = xpc.getDREF(dref); assertEquals(1, result.length); } } @@ -138,7 +138,7 @@ public class XPlaneConnectTest }; try(XPlaneConnect xpc = new XPlaneConnect()) { - float[][] result = xpc.requestDREFs(drefs); + float[][] result = xpc.getDREFs(drefs); assertEquals(2, result.length); assertEquals(1, result[0].length); assertEquals(4, result[1].length); @@ -150,7 +150,7 @@ public class XPlaneConnectTest { try(XPlaneConnect xpc = new XPlaneConnect()) { - xpc.requestDREFs(null); + xpc.getDREFs(null); fail(); } } @@ -161,7 +161,7 @@ public class XPlaneConnectTest String[] drefs = new String[0]; try(XPlaneConnect xpc = new XPlaneConnect()) { - xpc.requestDREFs(drefs); + xpc.getDREFs(drefs); fail(); } } @@ -172,7 +172,7 @@ public class XPlaneConnectTest String[] drefs = new String[300]; try(XPlaneConnect xpc = new XPlaneConnect()) { - xpc.requestDREFs(drefs); + xpc.getDREFs(drefs); fail(); } } @@ -184,7 +184,7 @@ public class XPlaneConnectTest String[] drefs = new String[]{longDREF}; try(XPlaneConnect xpc = new XPlaneConnect()) { - xpc.requestDREFs(drefs); + xpc.getDREFs(drefs); fail(); } } @@ -195,7 +195,7 @@ public class XPlaneConnectTest String dref = ""; try(XPlaneConnect xpc = new XPlaneConnect()) { - xpc.requestDREF(dref); + xpc.getDREF(dref); fail(); } } @@ -207,12 +207,12 @@ public class XPlaneConnectTest try(XPlaneConnect xpc = new XPlaneConnect()) { xpc.pauseSim(true); - float[] result = xpc.requestDREF(dref); + float[] result = xpc.getDREF(dref); //assertEquals(1, result.length); //TODO: Why is this result 20 elements long in Java? (It's only one in MATLAB) assertEquals(1, result[0], 1e-4); xpc.pauseSim(false); - result = xpc.requestDREF(dref); + result = xpc.getDREF(dref); //assertEquals(1, result.length); assertEquals(0, result[0], 1e-4); } @@ -305,12 +305,12 @@ public class XPlaneConnectTest String dref = "sim/cockpit/switches/gear_handle_status"; try(XPlaneConnect xpc = new XPlaneConnect()) { - float gearHandle = xpc.requestDREF(dref)[0]; + float gearHandle = xpc.getDREF(dref)[0]; float value = gearHandle > 0.5 ? 0 : 1; - xpc.sendDREF(dref, value); + xpc.setDREF(dref, value); - float result = xpc.requestDREF(dref)[0]; + float result = xpc.getDREF(dref)[0]; assertEquals(value, result, 1e-4); } } @@ -320,7 +320,7 @@ public class XPlaneConnectTest { try(XPlaneConnect xpc = new XPlaneConnect()) { - xpc.sendDREF(null, 0); + xpc.setDREF(null, 0); fail(); } } @@ -332,7 +332,7 @@ public class XPlaneConnectTest try(XPlaneConnect xpc = new XPlaneConnect()) { - xpc.sendDREF(dref, null); + xpc.setDREF(dref, null); fail(); } } @@ -343,7 +343,7 @@ public class XPlaneConnectTest String dref = "sim/cockpit/switches/gear_handle_status"; try(XPlaneConnect xpc = new XPlaneConnect()) { - xpc.sendDREF(dref, new float[0]); + xpc.setDREF(dref, new float[0]); fail(); } } @@ -354,7 +354,7 @@ public class XPlaneConnectTest String dref = "sim/cockpit/switches/gear_handle_status"; try(XPlaneConnect xpc = new XPlaneConnect()) { - xpc.sendDREF(dref, new float[200]); + xpc.setDREF(dref, new float[200]); fail(); } } @@ -365,7 +365,7 @@ public class XPlaneConnectTest String dref = "sim/cockpit/switches/i/am/a/very/long/fake/dref/that/is/over/255/characters/./which/means/that/my/length/cant/be/encoded/in/the/single/byte/allocated/by/the/message/format/,/so/i/should/cause/an/exception/instead/./i/am/still/not/long/enough/./almost/there"; try(XPlaneConnect xpc = new XPlaneConnect()) { - xpc.sendDREF(dref, 0); + xpc.setDREF(dref, 0); fail(); } } @@ -376,7 +376,7 @@ public class XPlaneConnectTest String dref = ""; try(XPlaneConnect xpc = new XPlaneConnect()) { - xpc.sendDREF(dref, 0); + xpc.setDREF(dref, 0); fail(); } } @@ -396,7 +396,7 @@ public class XPlaneConnectTest try(XPlaneConnect xpc = new XPlaneConnect()) { xpc.sendCTRL(ctrl); - float[][] result = xpc.requestDREFs(drefs); + float[][] result = xpc.getDREFs(drefs); if(result.length < ctrl.length) { fail(); @@ -425,8 +425,8 @@ public class XPlaneConnectTest try(XPlaneConnect xpc = new XPlaneConnect()) { xpc.sendCTRL(ctrl, 1); - float[][] result1 = xpc.requestDREFs(drefs1); - float[][] result2 = xpc.requestDREFs(drefs2); + float[][] result1 = xpc.getDREFs(drefs1); + float[][] result2 = xpc.getDREFs(drefs2); if(result1.length != 4 || result2.length != 2) { fail(); @@ -480,7 +480,7 @@ public class XPlaneConnectTest xpc.sendPOSI(posi); //TODO: It seems that these calls are a bit too fast. The dref request often gets stale data, causing the test to fail incorrectly. try {Thread.sleep(100);}catch(InterruptedException ex){} - float[][] result = xpc.requestDREFs(drefs); + float[][] result = xpc.getDREFs(drefs); xpc.pauseSim(false); if(result.length < posi.length) { @@ -543,7 +543,7 @@ public class XPlaneConnectTest try(XPlaneConnect xpc = new XPlaneConnect()) { xpc.sendDATA(data); - float[] result = xpc.requestDREF(dref); + float[] result = xpc.getDREF(dref); assertEquals(data[0][1], result[0], 1e-4); } } @@ -577,7 +577,7 @@ public class XPlaneConnectTest { xpc.setCONN(49055); assertEquals(49055, xpc.getRecvPort()); - float[] result = xpc.requestDREF(dref); + float[] result = xpc.getDREF(dref); assertEquals(1, result.length); } } From fd9696691113b36164c8c0555fb7e9d3083f11e1 Mon Sep 17 00:00:00 2001 From: Jason Watkins Date: Sat, 18 Apr 2015 09:15:27 -0700 Subject: [PATCH 15/17] Tweaked Java client docs and added readDATA command. --- Java/src/XPlaneConnect.java | 68 +++++++++++++++++++++++++++---------- 1 file changed, 50 insertions(+), 18 deletions(-) diff --git a/Java/src/XPlaneConnect.java b/Java/src/XPlaneConnect.java index 7cd22dc..fcc292e 100644 --- a/Java/src/XPlaneConnect.java +++ b/Java/src/XPlaneConnect.java @@ -124,9 +124,9 @@ public class XPlaneConnect implements AutoCloseable /** * Initializes a new instance of the {@code XPlaneConnect} class using the specified ports and X-Plane host. * - * @param port The port on which the X-Plane Connect plugin is sending data. * @param xpHost The network host on which X-Plane is running. * @param xpPort The port on which the X-Plane Connect plugin is listening. + * @param port The local port to use when sending and receiving data from XPC. * @throws java.net.SocketException If this instance is unable to bind to the specified port. * @throws java.net.UnknownHostException If the specified hostname can not be resolved. */ @@ -139,9 +139,9 @@ public class XPlaneConnect implements AutoCloseable /** * Initializes a new instance of the {@code XPlaneConnect} class using the specified ports, hostname, and timeout. * - * @param port The port on which the X-Plane Connect plugin is sending data. * @param xpHost The network host on which X-Plane is running. * @param xpPort The port on which the X-Plane Connect plugin is listening. + * @param port The port on which the X-Plane Connect plugin is sending data. * @param timeout The time, in milliseconds, after which read attempts will timeout. * @throws java.net.SocketException If this instance is unable to bind to the specified port. * @throws java.net.UnknownHostException If the specified hostname can not be resolved. @@ -156,7 +156,7 @@ public class XPlaneConnect implements AutoCloseable } /** - * Closes the underlying inSocket. + * Closes the underlying socket. */ public void close() { @@ -189,20 +189,13 @@ public class XPlaneConnect implements AutoCloseable } /** - * Send the given data to the X-Plane plugin. This method automatically sets the length byte before sending, - * overwriting any value previously stored in @{code buffer[4]}. + * Send the given data to the X-Plane plugin. * * @param buffer The data to send. * @throws IOException If the send operation fails. */ private void sendUDP(byte[] buffer) throws IOException { - if(buffer.length < 5 || buffer.length > 255) - { - throw new IllegalArgumentException("buffer must be between 5 and 255 bytes long."); - } - buffer[4] = (byte)buffer.length; - DatagramPacket packet = new DatagramPacket(buffer, buffer.length, xplaneAddr, xplanePort); socket.send(packet); } @@ -228,9 +221,9 @@ public class XPlaneConnect implements AutoCloseable * @return A byte array representing data dependent on the dref requested. * @throws IOException If either the request or the response fails. */ - public float[] requestDREF(String dref) throws IOException + public float[] getDREF(String dref) throws IOException { - return requestDREFs(new String[]{dref})[0]; + return getDREFs(new String[] {dref})[0]; } /** @@ -240,7 +233,7 @@ public class XPlaneConnect implements AutoCloseable * @return A multidimensional array representing the data for each requested dref. * @throws IOException If either the request or the response fails. */ - public float[][] requestDREFs(String[] drefs) throws IOException + public float[][] getDREFs(String[] drefs) throws IOException { //Preconditions if(drefs == null || drefs.length == 0) @@ -313,19 +306,19 @@ public class XPlaneConnect implements AutoCloseable throw new IOException("No response received."); } - public void sendDREF(String dref, float value) throws IOException + public void setDREF(String dref, float value) throws IOException { - sendDREF(dref, new float[] {value}); + setDREF(dref, new float[] {value}); } /** * Sends a command to X-Plane that sets the given DREF. * - * @param dref The name of the DREF to set. + * @param dref The name of the X-Plane dataref to set. * @param value An array of floating point values whose structure depends on the dref specified. * @throws IOException If the command cannot be sent. */ - public void sendDREF(String dref, float[] value) throws IOException + public void setDREF(String dref, float[] value) throws IOException { //Preconditions if(dref == null) @@ -551,6 +544,36 @@ public class XPlaneConnect implements AutoCloseable sendUDP(os.toByteArray()); } + /** + * Reads X-Plane data + * + * @return The data read. + * @throws IOException If the read operation fails. + */ + public float[][] readData() throws IOException + { + byte[] buffer = readUDP(); + ByteBuffer bb = ByteBuffer.wrap(buffer); + int cur = 5; + int len = bb.get(cur++); + float[][] result = new float[bb.get(len)][9]; + for(int i = 0; i < len; ++i) + { + for(int j = 0; j < 9; ++j) + { + result[i][j] = bb.getFloat(cur); + cur += 4; + } + } + return result; + } + + /** + * Sends data to X-Plane + * + * @param data The data to send. + * @throws IOException If the command cannot be sent. + */ public void sendDATA(float[][] data) throws IOException { //Preconditions @@ -635,6 +658,15 @@ public class XPlaneConnect implements AutoCloseable sendUDP(os.toByteArray()); } + /** + * Adds, removes, or clears a set of waypoints. If the command is clear, the points are ignored + * and all points are removed. + * + * @param op The operation to perform. + * @param points An array of values representing points. Each triplet in the array will be + * interpreted as a (Lat, Lon, Alt) point. + * @throws IOException If the command cannot be sent. + */ public void sendWYPT(WaypointOp op, float[] points) throws IOException { //Preconditions From 3ad2bb76cbb02e1b9d2984bd981307c70f369c28 Mon Sep 17 00:00:00 2001 From: Jason Watkins Date: Mon, 20 Apr 2015 10:41:00 -0700 Subject: [PATCH 16/17] Added selectDATA command to Java client and modified MATLAB client to use it. --- Java/src/XPlaneConnect.java | 30 ++++++++++++++++++++ MATLAB/+XPlaneConnect/readDATA.m | 9 ++++++ MATLAB/+XPlaneConnect/selectDATA.m | 44 ++++++++++++------------------ 3 files changed, 56 insertions(+), 27 deletions(-) diff --git a/Java/src/XPlaneConnect.java b/Java/src/XPlaneConnect.java index fcc292e..80407e0 100644 --- a/Java/src/XPlaneConnect.java +++ b/Java/src/XPlaneConnect.java @@ -609,6 +609,36 @@ public class XPlaneConnect implements AutoCloseable sendUDP(os.toByteArray()); } + /** + * Selects what data X-Plane will export over UDP. + * + * @param rows The row numbers to select. + * @throws IOException If the command cannot be sent. + */ + public void selectDATA(int[] rows) throws IOException + { + //Preconditions + if(rows == null || rows.length == 0) + { + throw new IllegalArgumentException("rows must be a non-null, non-empty array."); + } + + //Convert data to bytes + ByteBuffer bb = ByteBuffer.allocate(4 * rows.length); + bb.order(ByteOrder.LITTLE_ENDIAN); + for(int i = 0; i < rows.length; ++i) + { + bb.putInt(i * 4, rows[i]); + } + + //Build and send message + ByteArrayOutputStream os = new ByteArrayOutputStream(); + os.write("DSEL".getBytes(StandardCharsets.UTF_8)); + os.write(0xFF); //Placeholder for message length + os.write(bb.array()); + sendUDP(os.toByteArray()); + } + /** * Sets a message to be displayed on the screen in X-Plane at the default screen location. * diff --git a/MATLAB/+XPlaneConnect/readDATA.m b/MATLAB/+XPlaneConnect/readDATA.m index a1dbc85..4408952 100644 --- a/MATLAB/+XPlaneConnect/readDATA.m +++ b/MATLAB/+XPlaneConnect/readDATA.m @@ -46,3 +46,12 @@ end %% Get data result.raw = socket.readDATA(); + +%% Format data +rows = (length(result.raw) - 5) / 9; +result.h = zeroes(rows); +for i=1:rows + j = 6 + (i - 1) * 9; + result.h(i) = result.rows(j); + result.d = [result.d; result.rows((j+1):(j+9))]; +end \ No newline at end of file diff --git a/MATLAB/+XPlaneConnect/selectDATA.m b/MATLAB/+XPlaneConnect/selectDATA.m index 49efca1..2943e24 100644 --- a/MATLAB/+XPlaneConnect/selectDATA.m +++ b/MATLAB/+XPlaneConnect/selectDATA.m @@ -1,13 +1,9 @@ -function [ status ] = selectDATA( index, varargin ) +function selectDATA( rows, socket ) % selectDATA Choose specific X-Plane parameters to be send over UDP % % Inputs -% index: An array of the values that to be sent. Corresponds to the numbers on the XPlane Output screen -% IP Address (optional): IP Address of the machine that will receive the data as a character array. Default is '127.0.0.1' (local machine) -% port (optional): Port on the receiving machine where the data will be sent. Default is 49009 (XPlaneConnect). In general use 49009 to send to the plugin and 49005 to send to the x-plane udp -% -% Outputs -% status: If there was an error. Status<0 means there was an error. +% rows: An array of the values that to be sent. Corresponds to the numbers on the XPlane Output screen +% socket (optional): The client to use when sending the command. % % Use % 1. import XPlaneConnect.*; @@ -15,29 +11,23 @@ function [ status ] = selectDATA( index, varargin ) % 3. status = selectDATA( values, '127.0.0.1', 49005 ); % send to localhose port 49005 % % Contributors -% [CT] Christopher Teubert (SGT, Inc.) -% christopher.a.teubert@nasa.gov -% -% To Do -% 1. Verify Input -% -% BEGIN CODE +% Christopher Teubert (SGT, Inc.) +% Jason Watkins import XPlaneConnect.* -%% Handle Input -p = inputParser; -addRequired(p,'index'); -addOptional(p,'IP','127.0.0.1',@ischar); -addOptional(p,'port',49009,@isnumeric); -parse(p,index,varargin{:}); - -%% BODY - dataString = ['DSEL'-0,0]; - for i=1:length(index) - dataString = [dataString, p.Results.index(i), 0, 0, 0]; +%% Get client +global clients; +if ~exist('socket', 'var') + assert(istrue(length(clients) < 2), '[sendDATA] ERROR: Multiple clients open. You must specify which client to use.'); + if isempty(clients) + openUDP(); end - status = sendUDP(dataStream, p.Results.IP, p.Results.port); - + socket = clients(1); end +%% Validate input +rows = int32(rows); + +%% Send command +socket.selectDATA(rows); From 15234054958e04d995bdd7823db3e6bd3f6e81ec Mon Sep 17 00:00:00 2001 From: Jason Watkins Date: Tue, 21 Apr 2015 09:51:49 -0700 Subject: [PATCH 17/17] Fixed errors in MATLAB client and updated tests. --- MATLAB/+XPlaneConnect/XPlaneConnect.jar | Bin 6480 -> 6791 bytes MATLAB/+XPlaneConnect/getDREFs.m | 9 ++++---- MATLAB/+XPlaneConnect/openUDP.m | 3 ++- MATLAB/+XPlaneConnect/pauseSim.m | 7 +++--- MATLAB/+XPlaneConnect/readDATA.m | 7 +++--- MATLAB/+XPlaneConnect/selectDATA.m | 7 +++--- MATLAB/+XPlaneConnect/sendCTRL.m | 7 +++--- MATLAB/+XPlaneConnect/sendDATA.m | 7 +++--- MATLAB/+XPlaneConnect/sendPOSI.m | 9 ++++---- MATLAB/+XPlaneConnect/sendTEXT.m | 7 +++--- MATLAB/+XPlaneConnect/sendWYPT.m | 20 ++++++++++++++---- MATLAB/+XPlaneConnect/setConn.m | 7 +++--- MATLAB/+XPlaneConnect/setDREF.m | 7 +++--- TestScripts/Java Tests/XPlaneConnectTest.java | 7 ++++-- TestScripts/MATLAB Tests/CTRLTest.m | 10 +++++---- TestScripts/MATLAB Tests/DATATest.m | 7 +++--- TestScripts/MATLAB Tests/POSITest.m | 6 +++--- .../{requestDREFTest.m => getDREFsTest.m} | 4 ++-- TestScripts/MATLAB Tests/openCloseTest.m | 11 ++++------ TestScripts/MATLAB Tests/pauseTest.m | 10 ++++----- TestScripts/MATLAB Tests/sendDREFTest.m | 19 ----------------- TestScripts/MATLAB Tests/sendReadTest.m | 18 ---------------- TestScripts/MATLAB Tests/setConnTest.m | 2 +- TestScripts/MATLAB Tests/setDREFTest.m | 18 ++++++++++++++++ TestScripts/MATLAB Tests/struTest.m | 19 ----------------- TestScripts/MATLAB Tests/tests.m | 6 ++---- xpcPlugin/MessageHandlers.cpp | 3 +-- xpcPlugin/XPlaneConnect/64/win.xpl | Bin 1170944 -> 1154560 bytes xpcPlugin/XPlaneConnect/win.xpl | Bin 908800 -> 897024 bytes 29 files changed, 109 insertions(+), 128 deletions(-) rename TestScripts/MATLAB Tests/{requestDREFTest.m => getDREFsTest.m} (86%) delete mode 100644 TestScripts/MATLAB Tests/sendDREFTest.m delete mode 100644 TestScripts/MATLAB Tests/sendReadTest.m create mode 100644 TestScripts/MATLAB Tests/setDREFTest.m delete mode 100644 TestScripts/MATLAB Tests/struTest.m diff --git a/MATLAB/+XPlaneConnect/XPlaneConnect.jar b/MATLAB/+XPlaneConnect/XPlaneConnect.jar index 47d7775b36b9662e8fe95448142cc0131ba1407d..edf9b739c8d56a5583ddc34dc3387973751d5355 100644 GIT binary patch delta 5722 zcmV-g7NzOXGKVz{P)h>@3IG5I003q~m5~i217<^&kuxL%WRKlXdXxcA)>-08Ipm?%s3BTwaV6X zZM83JxAjqL#addQXf;s5pl#K@->utyblci$x3zWKZg*Q3Wq;py@7$S$MEl3w`^~xM z`@VC2=XcI`?)}DFPmdE(1HZ>bL-b33H_fD%<>*&7qI2go`n684xXD4UO5tzZ^q=%w zdHJ0ie_wOcF#TSmKge0HN%8BLb>=$x_rIjVALZyz8vWT#W%S?j&tKg1KlHyE{Z&f- zCM9o3#sAajth~Re(_1=W+uL1C%x=Vs+IAtI$tawU!wCmH?QYQb#4Yuyg}oQ z8nKA#$+N99gwEY z#6E`1*lA{F;(vQpTlIF_QpVHnY-C_xMEJ*#m5n768I4;3{Kc_EEW1u&vt8rMn6zwcB$~`&fq7G` z-=_R<9!zakdthKVIDblArR*4pCo}L;OGhJv+gi3rG^%%QU=q=TOp6O~Gy>gYY;V~K zqn-V^J$s_?SjcJ4RAgGNY*CNaN~Y1Dk)+r)6HOSqI;wVVkoM?*sYosp?T(E|L#|R5 zDhZf)6>u2I3}F@`(z10E0Gc}$$UE`C4#MrhYNlpJVz6^6U8&45Oo*h@OR>RD>4ZHV zP2i7+;llgy+bdUu7w`{6&c(Az6H`ThKSFJ~8cWt~IFyZUPdIwPxh$qcBO_}yI;PPVQI#~_tN?r)C|VVM`y=t3 z#IJQ~((F`PLVBaiaBS?^+OFcEl+3*q@2Uk+6n;8umAm5|1P_JKM}vdN%Fo zfioZ{AA$&kFws*_d;7NF>B6ds1)(=`D3y#QvRx_DTizqlPDz$drzoi`hseY>1Luuh zot+3+CfSqEL3ejDmmY|=##DitPh=(tyw1-jzB3)2Gzbzh*4n^Y4>7m>R zimjDVOigWn34|;*7?AZSP&JavWCQ)tKq8r_NnlDgwm%w(BnAUol<;QUj7jTn5KYxxQn-V_)0_ZgC6?O)Y?W0Lx;C| zxSM-4-sa)$+zZ~mL#2>&c6hjtdpvX}-Nodc%tQ}=-A|uoYEbzS$h#d07+^$XCIk+| zvcrK$7QRRDIGKnBq;@S+cq4E~B(s5Z^txOW&qk8zsDV!Xs#O711mwhIVjx#{%$>m&lvkyQ3jAfwb5d$^x&VCt36 zvdLtBAf8MN6#`d?leDB?vNaG(1h)0G)-+Yu2AW~#p=2(Q$ti=egxtaOTJFD|sq$@W z0#chg6 zF?CGX`R!u!4xy3jtoLw|Qy#vK0jXVX>fww;{Wut=fF04g4Jy;G$X&XE`VPCzNjwy`c7&Re7rY3v#vp>M8eM za^C*^(d>a}G!a;#HV0tPvdaU&!}}QpyjmWSMM2GnEv!aH98?-(Ue#9Abwf8F$>_nz zKsJ6Ta8V$ZjgDk$15zh|VqNV)xj!U-0aiytb=sQxj@#H5gVOQ!m9&{(U@ubNihgM+!d za3Z6-*r56b&8#>mHC5AgqEgWSK9`Nf>r`RIcFuuh>QEP21Wm0bJHkpin%V}VO_9w9 z`eh5eSlt1F?P>xY+RsxqmDU=KtJ&8qteRd?+2)L-Qfl{_ z>484~a9b;pX?wfJdNyf@VDo`Aa?%7uIXokqw9X>9e;^%^-IQ$Nr)h>uCy2Y!>U^Eq z-qzF8zG>H{&X%@jG*@Nq=WAiEBWb9Is-}8A-HsB&)_5{vzTwIKHWH72gUiyB`IhhJ z&%?oL&huBbwN9tzh#0=xQaM9&TGwquQPT$Xf|Sd)C5#!gAKC9ip(~ zn<$5?$Izkubbw?nJ!s8;uQTU6FyA(L^7^954r}ruI&4lJBpdXJ7L?yjuJTg*eKhkF zIr>VSCrCRJEPsk@kK?ILtyl`zh}z)Z6;wtYae(1~1g;(J&H`RjP!4ouN^0Iqj-@YQ-G;`VfVmGVB4x5W5r02LV3!WfP z@D$DLvz?$>PZ0-C(rg$VEcF6g8S(NlDk0J{)&v14^F)}Mz!S0Y{)V&#HM%Pg0c z(fbwF6Rr4wX~lMb#9YSA9Sl`eO0P;Md-Z;R@&UDS(9pD2cGE2iEIGOrdk8g>k+rGa zoRHjXLij;*zYk#z2ky%)uPaTj%~%C1Os{?RDct@frr!a#@1*&37u>!Z?tMxbx6)YF zGH$tL+;Ypf<)(3RBtfxHG86AqCI!3ANS8@VUZB}V;>`(vGAx};_xlm(2WS?3j^@zk zi^5-K+H$?p=Q&ssy}pUV1DGl&FDudMwBCM-%KAc~@e}0hkXwbvXl^K^HJqe*$2)DO z_2XEugaRlb^UbXdIG(`ui+D1IOgn+6U!n`pzUO0g0e&B)+myq3J~*+;$LMyoo{v6G z{{(xafj;7Yb6CKp(I+$tXaJfuAe|@8#Zbdbp=o?SmXV8Am}bj7m8Inb`Sa#4C`4|S z(tQ!=e2vQK>&m=D|`Tr`dY?bX!kHSTDbmH2X2K+ivR#hEGs``Q*6$2>$+sD<~1ULZX*ewSIP7s^T<8ZV)9 zpEV_aiwwy#6zH(6s|<}Fr9I)wP-XoSw0Mjz=nhxbWAYNIdWx3xouH+q7mm@g$}w7A zT7|(FRm%mWnp$*f&0s-u)W*lo-F1pW&=z^=q^mzb2pKW>cdTqfRV;__JWm7`+RTwKdv(c5l^Dx(`*QevQNL zfceg2^g#@~&ZE-lhQ893Cur3fze8^bjo)jE8l_0$uzHQt?>I?KYc#+11YI;nYkIxT zM%~uv^11v@;Iq!}#K_^(M|EyE?d-NSx_xdbtH;A~HNbz(hx2Ofm7}_S)C~iFKI+1M z^;y63_^2I&YfsU|eWjP2pmk>~Dn1G(5xoxD{}CknGZN%4sN{cx^bOGREKcV)sg=&r z9`Gr}HstdgAel~|W*0rkZhD+&&x`2t2xj?xl(5FYJx0e#1k$%tpTJ$-8#4Tj!R+xF?UimcTp{0Nln~Mm-05coOe(+_tDjS6>{ck%Hn>QchgNAp^tJu-N6HNFAvh^ z!NwfD*bMigPko4%0%oekZtcH@I>S`S@O1glbXE_frFZo*MZJ zbO}F5t^5#m@+08OW3-!(gD+3gb?ET2kRRrgbcCO#_wi}^Fh4^d=jTvezD)N)evF?- z-TfNk`E`1czd_%B0I7s%Imr-s7sWU4q&v zdE`JHtyVm8Djt>5j9Ffn>n$o{l%c09XFB|zi52FBX;{=XnMJ<_i(Z+AMK7Mmq8BU{ zCCrNQh{d8UCX2K@W3Dt=`NA>91V~nkDSy6HZzrbP5VLtrW9qt?*KdD4}*Shj!q8t?<#H zm`6$6bE2GX5EXQ*sHEG)Lb_8dqWeXF9u|ugkn0R!EFd2-fs`X7)~$H$H)6dOFXTq0 zxB;)^g-S7h8I1G+Zr{W=5-wW9vifW~hc*iZg>hS_Y zB18@mCby^|kEo@&qK=k|6;vzgsY$G)O=1;o#<&xIvL0a^SX*JMvt2`*T%-J! z`1G3iIG|%R`fln_SP1NOg~|XMNZCx^P`R)ay^rh$41Dk&a}LXC`FE42Wg=`-2eAt! zwPNy#`%U^*(NQRK@yx`Ac)Q}|(vUjTI>Hl)x!1e2a<~y?%xEONu6rl;x4rrPc1KYs z?6doS9kvy>j!|E)T_TT(M`;1Xn$J1BTLN$JTw?tzMe9!#y5XzN>xRQ7mun_dc`M2R zi57B+R+=L&rwVZe!qQG*(Mk29i&l#*v|enbU1A&U6WeLO*g-er{vqhxF0P@w#kF)y z?4n1-ZWq}9yR#;D(@7FI6}-O_;qsCE-nduWUX)d2g&)u1MS651!jx(;Uz zi8FxoIVus)1JW00v3QZzh_6#K?w5&ggWTVtYs7acD!xYv@qIcVen3YA2qS)^;Jg|T ztO2Ay#Vd#gA}>MT@+@$uM%QJ3yz_-Y^)Hx}{}v1OTj*ctUlr`P(7&l3+E3Rhh;6h5 zD@us%3gU%iD>;Ww*(mt`j+%kgz}0wDo7h4B%=(`C7qe_6r}|E9g4hu*jam?f4FtpG zx2daFKP(5qumPI!#c$8L{FguZsj}SsR0$FIULw!o-U7I5kjW%|h9mQT=Ts(MMs5BT zRf%6yop^;-iC1Zz_zks+-{Q#p9ggVNz}MeXO#A^Lzh3ltHE98sG(VD8;1xrHBdC)W z(|;(Q7CxL8gYk1!6MpgkP)i30FH>5%q7?uD)F}V}P)h*<3IGZK00;m8W5%q7?uD)G3n& M8AJv!82|tP0RBZ4TmS$7 delta 5389 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 0 && op < 4); +wyptOp = WaypointOp.Add; +if isequal(op, 2) + wyptOp = WaypointOp.Del; +elseif isequal(op, 3) + wyptOp = WaypointOp.Clr; +end assert(mod(len, 3) == 0); %% Send command -socket.sendCTRL(ctrl, ac); +socket.sendWYPT(wyptOp, points); end \ No newline at end of file diff --git a/MATLAB/+XPlaneConnect/setConn.m b/MATLAB/+XPlaneConnect/setConn.m index 4038e68..905c440 100644 --- a/MATLAB/+XPlaneConnect/setConn.m +++ b/MATLAB/+XPlaneConnect/setConn.m @@ -19,11 +19,12 @@ import XPlaneConnect.* %% Get client global clients; if ~exist('socket', 'var') - assert(istrue(length(clients) < 2), '[sendCTRL] ERROR: Multiple clients open. You must specify which client to use.'); + assert(isequal(length(clients) < 2, 1), '[setCONN] ERROR: Multiple clients open. You must specify which client to use.'); if isempty(clients) - openUDP(); + socket = openUDP(); + else + socket = clients(1); end - socket = clients(1); end %% Validate input diff --git a/MATLAB/+XPlaneConnect/setDREF.m b/MATLAB/+XPlaneConnect/setDREF.m index 9b28bb1..13e6f00 100644 --- a/MATLAB/+XPlaneConnect/setDREF.m +++ b/MATLAB/+XPlaneConnect/setDREF.m @@ -23,11 +23,12 @@ import XPlaneConnect.* %% Get client global clients; if ~exist('socket', 'var') - assert(istrue(length(clients) < 2), '[setDREF] ERROR: Multiple clients open. You must specify which client to use.'); + assert(isequal(length(clients) < 2, 1), '[setDREF] ERROR: Multiple clients open. You must specify which client to use.'); if isempty(clients) - openUDP(); + socket = openUDP(); + else + socket = clients(1); end - socket = clients(1); end %% Validate input diff --git a/TestScripts/Java Tests/XPlaneConnectTest.java b/TestScripts/Java Tests/XPlaneConnectTest.java index 2964a06..8eb2b69 100644 --- a/TestScripts/Java Tests/XPlaneConnectTest.java +++ b/TestScripts/Java Tests/XPlaneConnectTest.java @@ -348,14 +348,17 @@ public class XPlaneConnectTest } } - @Test(expected = IllegalArgumentException.class) + @Test public void testSendDREF_MessageTooLong() throws IOException { + // NOTE: This test originally ensured that the client restricted messages to 255 bytes in length. + // This restriction is no longer necessary, however removing it uncovered a bug that caused + // the plugin to do a bad memcpy and crash. This test is left here to ensure that X-Plane + // does not crash when given erroneously large value arrays. String dref = "sim/cockpit/switches/gear_handle_status"; try(XPlaneConnect xpc = new XPlaneConnect()) { xpc.setDREF(dref, new float[200]); - fail(); } } diff --git a/TestScripts/MATLAB Tests/CTRLTest.m b/TestScripts/MATLAB Tests/CTRLTest.m index 6ba5386..7b8a9bc 100644 --- a/TestScripts/MATLAB Tests/CTRLTest.m +++ b/TestScripts/MATLAB Tests/CTRLTest.m @@ -1,6 +1,7 @@ function CTRLTest( ) %CTRLTest Summary of this function goes here % Detailed explanation goes here +%% Test player aircraft addpath('../../MATLAB') import XPlaneConnect.* @@ -14,14 +15,15 @@ THROT = rand(); CTRL = [0.0, 0.0, 1.0, THROT, 0.0, 1.0]; sendCTRL(CTRL); -result = requestDREF(DREFS); +result = getDREFs(DREFS); -assert(isequal(length(result),6),'CTRLTest: requestDREF unsucessful-wrong number of elements returned'); -assert(isequal(length(result{4}),8),'CTRLTest: requestDREF unsucessful- element 1 incorrect size (should be size 8)'); +assert(isequal(length(result),6),'CTRLTest: getDREFs unsucessful-wrong number of elements returned'); +assert(isequal(length(result{4}),8),'CTRLTest: getDREFs unsucessful- element 1 incorrect size (should be size 8)'); for i=1:length(CTRL)-1 assert(abs(result{i}(1)-CTRL(i))<1e-4,['CTRLTest: DATA set unsucessful-',num2str(i)]); end +%% Test NPC aircraft DREFS = {'sim/multiplayer/position/plane1_yolk_pitch',... 'sim/multiplayer/position/plane1_yolk_roll',... 'sim/multiplayer/position/plane1_yolk_yaw',... @@ -32,7 +34,7 @@ THROT = rand(); CTRL = [0.0, 0.0, 1.0, THROT, 0.0, 1.0]; sendCTRL(CTRL, 1); -result = requestDREF(DREFS); +result = getDREFs(DREFS); assert(isequal(length(result),6),'CTRLTest: requestDREF unsucessful-wrong number of elements returned'); assert(isequal(length(result{4}),8),'CTRLTest: requestDREF unsucessful- element 1 incorrect size (should be size 8)'); diff --git a/TestScripts/MATLAB Tests/DATATest.m b/TestScripts/MATLAB Tests/DATATest.m index 4c69a5d..d70e7be 100644 --- a/TestScripts/MATLAB Tests/DATATest.m +++ b/TestScripts/MATLAB Tests/DATATest.m @@ -10,11 +10,10 @@ value = rand(); data = struct('h',25,'d',[value,-998,-998,-998,-998,-998,-998,-998]); sendDATA(data); -result = requestDREF(DREFS); +result = getDREFs(DREFS); -assert(isequal(length(result),1),'DATATest: requestDREF unsucessful-wrong number of elements returned'); -assert(isequal(length(result{1}),8),'DATATest: requestDREF unsucessful- element 1 incorrect size (should be size 8)'); -assert(abs(result{1}(1)-value)<1e-4,'DATATest: DATA set unsucessful'); +assert(isequal(length(result),8),'DATATest: getDREFs unsucessful-wrong number of elements returned'); +assert(abs(result(1)-value)<1e-4,'DATATest: DATA set unsucessful'); end diff --git a/TestScripts/MATLAB Tests/POSITest.m b/TestScripts/MATLAB Tests/POSITest.m index 110d769..16b6c8d 100644 --- a/TestScripts/MATLAB Tests/POSITest.m +++ b/TestScripts/MATLAB Tests/POSITest.m @@ -14,14 +14,14 @@ DREFS = {'sim/flightmodel/position/latitude', ... POSI = [37.524, -122.06899, 2500, 0, 0, 0, 1]; % Gear sendPOSI(POSI); -result = requestDREF(DREFS); +result = getDREFs(DREFS); -assert(isequal(length(result),7),'POSITest: requestDREF unsucessful-wrong number of elements returned'); +assert(isequal(length(result),7),'POSITest: getDREFs unsucessful-wrong number of elements returned'); for i=1:length(POSI) if i==3 continue end - assert(abs(result{i}(1)-POSI(i))<1e-4,['POSITest: DATA set unsucessful-',num2str(i)]); + assert(abs(result(i)-POSI(i))<1e-4,['POSITest: DATA set unsucessful-',num2str(i)]); end end diff --git a/TestScripts/MATLAB Tests/requestDREFTest.m b/TestScripts/MATLAB Tests/getDREFsTest.m similarity index 86% rename from TestScripts/MATLAB Tests/requestDREFTest.m rename to TestScripts/MATLAB Tests/getDREFsTest.m index 36e5f70..43633c3 100644 --- a/TestScripts/MATLAB Tests/requestDREFTest.m +++ b/TestScripts/MATLAB Tests/getDREFsTest.m @@ -1,4 +1,4 @@ -function requestDREFTest( ) +function getDREFsTest( ) %SENDREADTEST Summary of this function goes here % Detailed explanation goes here addpath('../../MATLAB') @@ -7,7 +7,7 @@ import XPlaneConnect.* DREFS = {'sim/cockpit/switches/gear_handle_status',... 'sim/cockpit2/switches/panel_brightness_ratio'}; -result = requestDREF(DREFS); +result = getDREFs(DREFS); assert(isequal(length(result),2)); assert(isequal(length(result{1}),1)); diff --git a/TestScripts/MATLAB Tests/openCloseTest.m b/TestScripts/MATLAB Tests/openCloseTest.m index fc008ac..26af4ce 100644 --- a/TestScripts/MATLAB Tests/openCloseTest.m +++ b/TestScripts/MATLAB Tests/openCloseTest.m @@ -4,13 +4,10 @@ function openCloseTest() addpath('../../MATLAB') import XPlaneConnect.* -socket = openUDP( 49007 ); - -closeUDP( socket ); -assert(isequal(socket.isClosed(),1),'openCloseTest: socket is still open'); - -socket = openUDP( 49007 ); -closeUDP( socket ); +socket = openUDP(); +closeUDP(socket); +socket = openUDP(); +closeUDP(socket); end diff --git a/TestScripts/MATLAB Tests/pauseTest.m b/TestScripts/MATLAB Tests/pauseTest.m index 2e17fe6..7150f9c 100644 --- a/TestScripts/MATLAB Tests/pauseTest.m +++ b/TestScripts/MATLAB Tests/pauseTest.m @@ -9,17 +9,15 @@ DREFS = {'sim/operation/override/override_planepath'}; value = 1; % Pause pauseSim(value); -result = requestDREF(DREFS); +result = getDREFs(DREFS); -assert(isequal(length(result),1),'pauseTest: requestDREF unsucessful-wrong number of elements returned'); -assert(abs(result{1}(1)-value)<1e-4,'pauseTest: Pause Unsuccessful'); +assert(abs(result(1)-value)<1e-4,'pauseTest: Pause Unsuccessful'); value = 0; % Resume pauseSim(value); -result = requestDREF(DREFS); +result = getDREFs(DREFS); -assert(isequal(length(result),1),'pauseTest: requestDREF unsucessful-wrong number of elements returned'); -assert(abs(result{1}(1)-value)<1e-4,'pauseTest: Pause Unsuccessful'); +assert(abs(result(1)-value)<1e-4,'pauseTest: Pause Unsuccessful'); end diff --git a/TestScripts/MATLAB Tests/sendDREFTest.m b/TestScripts/MATLAB Tests/sendDREFTest.m deleted file mode 100644 index e688d08..0000000 --- a/TestScripts/MATLAB Tests/sendDREFTest.m +++ /dev/null @@ -1,19 +0,0 @@ -function sendDREFTest( ) -%SENDREADTEST Summary of this function goes here -% Detailed explanation goes here -addpath('../../MATLAB') -import XPlaneConnect.* - -DREFS = {'sim/cockpit/switches/gear_handle_status'}; -value = randi([0 10]); - -sendDREF(DREFS{1},value); -result = requestDREF(DREFS); - -assert(isequal(length(result),1),'sendDREFTest: requestDREF unsucessful-wrong number of elements returned'); -assert(isequal(length(result{1}),1),'sendDREFTest: requestDREF unsucessful- element 1 incorrect size (should be size 1)'); - -assert(isequal(result{1},value),'sendDREFTest: DREF set unsucessful'); - -end - diff --git a/TestScripts/MATLAB Tests/sendReadTest.m b/TestScripts/MATLAB Tests/sendReadTest.m deleted file mode 100644 index 62bca30..0000000 --- a/TestScripts/MATLAB Tests/sendReadTest.m +++ /dev/null @@ -1,18 +0,0 @@ -function sendReadTest( ) -%SENDREADTEST Summary of this function goes here -% Detailed explanation goes here -addpath('../../MATLAB') -import XPlaneConnect.* - -recvPortNum = 49074; -recvPort = openUDP(49074); - -sendUDP('test2'-0,'127.0.0.1',49074); -result = readUDP(recvPort); -closeUDP(recvPort); - -assert(~isequal(result,-998), 'no data received'); -assert(all(result(1:4)'=='test'-0)); - -end - diff --git a/TestScripts/MATLAB Tests/setConnTest.m b/TestScripts/MATLAB Tests/setConnTest.m index c06ae9b..2cc063d 100644 --- a/TestScripts/MATLAB Tests/setConnTest.m +++ b/TestScripts/MATLAB Tests/setConnTest.m @@ -8,7 +8,7 @@ import XPlaneConnect.* DREFS = {'sim/cockpit/switches/gear_handle_status'}; setConn(49055); -result = requestDREF(DREFS); +result = getDREFs(DREFS); assert(isequal(length(result),1),'setConnTest: requestDREF unsucessful-wrong number of elements returned'); diff --git a/TestScripts/MATLAB Tests/setDREFTest.m b/TestScripts/MATLAB Tests/setDREFTest.m new file mode 100644 index 0000000..70077b3 --- /dev/null +++ b/TestScripts/MATLAB Tests/setDREFTest.m @@ -0,0 +1,18 @@ +function setDREFTest( ) +%SENDREADTEST Summary of this function goes here +% Detailed explanation goes here +addpath('../../MATLAB') +import XPlaneConnect.* + +DREFS = {'sim/cockpit/switches/gear_handle_status'}; +value = randi([0 10]); + +setDREF(DREFS{1},value); +result = getDREFs(DREFS); + +assert(isequal(length(result),1),'setDREFTest: requestDREF unsucessful-wrong number of elements returned'); + +assert(isequal(result(1),value),'setDREFTest: DREF set unsucessful'); + +end + diff --git a/TestScripts/MATLAB Tests/struTest.m b/TestScripts/MATLAB Tests/struTest.m deleted file mode 100644 index 028e9bd..0000000 --- a/TestScripts/MATLAB Tests/struTest.m +++ /dev/null @@ -1,19 +0,0 @@ -function struTest( ) -%STRUTEST Summary of this function goes here -% Detailed explanation goes here -addpath('../../MATLAB') -import XPlaneConnect.* - -recvNum = 49076; -recvPort = openUDP(recvNum); - -testSTRU = struct('h',15,'d',[12, 34, 55, 99, 1, 0],'test','theTest'); - -sendSTRU(testSTRU,'127.0.0.1',recvNum); -resultSTRU = readDATA(recvPort); -closeUDP(recvPort); -resultSTRU = rmfield(resultSTRU,'raw'); -assert(isequal(testSTRU,resultSTRU),'struTest: Error-structs are not equal'); - -end - diff --git a/TestScripts/MATLAB Tests/tests.m b/TestScripts/MATLAB Tests/tests.m index bfa45d9..ec2329f 100644 --- a/TestScripts/MATLAB Tests/tests.m +++ b/TestScripts/MATLAB Tests/tests.m @@ -11,16 +11,14 @@ end disp(['XPC Tests-MATLAB (', os, ')']); theTests = {{@openCloseTest, 'Open/Close Test', 0},... - {@sendReadTest,'Send/Read Test', 0},... {@sendTEXTTest,'TEXT Test', 0},... - {@requestDREFTest,'Request DREF Test', 0},... - {@sendDREFTest,'Send DREF Test', 0},... + {@getDREFsTest,'Request DREF Test', 0},... + {@setDREFTest,'Send DREF Test', 0},... {@DATATest,'DATA Test', 0},... {@CTRLTest,'CTRL Test', 0},... {@POSITest,'POSI Test', 0},... {@sendWYPTTest,'WYPT Test', 0},... {@pauseTest,'Pause Test', 0},... - {@struTest,'Struct Test', 0},... {@setConnTest, 'setConn Test', 0}}; for i=1:length(theTests) diff --git a/xpcPlugin/MessageHandlers.cpp b/xpcPlugin/MessageHandlers.cpp index 0a43454..a27ef0b 100644 --- a/xpcPlugin/MessageHandlers.cpp +++ b/xpcPlugin/MessageHandlers.cpp @@ -382,8 +382,7 @@ namespace XPC std::string dref = std::string((char*)buffer + 6, len); std::uint8_t valueCount = buffer[6 + len]; - float values[40]; - memcpy(values, buffer + len + 7, valueCount * sizeof(float)); + float* values = (float*)(buffer + 7 + len); #if LOG_VERBOSITY > 1 Log::FormatLine("[DREF] Request to set DREF value received (Conn %i): %s", connection.id, dref.c_str()); diff --git a/xpcPlugin/XPlaneConnect/64/win.xpl b/xpcPlugin/XPlaneConnect/64/win.xpl index 343899540c2136f9517b7fe25a6febbc6b4e72d2..e171bde673579bce46c2e5131676f72eeeee700a 100644 GIT binary patch delta 312575 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 delta 323100 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

9Rqb^y;_ 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

@ZH@n;e1;8XXK8u;SW4Y8ur@s@16hZ8V2 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 Uc|Hc4qr6?2TmJoPQX3Nf2V*0Ki2wiq diff --git a/xpcPlugin/XPlaneConnect/win.xpl b/xpcPlugin/XPlaneConnect/win.xpl index b94dc1515b32cdef59691e45ff1603207d71876c..395ca4861e62e9584dd368a4420756c9823b64d0 100644 GIT binary patch delta 280590 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�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 E05f*7lK=n!