Commit Graph

199 Commits

Author SHA1 Message Date
Derek Bankieris
0a5a202053 Fix template regex in convert_swig
Fixes #999
2020-05-15 15:12:17 -05:00
Penn, John M 047828115
9452f928d0 Breakout Regula Falsi Bounds setter functions. Ref #995 2020-05-04 16:10:35 -05:00
Penn, John M 047828115
479f3458cd Add Recursive Dynamic Event Processing. Ref #995 2020-04-29 17:26:02 -05:00
jmpenn
5c49bf8fef
Add ability to reset the integrator state (#952)
* Add ability to reset the integrator state

* Make reset logic changes conditional on USE_ER7_UTILS_INTEGRATORS
2020-02-18 15:18:57 -06:00
Scott Fennell
b724f502b3
fix 32 bit test (#953)
* fix tests for 32 bit mode

* fix issues with mongoose build

* Update docker.yml
2020-02-14 10:23:19 -06:00
Scott Fennell
4f5ce7e4a1
Maven, offline mode, and --enable-mongoose (#939)
closes #938 
closes #941 
closes #943
2020-02-05 14:31:58 -06:00
Scott Fennell
3415996952
iss #909 add functions to turn on/off SIGCHLD handler (#924)
closes #909
2020-01-16 10:49:36 -06:00
Alex Lin
ce0cdc9636
Cmake merge (#901)
* Merging changes from cmake branch to master

* Fixing includes for renamed header files

* still need build rule

* Adding warning for swig code for gcc8+

* Adding CMakeLists.txt for data products

* Cmake merge #901

Making adjustments to get cmake working on the Mac (Mojave)

* Cmake merge #901

Changing string append to list append
2019-11-19 09:01:16 -06:00
Scott Fennell
5ab51d42e6
Merge pull request #895 from nasa/S_sie.json
create S_sie.json
2019-10-30 16:07:32 -05:00
jmpenn
be34b89512
In WebServer class use message_publish() for messages and add debug flag. (#893) 2019-10-29 17:21:19 -05:00
jmpenn
9eed167634
Add enable flag to webserver. Default is false. Should be set to true in input file to enable. (#892) 2019-10-29 11:52:02 -05:00
jmpenn
95c6659733
Incorporate Webserver into Trick, so one only has to include HttpServ… (#886)
* Incorporate Webserver into Trick, so one only has to include HttpServer.sm

* Tweaks in default index.html file

* Rename HTTPServer.sm to WebServer.sm

* Rename http_server to WebServer

* Add --retry to curl invocations in HttpServer makefile.

* Fix #include in VariableServerVariable.hh

* Include cleanup and curl tweaks in the hopes of making Jenkins happy.

* Doh! problem in makefile masked by preinstalled mongoose in usr/local/lib

* DIE Make Bug DIE

* Fix include in WebServer.sm

* WebServer.sm constructor name

* Don't SWIG mongoose.h

* Compile with -std=c++11

* Attempt to fix race condition in makefile

* makefie tweek

* Fix trick library name problem for Centos and Redhat
2019-10-23 11:58:19 -05:00
Scott Fennell
b1697b7e73 #864 remove ptr_fun missed one file 2019-09-24 09:30:37 -05:00
Scott Fennell
f10e4e8d93 remove deprecated std::ptr_fun and std::not1 closes #864 2019-09-23 14:25:27 -05:00
Scott Fennell
994c8c0684 create S_sie.json 2019-09-09 10:56:02 -05:00
Derek Bankieris
6d7b523169 Add signed types to swig_int_typemap.i
Fixes #845
2019-08-13 11:39:17 -05:00
Scott Fennell
82bae3b0d0 #836 remove all S_default.dat stuff 2019-07-09 15:58:26 -05:00
Derek Bankieris
40cf5c0b29 Note the process exit status of Monte Carlo runs
Closes #481
2019-06-21 14:02:03 -05:00
Scott Fennell
b23b19195b
Merge pull request #818 from nasa/786-clock-stuff
Add C call to clock_tics_per_sec and also log init job elapsed time
2019-06-18 13:38:18 -05:00
Scott Fennell
b676ecac65 SWIG 2.0 compatability 2019-06-18 11:00:09 -05:00
Alex Lin
187fa37540
Remove suppression of units conversion warnings in 19 #789 (#814)
Removed checks on dead units conversion messenger.  Units conversion
messages cannot be suppressed.  Added deprecated messages to the functions
that modified the message printouts.
2019-06-18 10:59:51 -05:00
Scott Fennell
97941ac073 move init_log_stream to Executive.hh, move Executive::process_sim_args from "default data" to Executive::init 2019-06-18 10:34:56 -05:00
Scott Fennell
fadda55abf Log elapsed time in default_data, input_processor, and init jobs in file
init_log.csv
2019-06-17 14:40:01 -05:00
Alex Lin
0e7d1ae345 TPROCTE_HOME Being Used In Place Of TPRO_HOME #778
Tell ICG not to process board handle variable.
2019-06-14 07:25:25 -05:00
Alex Lin
04b2185c2e TPROCTE_HOME Being Used In Place Of TPRO_HOME #778
I put the include for tsync.h in the wrong place.
2019-06-12 07:17:39 -05:00
Scott Fennell
b1d791dc94 #805 add C call to clock_tics_per_sec 2019-06-07 08:29:47 -05:00
Scott Fennell
9be53ebb9b #776 default restore_stls to false 2019-06-03 09:44:35 -05:00
Scott Fennell
7f7adca0ac #776 .dat files don't call restore_stls in checkpoint restore 2019-06-01 10:48:31 -05:00
dbankieris
b694d5412b
Merge pull request #765 from nasa/763
Add ability to specify MC slave output directory
2019-05-29 14:29:04 -05:00
Alex Lin
fedf5bec72 Reduce number of real-time plots per page to 6 #775
Changed the hard coded 8 plots per page to a user settable number.
Defaulted the number to 6.
2019-05-14 09:08:11 -05:00
Derek Bankieris
4368d412b2 Add C functions for setting MC slave output dir
Refs #763
2019-05-06 12:03:26 -05:00
Derek Bankieris
7d7b461b38 Allow specification of MC slave output directory
Refs #763
2019-05-06 11:32:12 -05:00
Penn, John M 047828115
05e9535518 Add MemoryManager methods to generate JSON for allocation info. #755 2019-04-17 16:35:29 -05:00
Scott Fennell
08d0ea5d40 #738 add Derek's warning 2019-02-27 16:00:03 -06:00
jmpenn
b9278c4a72
Add capability to list current variable server connections in JSON re… (#732)
* Add capability to list current variable server connections in JSON ref #678

* Add client tag to the connection info.

* Name consistency tweak in generation of JSON variable-server connection list. ref #732

* Add client IP address and port. ref #732

* Output should be going to the stringstream, not std::cout. Ref #732
2019-02-18 17:11:41 -06:00
Derek Bankieris
9a04d72fd0 Add Unit.hh to files_to_ICG.hh & sim_services.i
units_conv.h was also missing from sim_services.i

Closes #718
2018-12-07 08:08:15 -06:00
Derek Bankieris
247fcc370d Add accessor for MonteVarRandom::randist
Closes #715
2018-12-04 11:57:18 -06:00
Derek Bankieris
0394867dfd Add MonteCarlo::variables accessor
Closes #713
2018-12-04 10:25:03 -06:00
Penn, John M 047828115
5333773fbd Return output length even if output array is NULL. Ref #708 2018-11-27 14:24:48 -06:00
dbankieris
348bbb3798
Add ExecutiveException.hh to sim_services.i (#691)
* Add ExecutiveException.hh to sim_services.i and files_to_ICG.hh
* Update version number

Fixes #690
2018-10-30 13:49:55 -05:00
John M. Penn
a29045005c Create a suite of unicode utilities. 2018-10-25 15:14:52 -05:00
Scott Fennell
818e60f7a2 remove shadow variable 2018-10-23 14:03:40 -05:00
Scott Fennell
c133eecc27 handle bad typeid 2018-10-04 13:58:28 -05:00
jmpenn
fccf32093b
Explicitly specify void arg for C functions that take no arguments. (#670)
* Clock empty args to void

* command_line func empty args to void

* DataRecord func empty args to void

* debug_pause func empty args to void

* echojobs func empty args to void

* ExternalApplication func empty args to void

* FrameLog func empty args to void

* MasterSlave func empty args to void

* MonteCarlo func empty args to void

* outdllist func proto empty args to void

* sie func empty args to void

* SimTime func empty args to void

* UnitTest func empty args to void

* var_server func empty args to void

* wcs func empty args to void
2018-09-19 11:25:04 -05:00
jmpenn
84f67ef79f
Update all enums in MonteCarlo with prefixes, so as to not conflict with other enums. (#650) 2018-07-25 13:05:10 -05:00
jmpenn
882b568b86
Fix enums in MonteCarlo ExitStatus to less susceptible to conflict wi… (#628)
* Fix enums in MonteCarlo ExitStatus to less susceptible to conflict with other code. ref #609

* Add MC_ prefix to ExitStatus enums. Ref #609
2018-06-05 15:10:08 -05:00
jmpenn
f7567aa9be
Add lqueue.h lstack.h, and dllist.h to the list of Trick files that are ICG'ed. #614. (#621) 2018-05-17 11:23:44 -05:00
Alex Lin
f6d000ac6e
Merge pull request #599 from iamthad/hammen-docs-fix-17
Port Hammen doxygen documentation fix to Trick 17
2018-04-12 08:51:42 -05:00
Alex Lin
2db059679b
Merge pull request #590 from abrogley/unit-test-return-code
Unit test exit code
2018-04-12 08:47:44 -05:00
Alex Lin
8938c3b7b2 Clang no longer supports -Wno-unused-but-set-variable #600
Removed the compile time flag.
2018-04-12 08:41:25 -05:00
jmpenn
9d7ba05c76
Implement Event condition and action lists as array of ptrs to objects rather than contiguous arrays. ref #587 (#597) 2018-04-10 17:17:21 -05:00
Scott Fennell
af6727408c Limit log file size (#594)
* #585 create new method to set max file size for DataRecordGroups.  Needs testing and DRD interface function

* #585 dre implementation and other improvements, needs more work

* #585 update dre, add intf for drd max size functions. Still requires better comments, wiki updates, some refactoring, and testing

* #585 refactor trick-dre

* format trick-dre

* improve readability of dre output for set_max_file_size
2018-04-10 16:02:44 -05:00
Aaron Brogley
fb6babd07f Adding comment above write_output() to be complete. 2018-03-28 10:09:46 -05:00
Aaron Brogley
0d7a082b2f Adding Trick Unit Test return code functionality. 2018-03-28 10:09:22 -05:00
David Hammen
7779dc568b Compile clean with clang++ -Wdocumentation.
I made a number of changes to Trick to make it compile clean with
clang++ -Wdocumentation, which checks doxygen comments. The changes
were either to comments or to parameter names in function declarations.
None of the changes have any impact on the compiled code.
2018-03-28 09:44:23 -05:00
John M. Penn
c7d95da9a8 Implement function to generate a transformation matrix to rotate a vector to new a new orientation. Ref #582 2018-03-19 18:10:04 -05:00
Derek Bankieris
6d6d3189e3 Add units_conv.h to files_to_ICG.hh
Fixes #575
2018-03-05 15:03:27 -06:00
Alex Lin
d97f482219 Allow the FrameLog class to use a different clock #571
Added a clock reference that to the FrameLog class that defaults
to the GetTimeOfDay clock.  This clock has fast access and is
non intrusive to real-time operations using a different clock.

Added a function to set the clock to something else if desired.
2018-02-28 17:33:09 -06:00
John M. Penn
4f0093ddd6 Created a function function to calculate transform using Rodrigues formula. Ref #567 2018-02-27 18:24:40 -06:00
Alex Lin
15bfd75b32 Don't resize active event array size with every operation #562
Started the active event allocation at 100 events.  If more are needed, we
add 100 allocations each time.  The array is never reduced in size if
events are deleted, events are moved to the front of the array and the
remaining elements are set to NULL.
2018-02-14 17:28:21 -06:00
Pappy Van Winkle
d7e8d48a8a Creating additional C-interface routines for UnitTest. #511 2018-02-03 19:56:08 -06:00
Alex Lin
27d18f07f3 Some of Trick's unit conversions have too many significant digits #557
Our constants.h file has the same problem, some units have too many
significant digits.  Truncated some of the values.
2018-02-02 15:10:56 -06:00
Alex Lin
8f76605f3b Create Message client that writes to screen on a separate thread #553
Created a new message class that will copy incoming messages to a
buffer area.  The buffer area is pre allocated during simulation
initialization.  On a separate thread the buffer area is written
to std::cout.
2018-01-25 15:59:19 -06:00
Alex Lin
403621c139 Pointers to STLs cannot be checkpointed. #552
sometimes the TMM allocate routines fail.  I added error checking
to stop a core dump.  More investigation is needed to determine
why the allocation is failing.
2018-01-25 13:25:29 -06:00
Alex Lin
5285f1a72e Symbolic links rise again #530
Found more places where symbolic links cause havoc.  Also added back a #define
that was removed in parameter_types.h and added back the messaging routines to
the list swig processes.
2017-12-12 10:17:24 -06:00
Christopher LaChance
0a90c11541 Implemented a fix for multiple concurrent file handles. 2017-10-27 14:35:54 -05:00
Christopher LaChance
f81d7b0c16 Swapped line read in to std::getline(). 2017-10-16 12:56:45 -05:00
Christopher LaChance
1efedefdf7 Added additional variable information to the Monte_Runs data file. 2017-10-10 11:12:33 -05:00
Alex Lin
de012dde71 Feature request: Support checkpointing and logging of std::array #480
Added std::array as an STL type Trick recognizes.  We can now create io code
that can save and restore std::arrays like std::vectors and other similar
types. Like other STL types, an std::array cannot be logged or viewed in
trick-tv.
2017-09-27 16:01:52 -05:00
Thadeus Fleming
bf2759c5c0 Remove deprecated dynamic exception specifiers.
Resolves #461
2017-07-28 20:49:42 -05:00
Christopher LaChance
34cc3ae8e5 Removed default_port_flag and socket_init. 2017-06-16 15:20:04 -05:00
John M. Penn
9e8dd6c41c Change file name from char* to const char* in euler tranformation matrix functions. Ref #423 2017-05-15 14:02:01 -05:00
John M. Penn
4d1c3eae4f A Trick headers to include files without headers. Ref #403 2017-04-20 13:26:47 -05:00
Alex Lin
dce161ad94 Suppress units conversion messages in input file. #414
Added a routine to shoot_the_units_conversion_messenger.
2017-04-20 11:34:50 -05:00
Antoine Gaulin
c099620c09 Align both M_PI and M_PI_2 values.
Its easier to read this way.
2017-03-30 10:02:58 -04:00
John M. Penn
a7039aea61 Create va_list versions of Integrator state load and unload member functions. Ref #401 2017-03-28 17:55:27 -05:00
Derek Bankieris
80ab0767e2 Combine command and data sockets in Monte Carlo
Refs #396
2017-03-23 12:22:40 -05:00
Derek Bankieris
47847a8aef Add ability to pass options to slave sims
Refs #395
2017-03-20 10:46:10 -05:00
John M. Penn
aab6ce3c9e Ooops! Typo in macro. Ref #385 2017-03-03 18:33:53 -06:00
John M. Penn
86add82e35 Fix MxSCALAR macro to allow scalar parameter to be an expression. Ref #385 2017-02-24 17:26:08 -06:00
John M. Penn
d19374020d Update matrix_macros.h with MxMxV macro. ref #385 2017-02-23 17:48:59 -06:00
Alex Lin
a909c6400a duplicate include guards #379
Changed the include guard in PythonPrint.hh
2017-01-24 10:00:40 -06:00
Derek Bankieris
d72a09fef7 Add ability to clear all variables from a DR group
Don't let "sys.exec.out.time" be removed

Refs #350
2016-11-29 13:38:32 -06:00
Derek Bankieris
d859ac8453 Add funciton to remove all data record groups
Refs #350
2016-11-29 11:47:10 -06:00
Derek Bankieris
ac3360e87f Add ability to remove variable from data recording
For the record, I'd like to point out that many of the DataRecordGroup
functions shouldn't be called after init, but we don't prevent anyone
from doing so. Bad Trick!

Refs #350
2016-11-18 08:53:24 -06:00
Michael Vetter
18f0d7e871 Remove trailing whitespaces
Makes it easier to edit the files. So if we press 'end of line' we are
really at the end of line.
2016-11-08 10:25:07 +01:00
Alex Lin
f1cbacd646 ICG exclude of class member variables now defines incorrect memory offsets in io_src #311
This changes back the default behavior to not use offsetof in io_src code.
Added a flag to ICG, -c or --compat15, to globally generate offsetof statements.
Added an ENV variable that can be used to generate offsetof statements by file or directory.
Added in a warning if classes parsed at ICG time are different in size than at runtime.
2016-10-21 13:13:43 -05:00
Derek Bankieris
4f49460a6f Clean up io_* code #330 2016-10-20 14:55:00 -05:00
Dan D. Jordan
9e0f0ba85a Added MonteVar setters where appropriate
Added set_unit mechanism to MonteVar baseclass. Added MonteVar's derived
classes setters where appropriate to facilitate changing inputs after
the instance of MonteVar has already been constructed. Fleshed out
MonteVarFile destructor to remove memory leaks.
2016-10-03 14:57:11 -05:00
Alex Lin
066554b2f7 Merge pull request #297 from ddj116/get_variable
MonteCarlo add_variable duplicate protection and get_variable functionality
2016-08-30 11:00:16 -05:00
Alex Lin
fa4664c4ea Move the loop that waits for scheduled threads to finish out of advance_sim_time #292
2 problems found.  Syncing scheduled threads was not happening at all because the job
was not being rescheduled.  Did not want to deal with changing job call times so I
called the new scheuduled_thread_sync routine from advance_sim_time.  That's where
it started, it'll be fine.

Also found that I was resetting job complete flags too aggressively.  The check to
test if the thread is ready to run was missing.  Added that check back in.
2016-08-30 10:56:18 -05:00
Dan D. Jordan
fdd442ba68 Added duplicate name protection on add_variable and get_variable
mechanism for getting MonteVar * derived types so that those dispersion
settings can be changed once they go out of scope.
2016-08-30 09:48:10 -05:00
Alex Lin
7c57c1d02d Move the loop that waits for scheduled threads to finish out of advance_sim_time #292
Created a new executive job that waits for the scheduled threads to finish.  We
run this right before advancing time.
2016-08-26 09:07:46 -05:00
Alex Lin
0072e7d6f0 Unintended performance issue with integ_loop at end of scheduled job classes #243
Created a new executive job that waits for threads to finish and readies them
for their next frame of execution.  Created a new job class system_thread_sync
after the top of frame jobs and before the input processor is run to sync the
threads.  Along the way cleaned up instrumentation jobs on the threads to fix #290.
2016-08-24 10:55:27 -05:00
Alex Lin
b2293a14ff CheckPointAgent.cpp has a noted memory leak (confirmed) and proposed optimization #232
Changed the vector to use instances of the VarNameElement instances.  Memory leak is gone.
2016-07-28 13:13:19 -05:00
Alex Lin
bc6cb589e3 Monte carlo AttributeError's caused by bad configuration still returns zero in master sim #269
The return code from parsing the monte carlo input was always set to zero and not checked.
Retured the return code from parsing the input. Added an exit if the input was not parsed
correctly.
2016-07-26 13:40:38 -05:00
Alex Lin
f90a76be6b We are redefining HOST_NAME_MAX in MonteCarlo.hh
Removed the redefinition.  Included climits and changed HOST_NAME_MAX to _POSIX_HOST_NAME_MAX
which should be defined on the systems we support.

refs #265
2016-07-06 14:56:05 -05:00
Alex Lin
4ab584ed55 Support using Python 3
Fixed the configure script to allow the user to specify using a python3
interpreter.  Had to change the the way to load the swig generated python modules.
Also had to change code dealing with python strings, oct, long, and
boolean operations.

refs #258
2016-06-28 13:44:21 -05:00
Alex Lin
fcb63e0e06 Output "--" if that was specified in the header file.
Used the mods field in the attributes to indicate of "--" was specified in the header file.  We
still save the units as "1" to keep it compatible with udunits.  When outputting the variable
in data recording or variable server we check to see if the mods field for "--" is set.  We
output "--" if the mods field is set.  Also allowed "--" to persist in data products.

refs #254
2016-06-21 16:12:28 -05:00
Alex Lin
d9f1780939 exec_get_current_version returns string out of scope
Changed Trick::Executive::get_current_version to return a const reference
to the string that holds the version.  This avoids a copy of the string object
and avoids that object going out of scope.  As a string, the debug_command
had the same problem so I fixed that one as well.

refs #252
2016-06-21 16:03:15 -05:00