PaulStoffregen / X-Plane_Plugin

TeensyControls Plugin for X-Plane Flight Simulator
32 stars 15 forks source link

Long Datarefs, resolved crash on exit on OSX, plus cross-platform build script #4

Closed jbliesener closed 9 years ago

jbliesener commented 9 years ago

Paul,

I worked myself through the OSX problem (https://github.com/PaulStoffregen/X-Plane_Plugin/issues/3) and found it related to the IOHIDManager running in a custom Run Loop Mode (see my lengthy discussion in the issue thread).

I fixed the issue by letting the monitor thread run in kCFRunLoopDefaultMode, which (contrary to what I first expected) doesn't seem to generate additional overhead.

Also, I added some cleanup code for OSX, fixed the symbol visibility issue and added a cross-compile shell script for all supported platforms.

Please check whether you would like to provide these changes to the community.

Jorg


jbliesener commented 9 years ago

Paul,

So, here's the extended patch for long datarefs (more than 58 characters), a cross-compile script and binary files. I've tested it with X-Plane 10.36 on Windows, Linux and OSX, each with 32 and 64 bits. Another user (raflyer) uses this code with 11 Teensies and reports it working with X-Plane 10.40 on Windows (see https://forum.pjrc.com/threads/27188-X-Plane-Data-Refs?p=79082&viewfull=1#post79082).

For long datarefs to work, the plugin requires the corresponding patches in the Teensy core libraries, which I'll send you in a separate pull request.

I'd appreciate if you could incorporate these patches to your official X-Plane_Plugin repository and/or update the corresponding page on the PJRC web site.