Commit Graph

854 Commits

Author SHA1 Message Date
Alex Lin
26dfb3a000 Move the lock_memory function out of the Executive to RealtimeSync
Moved the lock memory function to the real time sync directory.  It doesn't need
to be part of the RealTimeSync class either so I left the lock/unlock code
in the C language calls for real time functions.

refs #195
2016-03-10 17:05:47 -06:00
Alex Lin
1754995396 ATTRIBUTES for classes with non-locally typedef'd members is wrong
Interesting case.  I found that we should process the canonical type names where
we were not before.  This resolves all typedefs and should be be more
accurate in the future.  When we process the canonical type we need to ignore
the processing of the non-canonical type.  We set a flag after
the canonical type is processed to ignore any type that is processed after.

refs #198
2016-03-10 10:42:59 -06:00
John M. Penn
0f76eec7a1 Include stdlib.h in MemoryManager_ref_name.cpp. 2016-03-09 11:26:31 -06:00
John M. Penn
ced68e24b2 Keep track of and free the reference attr created by ref_var. Refs #154 2016-03-08 17:47:09 -06:00
John M. Penn
9b652d0a11 Back out free of attributes in assignment production. refs #154 2016-03-07 12:32:16 -06:00
John M. Penn
ec37898fb1 Fix memory leaks in CheckpointAgent input parser. refs #154 2016-03-03 17:38:41 -06:00
Alex Lin
7d5e501012 Add option to validate pointer addresses in variable server clients
Added an option on the settings panel in TV to toggle validating
addresses.  Removed the now deprecated resolve_bad_refs button.

refs #193
2016-02-25 11:11:02 -06:00
Alex Lin
3abf0b31c4 Add option to validate pointer addresses in variable server clients
Forgot I left the validate_address on for testing.  Turned if off now.

refs #193
2016-02-25 10:09:49 -06:00
Alex Lin
51715a0650 trick-sniffer calls trick-simcontrol by old name
Changed the system call to use the new name.

refs #194
2016-02-25 09:02:23 -06:00
Alex Lin
543bbc0585 Add option to validate pointer addresses in variable server clients
Added a flag called validate_address to each variable server thread.  When
activated each pointer address will be tested to see if it is in memory
the memory manager is tracking.  If it is then everything proceeds normally.
If it does not, then an error return value is returned for the value of this
variable.

refs #193
2016-02-25 08:56:04 -06:00
Alex Lin
2c5a46a8bc Trick::MemoryManager::add_attr_info improperly removes the const keyword
Changed the search from "const" to "const " because we're intersted in
removing the const keyword preceding a type name.

refs #184
2016-02-22 09:52:28 -06:00
Derek Bankieris
912778423b Fix Sniffer to use the new binary names, which are prepended with trick- 2016-02-22 09:42:22 -06:00
Alex Lin
39868aba46 Functions with enumerated default arguments cause bad python code to be generated
OK, all the previous checkins were the wrong way to fix this issue.  The SWIG
compactdefaultargs feature and the shadow feature clash for our DRBinary class.
I turn off compactdefaultargs for the DRBinary class, leaving it on for
everything else.

refs #176
2016-02-18 11:04:07 -06:00
Alex Lin
4ab940a691 Revert "Functions with enumerated default arguments cause bad python code to be generated"
This reverts commit 30fbd682ee.
2016-02-18 10:59:36 -06:00
Alex Lin
30fbd682ee Functions with enumerated default arguments cause bad python code to be generated
Found a lot more data recording groups that have the same problem.

refs #176
2016-02-18 10:21:12 -06:00
Alex Lin
83572b20cb Print some timing statistics when the sim exits
Saved the timestamps on the default gettimeofday clock as close to
the beginning of the simulation, after initialization is finished and
at the end of shutdown.  Printed out the elapsed time as well as
the number of overruns counted by RealtimeSync.

refs #183
2016-02-17 16:27:37 -06:00
Alex Lin
b4f0906e03 Merge in the er7_utils integrators
Added .gitignore for created makefiles in er7_utils.

refs #180
2016-02-11 14:13:25 -06:00
Alex Lin
6eef449a1c Don't process header files installed by Homebrew
Added /usr/local/Cellar to ICG's list of system header locations.

refs #181
2016-02-11 09:33:53 -06:00
Alex Lin
8a535cc44f Merge in the er7_utils integrators
Wasn't supposed to add the CheckpointHelper.

refs #180
2016-02-10 11:21:54 -06:00
Alex Lin
4c3015851f Merge in the er7_utils integrators
Taking in the latest er7_utils directory and adding it into Trick in the
same location it was as an external repository.  Made one change to
the files_to_ICG.hh file in the repository to remove the CheckpointHelper
header files.  Those go in the Trick files_to_ICG.hh file.

refs #180
2016-02-10 09:32:53 -06:00
Alex Lin
6461b50d7d Setting framelog sample size does not work.
Setting the frame log size only resized the time line graph, not the normal
frame log groups.  Added code to change the size of the normal frame log
groups in addition to the time line.

refs #177
2016-02-04 16:13:05 -06:00
Alex Lin
447585ad16 ICG processing files it is supposed to skip
We pull file names out of the clang infrastructure to match where
classes are defined.  We use the file name to pull comments and find
and process Trick header comments.  Up to now clang gave us the realpath
of files and when we looked up comments we already had the realpath and
everything worked.  In clang 3.6 in some places we are not getting the
realpath anymore which confuses ICG.  Added code to get the realpath of
any file name we use throughout the code.

refs #167
2016-02-04 15:43:14 -06:00
Alex Lin
71dab9ed45 Introduce Open Dynamics Engine examples
I want Trick to parse and understand ODE header files.  The ODE header files
include some typedef constructs ICG was skipping.  Added code to handle the
typedefs we did not handle before.  Also made a small change the way
TRICK_ICG_EXCLDUE and TRICK_EXCLUDE are used so that they support excluding
individual files as well as directories.
2016-01-29 09:27:41 -06:00
Alex Lin
692d962b90 Sending the variable server a variable name that lists a composite type causes core dump
Duplicating change from 15.1.1.
If a variable resolves to a class/structure type the variable server tries to free the
attributes associated with that variable name.  But the attributes usually point to
a fixed place in memory that is not allocated.  I removed the free statement.  I don't
believe this will lead to a memory leak.

refs #165
2016-01-26 16:02:15 -06:00
Alex Lin
a8c8c49f0d Stripchart does not start with input file
Found that the stripchart calls itself when reading variables
from an input file.  The command to call itself was using the old
executable name trick_stripchart instead of the new trick-stripchart.

refs #166
2016-01-20 16:50:23 -06:00
Alex Lin
7e542440d1 Add a time variable in seconds to the variable server
Added a time variable that is in seconds.  A created a special case
for var_add if you add "time" then this variable will be added to
the list of variables returned.

trick.var_add("time")

refs #151
2016-01-14 10:49:27 -06:00
Alex Lin
903ff05960 data record buffering optimizations
Added a loop to set each 1024th byte in the recording array to 1 once the
memory has been allocated.  Need to test if this is good enough to get Linux
to allocate the memory.

Added a current recording buffer pointer to use instead of using array offsets.
This should be more cpu cache efficient.

Changed the memcpy calls to direct casted integer assignments based on the size of the
parameter.  If the parameter is not size 1,2,4,or 8 we fall back to a memcpy.

refs #155
2016-01-14 08:31:13 -06:00
Alex Lin
a08b313457 configure script does not check for clang/llvm
Use the clang executable we find in the configure script for building ICG.

refs #130
2016-01-13 09:22:46 -06:00
Alex Lin
ce1962b55d make doxygen broken
Updated the directory names in the doxygen files to match the new directory locations
of our source code files.  The documentation builds now.  But we still need to
remove the duplicate documentation that is now in the wiki, because the wiki is
more up to date.

refs #158
2016-01-13 09:18:09 -06:00
Alex Lin
87a48b36f5 make javadoc broken
The makefile rule javadoc was misnamed docs in trick_source/java/makefile. I fixed hundreds
of warnings and errors that were present when creating the java docs.

refs #159
2016-01-12 16:39:47 -06:00
Alex Lin
ff39984568 Input processor crashes if second event with same name is created
When allocating a new event, if the same name is used, no allocation is
created and NULL is returned.  We start trying to use the returned value
which seg-faulted.  I added a check to only continue if the returned value
from the allocation is not NULL.

refs #149
2015-12-02 10:44:27 -06:00
Alex Lin
1afac18399 Add additional thread synchronization mechanisms
Created a thread trigger container class to hold all of the various thread triggering
mechanisms.  I wanted to avoid allocating/freeing trigger mechanisms.  I added
an eventfd and futex trigger types.  Updated SIM_threads_simple test sim to use
show how to set the thread trigger type.

refs #148
2015-12-02 10:35:25 -06:00
Alex Lin
519cdaf7f1 Unit tests failing on the Mac.
Added the library directory /usr/X11/lib to the search path when
compiling the DPX test directory.

refs #144
2015-11-19 14:41:18 -06:00
Alex Lin
ca51142553 Configure script does not set up GSL correctly
The configure script does not set up the defines for GSL correctly which causes our GSL
support code not to compile correctly. Fixed it.

refs #143
2015-11-18 08:30:21 -06:00
Derek Bankieris
aedd6b2be3 I'm not sure why we're padding floats and doubles in vs_format_ascii. It results in sending a bunch of useless spaces which hurts efficiency. Values are already tab-delimited, so fixed-width fields are unnecessary. We're not padding anything else, so don't pad these! 2015-11-17 14:18:59 -06:00
Derek Bankieris
2f5c219f98 Add file name to error messages about invalid @trick_parse argument. 2015-10-21 11:23:02 -05:00
Alex Lin
161e6fa23e Save X11 include and library information from configure
Temporary hardcoded patch to get data products to build under
El Capitan.

refs #133
2015-10-02 08:41:47 -05:00
John M. Penn
fcb419d534 Add demonstration of getting units from MemoryManager::ref_attributes(). Fixes #132 2015-09-30 17:30:51 -05:00
Alex Lin
952b899093 ICG doesn't handle inherited template classes correctly
When a template is in a namespace the type that is marked for the node containing
the full definition of the type is elaborated.  We need to go into
the elaborated name and get the underlying type.  Added code to do this
and tests to see if the type we are checking is itself a template or the
elaborated type is a template.  Sorry, this probably only makes sense to me.

refs #124
2015-09-18 13:18:05 -05:00
Alex Lin
57c76041f5 Get the value of a variable not parsed by SWIG in python
Wrote a python routine called get_value_by_ref_name that takes
a variable name string as an argument.  The string is passed to
ref_attributes to find the address and returns a REF2 structure.  The REF2
structure is passed to ref_to_value and the type and value of the variable
is returned in a structure.  We call vval_<type> to extract the raw value
from the structure and return that to python space.

Made a couple of other bug fixes in the FieldVisior and cpp input file
example found while investigating this issue.

refs #123
2015-09-18 09:03:24 -05:00
Alex Lin
7523c7b36c gxplot depends on Motif
Removed all motif dependencies.  I removed the motif based table renderer that
is duplicated here in gxplot.  The same table renderer is in fxplot with one
main difference, the one in fxplot actually renders tables, this one was not
working.  Also removed an error message dialog box that depended on
motif, replacing them with std::cerr calls. Removed -lXm when linking gxplot

refs #121
2015-09-17 16:58:29 -05:00
Alex Lin
80b8f99723 MTV/variable server crashes if checkpoint has less malfunctions then currently running sim
Added a case statement for the bad ref type to the binary data handler.  We handle a bad
ref as an integer, because that is what the sim sends us.  This fixes MTV.

refs #117
2015-09-14 15:11:20 -05:00
Derek Bankieris
c11f04644c refs #118
Removed unused VarClient.java.
2015-09-14 14:30:24 -05:00
Alex Lin
e58ba61d8e MTV/variable server crashes if checkpoint has less malfunctions then currently running sim
Did two things to stop the crash.  1.  When following an address path if we hit a NULL
address, stop processing and return the NULL.  2.  When trying to resolve addresses in
copy_sim_data, if a NULL address is returned then reset the reference to unresolved and
return a dummy value.

Need to fix MTV to handle dummy value returns.

refs #117
2015-09-14 11:33:11 -05:00
Alex Lin
94a99fb9ea Support new Trick comment tags
Changed parenthesis to curly brace... er I mean curly bracket.  Well too late, in
the code I called it curly brace. It's these "{}". Oh well.  Also found that the
dependency_only headers were not actually reading the dependencies.  Added the list
of dependency only files to the list of files to get dependencies from.

refs #114
2015-09-14 11:26:09 -05:00
Alex Lin
9b381f2edc Support new Trick comment tags
Added new doxygen style tags for truning on/off Trick attributes processing,
comment processing, and library dependencies.  Here are the tags we recognize

(@|\)trick_parse(everything|attributes|dependencies_only)
(@|\)trick_exclude_typename(class_name)
(@|\)trick_link_dependency(link_name)

refs #114
2015-09-10 14:50:22 -05:00
John M. Penn
f3ee79374b Delete obsolete .d files in the trick_models directory. 2015-08-31 19:24:56 -05:00
Alex Lin
80fb82e9f6 Add methods in base SimObject to turn whole sim object on/off.
Added enable/disable methods to the SimObject base class.  Used
enable/disable to be consistent with the JobData class that already
had these defined.

fixes #103
2015-08-05 15:17:32 -05:00
Alex Lin
119e7908d3 JITInput files not working
Added TRICK_SYSTEM_CXXFLAGS and TRICK_SYSTEM_CFLAGS to the gte list of
variables stored in a simulation.  These variables are used to
compile JIT input files.

refs #104
2015-08-05 14:15:39 -05:00
Alex Lin
e692b81fdb Setting initial sim time causes lockup
Found two issues.  First is that the next call times for
all of the jobs was not calculated correctly.  Second is
that the if the user wants to sync the sim to a real time
clock interval, the initial sync to the real time clock was pausing
the full starting sim time instead of syncing to the clock
interval.

refs #99
2015-08-04 16:36:19 -05:00
John M. Penn
5778add741 Ref #96 : Fix to many args warning. 2015-08-04 16:26:28 -05:00
John M. Penn
36cf0a72db Fixes #96 by adding space delimiters between values. 2015-08-04 15:51:47 -05:00
John M. Penn
c680c974f6 Refs #44 : Set precision to 15 for MonteVarFixed 2015-08-04 15:46:44 -05:00
John M. Penn
f2ca099baf Fixes #44: Changed the MonteRun values that are used and that are recorded to be the same precision. Also increased the precision from 10 to 15 significant digits. 2015-07-29 16:56:23 -05:00
Alex Lin
f4e0ce32b0 Can't compile ICG with --std=c++11
Removed the --std=c++11 flag.

refs #94
2015-07-29 09:50:53 -05:00
Alex Lin
a5929dbe6c Move search for library dependencies to make_makefile
Moved the search for all library dependencies into make_makefile.
Made a couple of minor clean up edits as well.

refs #92
2015-07-24 16:16:22 -05:00
Alex Lin
fc9c604056 Split CP up into components that can be called individually
Renamed some output file to make it more obvious what produced them.

refs #86
2015-07-23 10:30:55 -05:00
Alex Lin
a2bc82f1e9 MemoryManager unit test needs -lpthread on Ubuntu
Added -lpthread to link line just because.

refs #91
2015-07-22 18:05:34 -05:00
Alex Lin
b3d1a1d162 Trick should not modify TRICK_CFLAGS and TRICK_CXXFLAGS
Well sims compiled, but I forgot to test if Trick itself
would compile.  It didn't.  Added TRICK_SYSTEM_CFLAGS and
TRICK_SYSTEM_CXXFLAGS where needed.

refs #90
2015-07-22 15:34:54 -05:00
Alex Lin
90c85c73fc Trick should not modify TRICK_CFLAGS and TRICK_CXXFLAGS
Created TRICK_SYSTEM_CFLAGS, TRICK_SYSTEM_CXXFLAGS, and TRICK_SYSTEM_SFLAGS
that Trick uses to add the Trick system includes, defines and other
compilation flags.  TRICK_CFLAGS and TRICK_CXXFLAGS are now in
full control of the user.

refs #90
2015-07-22 14:20:36 -05:00
Alex Lin
d744eba557 Split CP up into components that can be called individually
Added a new TRICK_EXT_LIB_DIRS variable that allows users to
tell Trick about external libraries, rather than trying to
use TRICK_EXCLUDE. Added back getting multiple library dependency
sections from source files.

refs #86
2015-07-22 10:54:00 -05:00
Alex Lin
d72555f3cc Split CP up into components that can be called individually
After about 6 unsuccessful builds I decided to run the unit tests
before checking in these files.  I fixed the integrator unit
test that was failing from a previous issue along with problems
with the sims.

refs #86
2015-07-21 15:10:40 -05:00
Alex Lin
1bf08aeb55 Clock unit tests don't work on all platforms.
Clock unit tests don't work on virtual machine platforms.  I've
recommented them out until they can be reviewed.

refs #87
2015-07-21 14:45:19 -05:00
Alex Lin
63179b2fa3 Split CP up into components that can be called individually
Empty header files may need build directory created for lib_deps file.
Error message in make_makefile_src was not showing file name.

refs #86
2015-07-21 14:41:30 -05:00
Alex Lin
e438d83f2d Split CP up into components that can be called individually
Needed to add library dependencies from header files that don't have
classes/enums.  These files are the empty_io header files in ICG.

refs #86
2015-07-21 14:15:16 -05:00
Alex Lin
13268aae32 Merge branch 'makeMaster' that splits up CP into several executable
components.
2015-07-21 09:58:15 -05:00
Alex Lin
deac866379 Split CP up into components that can be called individually
Found some more dead code to delete.  Added a couple of progress
printouts.

refs #86
2015-07-21 09:55:53 -05:00
Alex Lin
d7b386227a Split CP up into components that can be called individually
Fixed some library dependency bugs.  JEOD test sims compile now.

refs #86
2015-07-21 08:52:00 -05:00
Alex Lin
dfa961808b Split CP up into components that can be called individually
First tests are working.  Changing a source file and header works
as before.  Adding library dependencies in either of these files
causes the makefile pieces to be redone.  Only tested in the ball
sim so far.

refs #86
2015-07-20 16:22:34 -05:00
Alex Lin
e1c1bbaccf Split CP up into components that can be called individually
Initial rough checkin that partially works for the ball sim.

refs #86
2015-07-16 15:36:36 -05:00
John M. Penn
a5e7699d40 Fixes #81: Updated other Makefiles to get tests to link 2015-07-16 15:02:33 -05:00
John M. Penn
3a70ffb156 List libraries more than once to satisfy gcc linker 2015-07-15 17:29:10 -05:00
John M. Penn
619d60fff7 Fixes #81: Memory Manager tests still require libtrick.a to be linked in. 2015-07-08 14:37:17 -05:00
Alex Lin
b660aa371e Create a separate directory for simulation compiliation.
Made adjustments to accomodate differences in arguments to perform
partial linking on the Mac.

refs #80
2015-07-08 11:25:59 -05:00
Alex Lin
5848d80bc4 Create a separate directory for simulation compiliation.
Made some adjustments for sims larger than the ball sim.
Make some changes to handle library packages such as JEOD.  Also
removed some dead code.
2015-07-08 10:33:56 -05:00
Alex Lin
5a77824638 Create a separate directory for simulation compilation.
Functioning build directory on Linux.  Everything is going into the build directory.
All files for all steps use the full path.  this change removes the need for us to
call depend_objs to fix makefile dependencies.  Changed the makefile rules to use
more pattern rules reducing the size of make_makefile.pm and the makefile too.
Changed the output of make to show short commands for each compile line.  Setting
the variable TRICK_VERBOSE_BUILD in the environement, command line, or in S_overrides.mk
will change the output to the full printout.

refs #80
2015-07-07 14:42:58 -05:00
Alex Lin
469be90e32 Create a separate direcotry for simulation compilation.
Moved most generated files into the build directory.  All object code,
io_src realated files, and swig related files are now in build.

Realized that ICG should be creating the makefile for the io_src
code.  ICG knows which files it created.

refs #80
2015-07-02 10:09:31 -05:00
John M. Penn
5fb037aa00 Fixes #79: Get the Clock tests working 2015-07-01 18:21:56 -05:00
John M. Penn
63975d9f89 Fixes #78: Changed message about configure option for TPRO CTE card. 2015-07-01 18:10:53 -05:00
John M. Penn
5ecc7b2af0 Remove RELEASE call when rt_nap is set 2015-07-01 18:03:58 -05:00
John M. Penn
5d219d5e2e Fixes #76: Fixed shadowed ii index. 2015-07-01 13:16:34 -05:00
John M. Penn
03284bf97d Break the Memory Manager out of libtrick.a into libtrick_mm.a. 2015-06-30 17:57:26 -05:00
Alex Lin
3c64d2cbe1 Remove duplicate stand-alone libraries
Removed additional stand alone rules in master makefile and the stand alone makefile in trick_utils.

refs #71
2015-06-25 14:40:18 -05:00
Alex Lin
cf3738d3fd Memory Manager tests trying to write io_src files in sim_services/include
Added 2 flags to trick-ICG. "-o" will specify an output directory.  Added this
option to the calls to trick-ICG for the Memory Manager tests.  Also added
a "-m" option to create the map files ICG creates for sims.  The memory manager
tests do not need these maps so we don't include the option.  Added the -m option
to the sim makefile and the master makefile so we do create the map when compile
Trick core and sims.

refs #72
2015-06-24 17:49:14 -05:00
Alex Lin
bfc197f81c Remove duplicate stand-alone libraries
defined CONFIG_MK in the trick_util makefiles to allow making those directories
without running configure first.  Removed link to hs_msg.h which no longer
exists.

refs #71
2015-06-24 17:18:06 -05:00
Alex Lin
44736be398 Remove dupilcate stand-alone libraries
The test programs now need more than just -ltrick.

refs #71
2015-06-24 16:54:15 -05:00
Alex Lin
03979a2079 Memory manager test programs need libtrick_units.a
Added libtrick_units.a to the linking of memory manager test programs.

refs #71
2015-06-24 16:26:11 -05:00
Alex Lin
941eb5c1cc Remove duplicate stand-alone libraries
I changed trick comm so that there is only one version built, not a slightly different version
if you are in or out of a sim.  While I was in the trick comm code, I removed all of the
unnecessary system header file inclusions out of tc.h.   I modified each of the source files
to include the system files it requires.  Some sim_services files were including tc.h and
also had to be edited to add headers.  I removed the stand-alone makefiles out of all
of the trick_utils directories.  Finally I modified the master makefile to exclude the
trick_util directories comm, math, and units from being archived into libtrick.a.  Each of
those directories will create their own library and will be included when linking a Trick sim.

refs #71
2015-06-24 15:58:17 -05:00
Alex Lin
67da980bdd Test code does not work with new directory locations.
somehow missed a few files.

refs #70
2015-06-22 16:56:35 -05:00
Alex Lin
d3acfa5fc0 Test code does not work with new directory locations.
Adjusted all of the source code to point to the header files in their new
locations.  Adjusted the makefiles for the header locations as well.
Added .gitignore files in the test directories to ignore test object code.
2015-06-22 16:11:08 -05:00
Alexander Lin
5ce0658907 Make Trick Mac Homebrew friendly.
Trk2csv executables also need -lc++abi when compiling with
Homebrew.

refs #66
2015-06-17 16:24:51 -05:00
Alexander Lin
478ddbded9 Make Trick Mac Homebrew friendly.
For some reason, fxplot and gxplot are not linking now because
they are missing symbols.  Adding -lc++abi to fix it (maybe).

refs #66
2015-06-17 15:56:47 -05:00
John M. Penn
cc49e4e4a8 Merge branch 'master' of https://github.com/nasa/Trick 2015-06-17 15:12:42 -05:00
John M. Penn
000f101a4f Fixes #68: Changed the path where TrickDPActionController expects to find jar files 2015-06-17 15:11:29 -05:00
Alex Lin
733d64a250 Trick swig headers don't make it to the destination directory with make install
Moved the header files and the swig .i files to include/trick/swig.  Adjusted the
source files and the convert_swig script to find the headers in their new
location.

refs #67
2015-06-17 14:07:52 -05:00
Alex Lin
76756d450a Make Trick Mac Homebrew friendly
Copy and paste error of CXXFLAGS instead of CLANGLIBS.

refs #66
2015-06-17 10:32:20 -05:00
Alex Lin
80091454ce Make Trick Mac Homebrew friendly
Added /usr/local to the list of search directories in the configure script
for the motif header files.  Added -lc++abi to the list of link libraries.

refs #66
2015-06-17 09:00:18 -05:00
Alex Lin
3577e72bce trick-ICG fails when using clang < 3.4
The clang path created uses the patchlevel which prior to 3.4 was not used by
clang.  This resulted in a bad being created and eventually an llvm assertion
error.  Added a compiler ifdef so that the patchlevel is not used before 3.4

refs #65
2015-06-15 11:38:21 -05:00
Alex Lin
8193b5de7b Standardize directory names
Tried using clang/llvm from ubuntu distribution.  Needed to change the include directory for compiling ICG. Also found that
the clang include files can be in a linked directory.  Used realpath to make sure we have the absolute path.

refs #63
2015-06-12 16:59:00 -05:00
Alex Lin
eed8837478 Standardize directory names
RedHat systems use a libexec directory, MacOSX and Ubuntu use lib.  Changed our scripts and makefiles to handle both.

refs #63
2015-06-12 15:24:36 -05:00
Alex Lin
2eeb311a70 Standardize directory names
Moved the no_arch swig files to share/trick/swig and adjusted the makefiles to look for the files in the new location.  Changed the install rule to only copy the files we need for our installation.

refs #63
2015-06-11 14:40:14 -05:00
Alex Lin
77510d0ccd Standardize directory names
Found that on the Mac ICG was ignoring all of header files comments in ${TRICK_HOME}/include because it had the relative directory "include" listed as a system path.  Comments were only processed if it wasn't in a system directory.  Changed the check to use our function that checks to see if a header is in user or Trick code, basically the same check, but it only uses full paths and doesn't get confused with "include".

refs #63
2015-06-10 14:19:00 -05:00
Alex Lin
407040507d Standardize directory names
Tested without the er7_utils directory and found some makefile dependencies that depend on er7_tuils files.  Also found that I forgot to change the include directories for the trick_algorithm integrators.

refs #63
2015-06-09 08:44:45 -05:00
Alex Lin
ccbc52cdcc Standardize directory names
On some systems llvm-config includes -ledit as a system library to link with. Our application doesn't need -ledit and sometimes that library is not installed.  I filtered out that library in the makefile.

refs #63
2015-06-09 08:44:44 -05:00
Alex Lin
d491c86b84 Standardize directory names
Some linux specific include files got into our dependency files.

refs #63
2015-06-09 08:44:44 -05:00
Alex Lin
c5d0b2a872 /usr/lib64/llvm/clang/3.4.2 not found
Modified the makefile for ICG to be able to use clang from yum, fink, and manual installs.  Removed the requirement for copying the clang friendly header files into Trick.  However Trick will be expecting the clang header files to be in it's search path.

refs #40
2015-06-09 08:44:44 -05:00
Alex Lin
60e3983344 Standardize directory names
Moved the io_src code created by sim_services to sim_servivces/include.  Also found some makefiles that needed to be changed to refer to the makefiles in their new locations.

refs #63
2015-06-09 08:44:44 -05:00
Alex Lin
24cfabbdef Standardize directory names
Added headers with previous path for backwards compatability.  Changed name of Exec_exception to ExecutiveException.

refs #63
2015-06-09 08:44:43 -05:00
Alex Lin
19025d77ad Standardize directory names
Reorganized.  Created a new top level include directory that will hold all of Trick's header files. Moved all of the Trick headers to this directory.  Created a libexec directory that holds all of the executables that users don't need to execute directly.  Changed all of the executables remaining in bin to start with "trick-".  In the sim_services directories changed all source files to find the Trick headers in their new location.  Since all of the include files are gone in sim_services, removed the src directories as well, moving all of the source files up a level.  Moved the makefiles, docs, man, and other architecture independent files into a top level share directory.  Renamed lib_${TRICK_HOST_CPU} to lib64 or lib depending on the platform we're currently on.

refs #63
2015-06-09 08:44:42 -05:00
John M. Penn
f6fed320c4 Fix #64: Fixed the call to register_group_with_mm in DRHDF5 constructor. 2015-06-03 19:32:23 -05:00
Alex Lin
27f22235b8 FXPlot linking includes non-existent -lsz
Changed the FXPLOT makefile to use the HDF5 libraries determined by the master makefile.  This makes it consistent with the way we build sims.

refs #62.
2015-05-21 17:02:12 -05:00
Alex Lin
bb1457c1b1 Remove java class files when making an rpm.
Added a makefile rule that only removes the intermediate java class
files when we are cleaning out stuff for an rpm.

fixes #61.
2015-05-21 16:57:20 -05:00
Alex Lin
366afd27dc Data Record binary endianness is determined by uninitialized variable
Initialized the variable that DRBinary is using to check for little/big
endianness.

fixes #60
2015-05-21 16:47:11 -05:00
Alex Lin
caf79f5e45 Monte Carlo shell command not set correctly when use shell used.
When a user shell is specified, the command is never written into
the buffer that is used to start a slave.

fixes #59
2015-05-21 16:40:01 -05:00
John M. Penn
205bda4375 Refs #58: Fixed generation of the monte_header file. 2015-05-19 17:30:26 -05:00
John M. Penn
899b0d3efe Merge branch 'master' of https://github.com/nasa/Trick 2015-05-15 10:41:36 -05:00
John M. Penn
bc9746db6c Fix #55: Fix problem in stringstream declaration 2015-05-15 10:41:08 -05:00
Alex Lin
24fe5adaec JITEvents are not checkpointable
Changed the way JITEvents are created and handled. Instead of taking a function pointer directly we save a name of a function to the JITEvent class.  The class will dynamically look up a function that matches the name both during event creation and during checkpoint restart.

Fixes #53
2015-05-14 13:41:17 -05:00
John M. Penn
eb46419951 Fix #55 : Use stringsstreams to build paths rather than a fixed size char array. 2015-05-12 18:00:49 -05:00
Derek Bankieris
08138fef87 Moved psi up in the list of units for pressure in Trick View.
refs #54
2015-05-11 15:40:12 -05:00
Derek Bankieris
f85c8e6787 Added psi to the list of units for pressure in Trick View.
fixes #54
2015-05-11 15:30:11 -05:00
Alex Lin
7ecfcad90a Add batch files to start GUIs under Windows
Added a couple of batch files in the java GUI area so they can be used with
Windows.  Made an addition in TrickApplication.java to add the .bat suffix
to script calls when using Windows.

Fixes #47
2015-04-29 15:01:45 -05:00
Alex Lin
24a081a32b Event messages not printing
After further discussion, it was revealed that the event printouts would stop
coming out if a new event was created.  Found that the constructor of the
event was clearing out the static info_msg flag all events used to test
for printing.  Removed the assignment in the constructor and set the
initial value of the info_msg flag to false at the declaration point.

Fixes #38
2015-04-06 08:19:16 -05:00
Derek Bankieris
203a1bd31d Fixes #39: Added logic to restore missing strip chart properties when loaded from a TV file. 2015-04-02 14:16:13 -05:00
Derek Bankieris
df39400847 Merge branch 'master' of https://github.com/nasa/Trick 2015-04-02 14:14:16 -05:00
John M. Penn
c1619156a9 Fixed the way that Trick::MemoryManager::ref_dim() calculates the sizes of elements in an unconstrained array. Fixes #37. 2015-03-30 17:36:54 -05:00
Alex Lin
ea71eefd52 Can't access fields in REGULA_FALSI structure in python
Added regula_falsi.h to the list of files we process with SWIG
when building everything.

Fixes #34
2015-03-26 08:40:02 -05:00
Alex Lin
7544d9cca7 Remove overloaded fields in Integrator/trick_algorithms/ABM_Integrator.hh
Removed the overloaded fields.

Fixes #33
2015-03-26 08:04:17 -05:00
Alex Lin
94b2a4eff0 Checkpoints cannot handle overloaded names
I think I ran into this before.  The offsetof calls that use
fully qualified fields in classes is not compilable using clang
on the Mac.  So I've decided to only conditionally compile this
code for non Apple platforms.  So this fix will work in Linux,
but not on Macs.  We'll have to revisit this and see if we
can make it work for both.

refers to #31
2015-03-25 17:15:42 -05:00
Alex Lin
3e0abdddc5 Checkpoints cannot handle overloaded names
When a field is processed in a class it is added to a list.  This list
will contain the fields from base classes the current class inherits
from.  We check the list of fields we inherited, if we find that the
current field overloads the name of an inherited field we adjust the
inherited field's name to be shown as the fully qualified name in io_src
code.

Fixes #31
2015-03-25 15:58:33 -05:00
John M. Penn
8536208822 Removed erroneous stringstream declaration, which compiled on MacOSX but failed on Linux. 2015-03-25 15:47:36 -05:00
John M. Penn
f5334e07d7 Merge branch 'devel'
to fix issue #25.
2015-03-25 12:06:15 -05:00
John M. Penn
08be591e32 Replace message_publish calls with MemoryManager specific calls. fixes #25 2015-03-25 12:05:25 -05:00
Alex Lin
c5456fab2a Variable Server fails to establish listen port on restart under a specific circumstance.
Added a test in the variable server listen restart job to see if the the name of the
machine in the checkpoint file matches the machine that we are running on.  We
test all of the network names avaiable on the machine.  If the name is not found then
we assume that the checkpoint was taken on another machine and wipe out the machine
name.  This will default the machine name back to localhost.

Fixes #24.
2015-03-24 15:16:35 -05:00
Alex Lin
ea085eb9ee Fixes io_src code for typedef structures.
Found that my check for embedded classes was also catching some typedef structures.
This was causing some io_src code not to be generated.  Changed the test so that
we can differentiate between embedded classes and the typedefs.

This change fixes #10 and fixes #23.
2015-03-24 11:01:31 -05:00
Derek Bankieris
4c5839d437 Merge branch 'master' of https://github.com/nasa/Trick 2015-03-24 07:42:34 -05:00
Derek Bankieris
df6e86e7cb Made VariableServerConnection autocloseable. 2015-03-24 07:42:07 -05:00
John M. Penn
e2be23c269 Add emitMessage, emitError, and emitWarning member functions to MemoryMananger 2015-03-23 17:21:35 -05:00
Alex Lin
306dee18a3 Clean up once include variables
Missed a couple of files where message_publish is in an ifdef __APPLE__
section.  But I decided to put message_type.h back in message_proto.h
because taking it out would affect a lot of user code.

Adds to #14.
2015-03-23 17:01:40 -05:00
Alex Lin
14a75508a3 Cleaning up once include variables and copyright cleanup.
Changed all header file once include variables to follow the same naming
convention and not start with any underscores.  Also deleted old
incorrect copyright notices.  Also removed $Id: tags from all files.

Fixes #14.  Fixes #22.
2015-03-23 16:03:14 -05:00
Derek Bankieris
678cc4b877 Corrected erroneous prototype. 2015-03-17 13:45:42 -05:00
Derek Bankieris
795839dd56 Corrected VSBoolean's toString method to return a value that Python will recognize as a boolean. 2015-03-16 13:20:02 -05:00
Derek Bankieris
ab337c20a8 Made the no-argument constructors of the VS* suite of Java classes public. 2015-03-16 12:51:27 -05:00
Derek Bankieris
d41e7cb937 Genericized the VS* suite of classes, reducing redundancy.
Added a <state> element for variables in TV files.
Added a Trick 13 to Trick 15 TV file converter.
Updated .gitignore files.
fixes #21
2015-03-16 11:36:51 -05:00
Alex Lin
d798792544 Removed protect_ip_hang.
This is obsolete code as we don't support RedHat 5 anymore. Removed
the ifdef check and conditional code.

Fixes #18
2015-03-11 08:42:42 -05:00
Alex Lin
aecc0504fa Changed the calling argument to setASTConsumer.
The calling argument to setASTConsumer changed between clang 3.5
and 3.6.  Changed the code to create a std::unique_ptr that the
call now requires and call setASTConsumer with the unique pointer.

Fixes #15
2015-02-10 18:47:17 -06:00
Derek Bankieris
c7e5ab1139 Merge remote-tracking branch 'origin/master' 2015-03-10 16:05:34 -05:00
Derek Bankieris
71b6b25278 Switched to using jaxb.index instead of enumerating classes in the call to JAXBContent.newInstance.
Modified the makefile to copy jaxb.index files into the JAR.
Removed now-unnecessary annotations from TVBean.
Modified and exposed the save/open .tv file framework to subclasses so they can add additional information to .tv files.
fixes #12
2015-03-10 15:49:24 -05:00
Alex Lin
a1fea8a36f Added code to trick_dp that will check if fxplot exists. If it does then it will
add a radio button for it.  If it doesn't exist, it will not show up in the plot
menu.
2015-03-04 13:37:20 -06:00
Alex Lin
2fab93da66 Added rules in the makefile to include er7_utils and fermi-ware if they exist. If they don't exist then the code that depends on them will not be compiled.
Also added the java GUIs to the default build rule.

Finally I added a lot of .gitignore files to ignore generated files.

Fixes #5
2015-03-03 16:08:54 -06:00
Alex Lin
2d5370100b Merge pull request #1 from excaliburtb/master
Added SWIG processing for IPPythonEvent class. Should fix current event ...
2015-03-02 12:56:34 -06:00
Alex Lin
87741062e0 Getting standalone to compile. Fixes #2 2015-03-02 12:48:17 -06:00
Thomas Brain
f15d324d40 Added SWIG processing for IPPythonEvent class. Should fix current event restart problem. 2015-03-02 10:11:45 -06:00
Alex Lin
f0c594f841 Initial commit of everything. 2015-02-26 09:02:31 -06:00