Commit Graph

21 Commits

Author SHA1 Message Date
Jan Chaloupecky
50335c4a5c Added UDP multicast for plugin discovery (#153)
* Added Timer

* Added UDPSocket::GetAddr

* Added MessageHandlers::SendBeacon()

* PoC of starting a timer on PluginEnable

* C++11

* Added Timer to xcode project

* C++11 in cmake

* added Timer to cmake

* use function pointer in Timer

* moved Timer to namespace

+ wait for thread to join when stopping the timer

* Windows: changed uint to unisgned short

* Windows: Added Timer.h/cpp to project

* GetAddr static

* Send xplane and plugin version with BECN

* SendBeacon with params

* fixed file copyrights

* Include functional

to fix Linux compile error

* review fixes

* Send plugin receive port in BECN

* review fixes
2019-03-14 07:49:43 -07:00
Jason Watkins
312829420d Updated Windows binaries 2016-07-07 09:55:20 -07:00
Jason Watkins
7f1af73c3c Moved XPData array to DataManager and removed DataMaps.
After removing C++11 features, only the declaration of XPData remained in DataMaps, making it somewhat pointless to separate XPData from DataManager.
2015-05-05 13:04:03 -07:00
Jason Watkins
e21006baee Added Release build settings for Windows to plugin.
- Release builds in Visual Studio aggressively optimize the plugin.
 - Results in nearly a 7x reduction in binary size.
2015-04-30 13:47:13 -07:00
Jason Watkins
5ee49c7d81 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.
2015-04-17 10:56:03 -07:00
Jason Watkins
8591db96c0 Fixed various type inconsistencies to remove warning when building on Windows 2015-04-14 15:49:25 -07:00
Jason Watkins
52bf998632 Refactored message handling code into the MessageHandlers class.
- Re-enabled CONF messages sent in response to CONN commands.
 - There was a bug in the construction of the CONF message.
 - Resolves nasa/XPlaneConnect#31
2015-04-14 10:21:34 -07:00
Jason Watkins
6c51fa476e Refactored dataref manipulation operations to the DataManager class. 2015-04-13 15:53:38 -07:00
Jason Watkins
547eb4de18 Refactored various message-related operations into the Message class.
- Replaces the XPCMessage struct.
 - Messages are now read from a UDPSocket by the Message class.
 - Printing messages to the log is now handled by the Message class.
 - In the future, may extend this class with command-specific subclasses that encapsulate additional message parsing functionality.
2015-04-13 09:42:29 -07:00
Jason Watkins
2736cd86de Refactored socket code into UDPSocket class. 2015-04-13 09:23:25 -07:00
Jason Watkins
aa74bc57f5 Refactored drawing code into Drawing class. 2015-04-12 11:09:27 -07:00
Jason Watkins
a3a82f4a71 Refactored logging functionality into Log class. 2015-04-12 11:09:19 -07:00
Jason Watkins
97eb023df6 Added waypoint support to the plugin.
- The plugin now supports drawing a series of waypoints in the world.
 - The plugin supports add, remove, and clear operations
  - Add and remove take a list of waypoints
  - Clear removes all waypoints
2015-04-09 09:06:18 -07:00
Jason Watkins
453ea65619 Added plugin support for drawing messages to screen.
- Either a single string will be drawn to screen, or nothing will be drawn.
 - Intelligently registers and unregisters drawing callback to minimize overhead when no message is being displayed.
 - Currently does not support newline characters (\r or \n). Newlines will cause text to be drawn overlapped.
2015-04-07 15:33:38 -07:00
Jason Watkins
011558abfa Restructured plugin files to conform to "fat plugin" structure.
- Deleted platform specific folders from xpcPlugin folder.
 - Added new XPlaneConnect folder under xpcPlugin folder.
 - Moved and renamed windows binaries into architecture specific folders
 - Moved and renamed mac binary to XPlaneConnect root (single mac binary supports 32 & 64 bit)
 - Updated installation instructions in Readme
 - Cleaned up plugin Visual Studio project architecture
2015-03-25 15:46:25 -07:00
Jason Watkins
b91776e687 Removed files that were previously in version control that should be ignored. 2015-03-25 11:32:40 -07:00
Jason Watkins
78bcd96f0c Changed runtime linking settings on Windows
- The MSVC runtime is now statically linked for the 32bit and 64bit Windows plugins. This is done to avoid potentially requiring users to install an additional package from Microsoft to use the plugin.
 - The "Release" build configuration has also been removed, since it was not configured correctly. It will be re-added at a later date.
2015-03-25 10:09:00 -07:00
Jason Watkins
fbeb297717 Fixed CTests bugs, minor plugin enhancements, and removed old files
- Fixed incorrect message buffer size in sendCTRL function.
 - Fixed a bug in sendCTRLTest where not all DREF sizes were being set.
 - Increased message buffer size in sendReadTest to account for assumptions made by sendUDP.
 - Fixed a bug in updateLog where the log message would sometimes start with several null characters, causing the log message to be effectively ignored by fprintf.

 - The xpcPlugin Visual Studio solution now supports 32 bit and 64 bit builds.
 - Logging performed by the plugin now works correctly on Windows.
 - Long log messages are now truncated to 500 characters. Previously, messages over 500 characters would be omitted, and an error message logged in their place.

 - Several files which were incorrectly added to source control have been deleted.
2015-03-24 14:29:39 -07:00
Christopher Teubert
ef6c80d7a4 Added 64-bit windows support
Added separate .xpl plugin files for win 32/64.
Updated Readme to explain.
2015-02-10 11:57:14 -08:00
jwatkins42
2dd1cfeffd Converted Visual Studio include paths to relative paths.
- Include paths were specified with absolute paths, which break as soon as the project is moved to a different location. (e.g., when cloning to a new computer from GitHub).
 - Include paths are now specified relative to the project file, so everything should work as long as the entire XPC directory is present.
2014-11-26 12:40:27 -08:00
Chris Teubert
8013ce1003 Initial Version 2014-10-22 15:52:38 -07:00