* Added a check before calling MM delete_var in ExternalApplication destructor;
Made sure that the MulticastGroup is not initialized before initializing it in VariableServerListenThread.cpp;
* Updated to call multicast group initialization to be consistent for the unit test.
* Removed unnecessary command c str pointer.
* Removed unnecessary command c str pointer.
* Added optional remote sheel config file for the remote startup command.
* Updated to cd to the sim directory after sourcing a config file in case the config file changed pwd.
* Speed up Trick::ScheduledJobQueue::push
* Make comparator a static function
* Use upper_bound instead
* Use explicit types
* Update comment
* Fix formatting
* Added TRICK_LDFLAGS to the rule for linking shared library so user can use TRICK_LDFLAGS for linking shared library if necessary.
* Removed the new line added by accident.
* Fix for assigning to non-existent variables (#1708)
This fix modifies Trick's convert_swig script. It
adds a directive to not accept dynamic attributes.
The directive will ensure that modelers do not
assign to non-existent parameter in their input files.
The prior fix (issues #1288 and/or #1603) did not
cover C structures, so this commit is really an
addendum to that fix. With this commit, the convert_swig
script will generate a non-dynamic directive foreach
class and structure.
This fix also stops generating swig interface code
for typedef structure definitions since swig only
produces an interface to the actual typedef name.
For example, with this typedef:
typedef struct StructureName {
double main_engine_thrust; /* N Thrust of main engine */
struct StructureName* next; /* ** Next pointer */
} TypeDefName;
swig creates an interface for "TypeDefName", and not
"StructureName", so there is no need for Trick to
produce anything in regards "StructureName".
* Fix for issue with classes defined in ifndef SWIG block
convert_swig takes in the raw header and does no preprocessing,
so blocks of c/c++ header code which are meant to be skipped
by Swig are processed by convert_swig. This causes an issue
with the generated python code that try to access classes
that are ifndef SWIGed out.
To fix this, check for class existence in the generated python
code e.g:
if 'MomMom' in globals():
MomMom.__setattr__ = _swig_setattr_nondynamic_instance_variable(object.__setattr__)
* Fix for assignment to swig_double and swig_int primitives
The previous commit(s) on this branch fixed bad assignments
like (misspell position an attribute of BSTATE_IN):
ball.state.input.positiaaaan = 4.0
This commit fixes bad assignments to leaf/primitive attributes
like (try to add attribute to primitive/leaf double type):
ball.state.input.position.fred = 4.0
* Moved _swig_setattr_nondynamic_instance_variable to right after each class in process_class and removed duplicate _swig_setattr_nondynamic_instance_variable blocks for classes that are not in a namespace.
* Add the call for __setattr__ for class templates.
---------
Co-authored-by: Hong Chen <hong.chen-1@nasa.gov>
* Repurposed -OO so all sim run outputs including S_sie.resource are saved to the specified folder. The files are placed in the sub-dir either RUN_xxx or DP_Product of the specified folder.
* Updated for repurposed -OO.
* Added quoting code markdown for such as in order to show <name> as is.
* Added quoting code for missing items.
* Updated to raise an error when the --read-only-sim flag is used without the -O or -OO. Also made updates to the related document accordingly.
* Fixed the error message to be more clear.
* fixed web server freeze issue
* Revert "fixed web server freeze issue"
This reverts commit 7883453f6a.
* Fixed Webserver freeze issue
---------
Co-authored-by: Marcus Rockwell <marcusrockwell@gmail.com>
* Incorporate llvm 18 changes.
* Fixed to set input file properly for clang3.4 or ealier.
* Fixed missing brackets and added the rule back for the condition to call clang init preprocessor which was taken out incorrectly by the last commit.
* Proposed fix for deadlock on shutdown
* Terminate C style comment.
* Added needed libs for applicable tests and updated the logic for when allowing/disallowing connections.
* Need to load additional trick libs for applicable tests for Linux.
---------
Co-authored-by: Hong Chen <hong.chen-1@nasa.gov>
* Implemented use of the python GIL API to replace the less portable mutex solution.
* Replaced nullptr with NULL
---------
Co-authored-by: Thomas Brain <thomas.a.brain@nasa.gov>
* Added additional resource usage info for sim run.
* Fixed so voluntary context switches output uses corresponding ru_nvcsw instead of ru_nivcsw due to copy and paste error.
* Removed added resource usage data for page faults and block operations due to inconsistency on different OS.
* Updated to have voluntary and involuntary usage data for both initilization and run for sim shutdown run summary.
* Repurpose the "Sim/Real Time" field on the sim control panel #1626
Added calculations in the realtime sync monitor job to calculate the
average sim/realtime ratio for the past 100 frames. This is saved to
a new variable, actual_run_ratio. Changed the sim control panel to
display the actual_run_ratio value.
* Repurpose the "Sim/Real Time" field on the sim control panel #1626
how does this compile locally but not in CI? Didn't include cmath.
* Standardized error messaging in Sim Control Panel.
* Allowed for a popup when in Lite mode
* Fixed the NullPointerException
* Cleaning up and documenting implementation.
* Updated to log applicable time in seconds instead of tics, remove scale attribute in dp product XMLs, and reset clock before realtime clock sync to avoid logging epoch time for frame logging.
* Removed "_seconds" from applicable time variable names.
* Updated not to add "friend class" to embedded private list so it can be accessed.
* Added a list to hold all friends class decl so able to specifically make sure not to remove them from io source but not to allow is source for others.
* Added namespaces to class names for comparison as class name only needs to be unique within the same namespace.
* Added if NULL check before getting friend decl type string.
* Add type, dispersion, min_value, max_value and other relevant internal
members of MonteCarloVariable* classes to the output of
MonteCarlo_Meta_data_output. Motivation is for users wanting to post-process
dispersion parameters used during generation of runs
* Protect against invalid memory access when length of values is zero in
MonteCarloVariableRandomStringSet::generate_assignment(). Add a new
verif sim warning case to cover these new lines
* Update new verif data for SIM_mc_generation to support these changes
Closes#1574
Co-authored-by: Dan Jordan <daniel.d.jordan@nasa.gov>