Trick Versions Save

Trick Simulation Environment. Trick provides a common set of simulation capabilities and utilities to build simulations automatically.

19.2.1

3 years ago
  • #1065 Support for LLVM 11.0.0 on macOS
  • #1063 Fixed an issue where a necessary build artifact was in trick_source instead of share. This caused issues with build pipelines that use Trick and also broke the 'make install'.
  • #1067 -isystem for Trick and Python headers
  • #1056 #1058 #1061 SAIntegrator improvements

19.2.0

3 years ago

Dependency, and OS support updates

  • Support added for LLVM 10.
  • Support added for python 3.8.
  • Support added for Xcode 11.
  • Continued updates and improvements to support for RHEL 8, CentOS 8, Ubuntu 18.04, Ubuntu 20.04, Fedora, macOS Mojave, and macOS Catalina.

Configuration updates

  • add --with-python option to trick configuration to specify what directory to find python.
  • better autotools configuration support for finding python on your system.
  • Experimental: Some fixes/improvements to CMake build.

Various improvements

  • SIE rework: S_sie.resource generation now occurs at build time instead of runtime. As a result, trick-CP no longer runs the sim. This improves runtime performance, and also allows more flexibility with models that may block during construction by requesting resources that may not be available during CP time.
  • Support recursive dynamic events processing for events that cause other events, or occur in very rapid succession.
  • Better template support: inner classes of class templates with scoped template arguments, swigging nested templates, and fully qualified template identifiers to support namespaces.
  • Improved rebuild times for java GUIs.
  • Various other stability fixes, security updates, and performance improvements.

Testing, documentation and example sims

  • Improved build matrix and cross-platform testing on Github Actions.
  • Improved install guide for clarity and updated instructions for platform dependencies.
  • Updated some educational materials in share/doc/trick/.
  • New example sim SIM_contact to show advanced use of dynamic events.
  • PID control implemented for SIM_wheelbot and SIM_lander.

19.1.0

4 years ago
  • New dependency: maven (available from your favorite package manager) When the maven repository added the requirement for https it caused a java dependency apocalypse (The Javadepocalypse) across all trick versions and tags. Going forward, Trick will use the maven tool to install its dependencies, preventing any future javadepocalypses.
  • New feature: offline mode. If you configure with --enable-offline, trick will not try to download java dependencies or web server dependencies. Instead, it will look for the fully built executable .jar files in ${TRICK_HOME}/trick-offline. For this to work, you will need to build the jars once (with internet access) and copy them to this directory. (If you have questions about offline mode please contact me [email protected] or create a github issue).
  • Improved stability for 32-bit mode.
  • New example sim: SIM_Lander. Its a lunar lander with graphics and automatic controls!
  • Fixed a bug where you could not convert the units of multiple variables in Trick View
  • Added a new convert units text field in Trick View.
  • Web Server is now disabled by default. To enable, configure with --enable-mongoose.
  • New interface functions to turn on/off SIGCHLD handler (may help with input file dependencies that depend on default handler).
  • Other fixes and improvements.

19.0.1

4 years ago

This release fixes a critical bug in 19.0.0.

Java dependency download needs https instead of http (#926 #928 #929)

17.5.1

4 years ago

This release fixes several critical bugs in 17.5.0.

  • Misplaced parentheses causes excluded header bug #856
  • dangling pointer causes TV issues #878
  • Java dependency download needs https instead of http (#926 #928 #929)

19.0.0

4 years ago

New in Trick 19:

  • Support for RHEL/Centos 8, Ubuntu 19.04, Fedora 30, macOS Catalina (LLVM 9), Windows Subsystem for Linux, and others.
  • Embedded web server for Trick
    • Provides access to information about your sim, or from your sim.
    • Directly communicate with sim via HTTP or WebSocket
    • You can now create a web application to display realtime sim data or control your sim from your browser.
    • Serves Documents from within a root_directory.
    • WebSocket / JSON based variable server. Easy to use from from html / javascript.
    • HTTP / JSON interface to Memory Manager allocations.
    • Easily Extensible WebSocket and HTTP API interfaces.
    • See Web Server Documentation at https://nasa.github.io/trick/documentation/web/
  • CMake. CMake can now be used to configure and build Trick, as an alternative to Autotools. This is in its prototype stage. One advantage to using CMake is that Trick can now be built anywhere, instead of being mixed in with the source code. configure/Autotools is still our stable method of building trick until we have refined and tested this feature.
  • Documentation now included with Trick in the docs directory. These docs have been moved from their old location in the GitHub Wiki and are now hosted at nasa.github.io/trick
  • Various improvements:
    • Use isystem flag to include third party code and suppress warnings
    • Better support for Python 3
    • Trick Dashboard: Prototype React-based Sim Control Panel and Trick View for your browser.
    • Better support for C++11 and LLVM 9
    • Many other small improvements and bug fixes

17.5.0

4 years ago

Added option to redirect monte carlo output files Restored capability to specify python module for model headers Added experimental web based variable server Trickification improvements Supports LLVM 8, SWIG 4.0, Java 11

17.4.0

5 years ago

Fixed memory leaks, unused variables, and other errors found with static analysis tools Removed purposeful divide by zero in deuler routines Replaced java iText with PDFBox because of licensing issues. Improved trkConvert utility Trickifiction improvements Support LLVM 6 and Xcode 9

17.3.0

6 years ago
  • Support for Java versions 9 and 10.

  • Data recording files can now be limited in size, so that forgotten sims won’t fill up all available disk space and make your co-workers angry at you. The default limit is 1 GiB. Changing Max File Size In Input File Other User Accessible Routines to Change Max File Size trick-dre can also set max file size in the dr file.

  • FrameLog can now be configured to use a separate clock.

  • trkConvert is a new tool to convert trk to csv. Doesn’t suffer from the too many files open problem that trk2csv does.

  • Added math library function to calculate coordinate transform using Rodrigues formula.

  • Added a new mass-spring-damper example simulation.

  • Updated Trick Tutorial Review slides.

  • Various MonteCarlo improvements and fixes.

  • Many other bug fixes and performance improvements.

17.2.0

6 years ago
  • Several MonteCarlo improvements including fixing limitation to number of file based parameters, allowing strings as inputs in file data, and listing random number generator settings in monte output files.
  • Support byte-swapping on trick-tv display for integer types.
  • Compiles with clang/llvm version 5
  • Added new trick-units script to print measurement units Trick accepts. Takes place of old "ICG -u" command.
  • Better handling of Infinity and NaN in trick-tv
  • Sim objects handle c++ 11 class member list initialization lists.