When compiling Trick with the --with-tpro option for use of a real-time clock, the TPROCTE_HOME variable was being assigned the contents of the withval variable instead of being assigned to the TPRO_HOME variable. The TPROCTE_HOME variable was never used and the TPRO_HOME variable will always be an empty string. Thus, the configuration file will always check for only /h/tpro.h instead of <user-provided-path-to-tpro>/h/tpro.h
* Fix endl issue in variable server JSON generation. Ref #766
* Change std::endl to line feed as appropraite. #766
* Change std::endl to line feed in MemoryManager as appropriate. #766
* Change std::endl to linefeed as appropriate. #766
* Change std::endl to line feed as appropriate in JSONVariableServer. #766
* Change std::endl to line feed as appropriate in still more files. #766
std::endl flushes the output stream. The SIE functions were using it
multiple times per variable. This can have significant performance
impacts on file I/O.
In testing, the S_sie.resource file for SIM_parachute was flushed over
14000 times, each resulting in a separate write system call. With this
patch, only ~40 write calls were performed, and writing the file took
~1/3 as long.
For more information, see
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rio-endl
If real-time is off, we exit the rt_monitor function early. The frame
scheduled time was calculated after the exit call. Moved the frame
scheduled time calcuation before the exit.
Looks like the way modules are loaded changed a little with SWIG 4.0. So I
changed the order we include everything in __init__.py. We include all
of the c++ python modules first now instead of having them read in from
the python code itself. Basically we include the files like this in this order
import _m<hash>
from m<hash> import *
* Method socket.sendall() expects bytes to be sent, rather than a string
* Python 3 stores text strings as unicode (not ASCII) by default
* Therefore, strings must be explicitly converted to bytes for Python 3 compatibility
* This works for both Python 2 and Python 3 (tested on Python 2.7, Python 3.6, and Python 3.7)
Update documentation
Change TRICK_LIB_BUILD_TYPE to TRICKIFY_BUILD_TYPE
Remove support for linking in arbitrary objects
Conform logging to existing pattern
specify a python module name where the class and functions will be
visible in python. With care the user can mimic the C++ namespaces their
models reside in, but it isn't perfect nor automatic. It's still pretty
neat.