Skip to content

Changelog 1.0

Jason Watkins edited this page Apr 23, 2015 · 2 revisions

This page attempts to exhaustively enumerate all changes from Version 0.1 and before to Version 1.0 of the X-Plane Connect system. Changes are divided into sections based on what parts of the system they affect. Breaking changes (i.e. changes that will require end users to modify their code) are noted in bold.

General Changes

  • Most "readme" and "user guide" files have been removed. Instead, refer to the XPC Client Reference and XPC Developer Information sections of this wiki.
  • Todo items and other administrative notes have been removed from source files. Many of these items were out of date; those that were not have been moved to the issue tracker.

Changes to the X-Plane Connect Plugin

  • Linux binaries are now included in the plugin folder.
  • The internal structure of the plugin as been substantially refactored. Functionality has been broken into discrete segments and moved into separate classes.
  • These changes are primarily for ease of maintainability, and should not have any impact on users except as noted below.
  • Fixed bug #30
  • Fixed bug #31
  • Fixed bug #39
  • The plugin and client no longer share any code.
  • The plugin now automatically responds to clients on the port that they send from.

Changes to the C Client

  • Only one socket is now needed by the client. As a result, several functions that previously took two xpcSockets now only need one.
  • The unused open field has been removed from xpcSocket.
  • The xpcSocket structure has been typedefed to XPCSocket to remove the need to use the struct keyword everywhere. The xpcSocket name has been retained in the struct namespace, so the structure can be refered to by either struct xpcSocket or XPCSocket.
  • The readUDP and sendUDP function have been removed from the header since they are intended only to be used internally by the client.
  • The signature of several functions in the C client have been modified to better match their counterparts in MATLAB and Java.
  • Added aopenUDP function that automatically opens the socket using an OS selected port.
  • readUDP now takes a len argument that specifies the size of the read buffer. Previously it was assumed that the read buffer was 5000 bytes long. This change should not affect most users since readUDP is primarily used internally by other client functions.
  • readUDP no longer takes a recvaddr argument since it was only used by the plugin.
  • readDATA now takes a rows argument indicating the maximum number of rows that will fit in the dataRef array.
  • The type of rows in the sendDATA function has been changed to int to improve consistency with other clients.
  • requestDREF has been renamed to getDREFs.
  • A convenience function called getDREF has been added that gets a single dataref.
  • getDREFs now takes a single socket and its other parameters have been reordered to match other clients.
  • sendDREF has been renamed to setDREF.
  • The setDREF function no longer takes a parameter for the length of the dataref. It now uses strnlen instead.
  • The order of parameters in sendPOSI have been changed to be more consistent with other functions in the client.
  • The psendPOSI function has been added to send position for the player aircraft.
  • sendpCTRL renamed to psendCTRL.
  • The order of parameters in psendCTRL and sendCTRL has been changed to match other clients.
  • Values in the WYPT_OP enum have been capitalized.

Changes to the MATLAB Client

  • The MATLAB client now uses the Java client internally. This change should be transparent to the end user.
  • The XPlaneConnect.jar file has been added to the +XPlaneConnect folder in the MATLAB client. Since the MATLAB client is distributed as a folder already, hopefully this will not complicate deployment for end users.
  • Removed readUDP and sendUDP functions, which are now handled by the Java client internally.
  • Removed unneeded clearUDPBuffer and sendSTRU functions.
  • Removed return values from several functions where they did not convey useful information.
  • Renamed requestDREF and sendDREF to getDREFs and setDREF respectively.
  • IP and port arguments have been replaced with a single socket argument that can be passed the resulting socket from a call to openUDP.

Changes to the Java Client

  • The order of arguments to the XPlaneConnect constructor have been changed to match the openUDP function in other clients.
  • Added selectDATA and readDATA commands.