From d34844e76caf37a391b75f626ab79a80f1b70b8f Mon Sep 17 00:00:00 2001 From: Sean Harmeyer <117398532+sharmeye@users.noreply.github.com> Date: Fri, 27 Sep 2024 08:25:43 -0500 Subject: [PATCH 01/11] 1746 trick view variable search causes large spike in cpu usage (#1786) * Add new "greedy search" option to toggle multi-threaded variable search * Back down to a single thread * Fixed a typo. --------- Co-authored-by: Hong Chen --- .../src/main/java/trick/sie/utils/SearchPanel.java | 11 ++++++++++- .../java/src/main/java/trick/sie/utils/Searcher.java | 9 +++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/trick_source/java/src/main/java/trick/sie/utils/SearchPanel.java b/trick_source/java/src/main/java/trick/sie/utils/SearchPanel.java index 34c7de17..2fe40178 100644 --- a/trick_source/java/src/main/java/trick/sie/utils/SearchPanel.java +++ b/trick_source/java/src/main/java/trick/sie/utils/SearchPanel.java @@ -115,7 +115,8 @@ public class SearchPanel extends JXPanel { listModel.clear(); searcher.search(textField.getText().trim(), caseSensitiveCheckBox.isSelected(), - regularExpressionCheckBox.isSelected()); + regularExpressionCheckBox.isSelected(), + greedySearchCheckBox.isSelected()); if (searcher.elementCount == 0) { progressBar.setIndeterminate(true); } @@ -136,6 +137,12 @@ public class SearchPanel extends JXPanel { setToolTipText("Toggle regular expression searching."); }}; + /** toggles case-insensitive searching */ + JCheckBox greedySearchCheckBox = new JCheckBox("Greedy Search") {{ + setName("greedySearchCheckBox"); + setToolTipText("Toggle multi-threaded search (Warning: may cause overruns)."); + }}; + /** search results list model */ EfficientListModel listModel = new EfficientListModel(); @@ -227,6 +234,7 @@ public class SearchPanel extends JXPanel { setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); add(caseSensitiveCheckBox); add(regularExpressionCheckBox); + add(greedySearchCheckBox); }}); }}, constraints); @@ -306,6 +314,7 @@ public class SearchPanel extends JXPanel { textField.setEnabled(enabled); caseSensitiveCheckBox.setEnabled(enabled); regularExpressionCheckBox.setEnabled(enabled); + greedySearchCheckBox.setEnabled(enabled); list.setEnabled(enabled); list.setComponentPopupMenu(enabled ? popupMenu : null); } diff --git a/trick_source/java/src/main/java/trick/sie/utils/Searcher.java b/trick_source/java/src/main/java/trick/sie/utils/Searcher.java index 04a2245c..aaf20e1b 100644 --- a/trick_source/java/src/main/java/trick/sie/utils/Searcher.java +++ b/trick_source/java/src/main/java/trick/sie/utils/Searcher.java @@ -89,9 +89,10 @@ public class Searcher { * @param targetText the text for which to search * @param caseSensitive enables case sensitive searching * @param regularExpression enables regular expression searching + * @param greedSearch enabled multi-threaded search */ public void search(final String targetText, final boolean caseSensitive, - final boolean regularExpression) { + final boolean regularExpression, final boolean greedySearch) { final SearchFunction searchFunction = regularExpression ? @@ -124,7 +125,11 @@ public class Searcher { cancelSearch(); count = 0; - threads = Runtime.getRuntime().availableProcessors(); + if (greedySearch) { + threads = Runtime.getRuntime().availableProcessors(); + } else { + threads = 1; + } propertyChangeListener.propertyChange(new PropertyChangeEvent(this, "progress", 0, 0)); final ConcurrentLinkedQueue roots = new ConcurrentLinkedQueue(rootTemplates); executorService = Executors.newFixedThreadPool(threads); From ab2c5b22903d4b2016bd409598f8862e642fb0b3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Sep 2024 09:11:23 -0500 Subject: [PATCH 02/11] Bump rollup from 2.79.1 to 2.79.2 in /trick_source/web/dashboard (#1788) Bumps [rollup](https://github.com/rollup/rollup) from 2.79.1 to 2.79.2. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v2.79.1...v2.79.2) --- updated-dependencies: - dependency-name: rollup dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- trick_source/web/dashboard/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/trick_source/web/dashboard/package-lock.json b/trick_source/web/dashboard/package-lock.json index 31567b33..513f2498 100644 --- a/trick_source/web/dashboard/package-lock.json +++ b/trick_source/web/dashboard/package-lock.json @@ -15006,9 +15006,9 @@ } }, "rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "version": "2.79.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", "requires": { "fsevents": "~2.3.2" } From 1bdabadcbea6c18ea1117386954975856d1803da Mon Sep 17 00:00:00 2001 From: Pherring04 <158035107+Pherring04@users.noreply.github.com> Date: Mon, 30 Sep 2024 13:53:02 -0500 Subject: [PATCH 03/11] Fixed new job index calc (#1791) * Fixed new job index calc * Added additional index test --- .../ScheduledJobQueue/ScheduledJobQueue.cpp | 2 +- .../test/ScheduledJobQueue_test.cpp | 111 ++++++++++++++++++ 2 files changed, 112 insertions(+), 1 deletion(-) diff --git a/trick_source/sim_services/ScheduledJobQueue/ScheduledJobQueue.cpp b/trick_source/sim_services/ScheduledJobQueue/ScheduledJobQueue.cpp index e604a864..45660248 100644 --- a/trick_source/sim_services/ScheduledJobQueue/ScheduledJobQueue.cpp +++ b/trick_source/sim_services/ScheduledJobQueue/ScheduledJobQueue.cpp @@ -92,7 +92,7 @@ int Trick::ScheduledJobQueue::push( JobData * new_job ) { /* Increment the size of the queue */ list_size++ ; - int new_job_index = (insert_pt - list) / sizeof(JobData**); + int new_job_index = ((unsigned long)insert_pt - (unsigned long)list) / sizeof(JobData**); if(new_job_index < curr_index) { curr_index++; } diff --git a/trick_source/sim_services/ScheduledJobQueue/test/ScheduledJobQueue_test.cpp b/trick_source/sim_services/ScheduledJobQueue/test/ScheduledJobQueue_test.cpp index ba1c3cc5..a1086b1c 100644 --- a/trick_source/sim_services/ScheduledJobQueue/test/ScheduledJobQueue_test.cpp +++ b/trick_source/sim_services/ScheduledJobQueue/test/ScheduledJobQueue_test.cpp @@ -70,6 +70,117 @@ TEST_F( ScheduledJobQueueTest , PushJobsbyJobOrder ) { EXPECT_TRUE( sjq.empty() ) ; } +TEST_F( ScheduledJobQueueTest , PushJobOntoSameIndex_CurrIndex0 ) { + + Trick::JobData * job_ptr ; + + EXPECT_EQ( sjq.size() , (unsigned int)0) ; + EXPECT_TRUE( sjq.empty() ) ; + + job_ptr = new Trick::JobData(0, 2 , "class_100", NULL, 1.0 , "job_4") ; + job_ptr->sim_object_id = 4 ; + job_ptr->job_class = 100 ; + sjq.push(job_ptr) ; + + EXPECT_EQ( sjq.size() , (unsigned int)1) ; + EXPECT_EQ( sjq.get_curr_index() , (unsigned int)0) ; + + job_ptr = new Trick::JobData(0, 2 , "class_100", NULL, 1.0 , "job_3") ; + job_ptr->sim_object_id = 3 ; + job_ptr->job_class = 100 ; + sjq.push(job_ptr) ; + + EXPECT_EQ( sjq.size() , (unsigned int)2) ; + EXPECT_EQ( sjq.get_curr_index() , (unsigned int)0) ; + + job_ptr = new Trick::JobData(0, 2 , "class_100", NULL, 1.0 , "job_2") ; + job_ptr->sim_object_id = 2 ; + job_ptr->job_class = 100 ; + sjq.push(job_ptr) ; + + EXPECT_EQ( sjq.size() , (unsigned int)3) ; + EXPECT_EQ( sjq.get_curr_index() , (unsigned int)0) ; + + job_ptr = new Trick::JobData(0, 2 , "class_100", NULL, 1.0 , "job_1") ; + job_ptr->sim_object_id = 1 ; + job_ptr->job_class = 100 ; + sjq.push(job_ptr) ; + + EXPECT_EQ( sjq.size() , (unsigned int)4) ; + EXPECT_EQ( sjq.get_curr_index() , (unsigned int)0) ; + + job_ptr = sjq.get_next_job() ; + EXPECT_STREQ( job_ptr->name.c_str() , "job_1") ; + + job_ptr = sjq.get_next_job() ; + EXPECT_STREQ( job_ptr->name.c_str() , "job_2") ; + + job_ptr = sjq.get_next_job() ; + EXPECT_STREQ( job_ptr->name.c_str() , "job_3") ; + + job_ptr = sjq.get_next_job() ; + EXPECT_STREQ( job_ptr->name.c_str() , "job_4") ; + + sjq.clear() ; + EXPECT_EQ( sjq.size() , (unsigned int)0) ; + EXPECT_TRUE( sjq.empty() ) ; +} + +TEST_F( ScheduledJobQueueTest , PushJobOntoSameIndex_CurrIndex1 ) { + + Trick::JobData * job_ptr ; + + EXPECT_EQ( sjq.size() , (unsigned int)0) ; + EXPECT_TRUE( sjq.empty() ) ; + + job_ptr = new Trick::JobData(0, 2 , "class_100", NULL, 1.0 , "job_1") ; + job_ptr->sim_object_id = 1 ; + job_ptr->job_class = 100 ; + sjq.push(job_ptr) ; + + sjq.get_next_job() ; + + EXPECT_EQ( sjq.size() , (unsigned int)1) ; + EXPECT_EQ( sjq.get_curr_index() , (unsigned int)1) ; + + job_ptr = new Trick::JobData(0, 2 , "class_100", NULL, 1.0 , "job_4") ; + job_ptr->sim_object_id = 4 ; + job_ptr->job_class = 100 ; + sjq.push(job_ptr) ; + + EXPECT_EQ( sjq.size() , (unsigned int)2) ; + EXPECT_EQ( sjq.get_curr_index() , (unsigned int)1) ; + + job_ptr = new Trick::JobData(0, 2 , "class_100", NULL, 1.0 , "job_3") ; + job_ptr->sim_object_id = 3 ; + job_ptr->job_class = 100 ; + sjq.push(job_ptr) ; + + EXPECT_EQ( sjq.size() , (unsigned int)3) ; + EXPECT_EQ( sjq.get_curr_index() , (unsigned int)1) ; + + job_ptr = new Trick::JobData(0, 2 , "class_100", NULL, 1.0 , "job_2") ; + job_ptr->sim_object_id = 2 ; + job_ptr->job_class = 100 ; + sjq.push(job_ptr) ; + + EXPECT_EQ( sjq.size() , (unsigned int)4) ; + EXPECT_EQ( sjq.get_curr_index() , (unsigned int)1) ; + + job_ptr = sjq.get_next_job() ; + EXPECT_STREQ( job_ptr->name.c_str() , "job_2") ; + + job_ptr = sjq.get_next_job() ; + EXPECT_STREQ( job_ptr->name.c_str() , "job_3") ; + + job_ptr = sjq.get_next_job() ; + EXPECT_STREQ( job_ptr->name.c_str() , "job_4") ; + + sjq.clear() ; + EXPECT_EQ( sjq.size() , (unsigned int)0) ; + EXPECT_TRUE( sjq.empty() ) ; +} + TEST_F( ScheduledJobQueueTest , PushJobsbySimObjectOrder ) { //req.add_requirement("512154259"); From 48029fe031c08078412d1e6a4fe27fedbe95b1d2 Mon Sep 17 00:00:00 2001 From: Hong Chen Date: Tue, 15 Oct 2024 10:37:03 -0500 Subject: [PATCH 04/11] Updated to use FileEntryRef to get name instead of FileEntry for clang18+ due the corresponding function is deprecated for the applicable clang versions. (#1792) --- .../Interface_Code_Gen/PrintAttributes.cpp | 5 +- .../codegen/Interface_Code_Gen/Utilities.cpp | 79 ++++++++++--------- .../codegen/Interface_Code_Gen/Utilities.hh | 2 +- .../codegen/Interface_Code_Gen/main.cpp | 2 +- 4 files changed, 46 insertions(+), 42 deletions(-) diff --git a/trick_source/codegen/Interface_Code_Gen/PrintAttributes.cpp b/trick_source/codegen/Interface_Code_Gen/PrintAttributes.cpp index 758a84cd..5d443163 100644 --- a/trick_source/codegen/Interface_Code_Gen/PrintAttributes.cpp +++ b/trick_source/codegen/Interface_Code_Gen/PrintAttributes.cpp @@ -395,8 +395,11 @@ std::set PrintAttributes::getEmptyFiles() { const clang::FileEntry * fe = (*fi).first ; #if (LIBCLANG_MAJOR < 4) // TODO delete when RHEL 7 no longer supported std::string header_file_name = fe->getName() ; -#else +#elif (LIBCLANG_MAJOR >= 4 && LIBCLANG_MAJOR < 18) std::string header_file_name = fe->getName().str() ; +#else + const clang::FileEntryRef fer = fi->first ; + std::string header_file_name = fer.getName().str(); #endif if ( visited_files.find(header_file_name) != visited_files.end() ) { diff --git a/trick_source/codegen/Interface_Code_Gen/Utilities.cpp b/trick_source/codegen/Interface_Code_Gen/Utilities.cpp index 39bec7d5..11080f27 100644 --- a/trick_source/codegen/Interface_Code_Gen/Utilities.cpp +++ b/trick_source/codegen/Interface_Code_Gen/Utilities.cpp @@ -66,68 +66,69 @@ std::string trim(const std::string& str, const std::string& whitespace ) { } bool isInUserCode( clang::CompilerInstance & ci , clang::SourceLocation sl , HeaderSearchDirs & hsd ) { - clang::FileID fid = ci.getSourceManager().getFileID(sl) ; bool ret = false ; - if ( ! fid.isInvalid() ) { - const clang::FileEntry * fe = ci.getSourceManager().getFileEntryForID(fid) ; - if ( fe != NULL ) { -#if (LIBCLANG_MAJOR < 4) // TODO delete when RHEL 7 no longer supported - char * resolved_path = almostRealPath( fe->getName() ) ; -#else - char * resolved_path = almostRealPath( fe->getName().str() ) ; -#endif - if ( resolved_path != NULL ) { - if ( hsd.isPathInUserDir(resolved_path)) { - ret = true ; - } - free(resolved_path) ; - } + char* resolved_path = getResolvedPath(ci, sl); + + if ( resolved_path != NULL ) { + if ( hsd.isPathInUserDir(resolved_path)) { + ret = true ; } + free(resolved_path) ; } + return ret ; } bool isInUserOrTrickCode( clang::CompilerInstance & ci , clang::SourceLocation sl , HeaderSearchDirs & hsd ) { - clang::FileID fid = ci.getSourceManager().getFileID(sl) ; bool ret = false ; - if ( ! fid.isInvalid() ) { - const clang::FileEntry * fe = ci.getSourceManager().getFileEntryForID(fid) ; - if ( fe != NULL ) { -#if (LIBCLANG_MAJOR < 4) // TODO delete when RHEL 7 no longer supported - char * resolved_path = almostRealPath( fe->getName() ) ; -#else - char * resolved_path = almostRealPath( fe->getName().str() ) ; -#endif - if ( resolved_path != NULL ) { - if ( hsd.isPathInUserOrTrickDir(resolved_path)) { - ret = true ; - } - free(resolved_path) ; - } + char* resolved_path = getResolvedPath(ci, sl); + + if ( resolved_path != NULL ) { + if ( hsd.isPathInUserOrTrickDir(resolved_path)) { + ret = true ; } + free(resolved_path) ; } + return ret ; } std::string getFileName( clang::CompilerInstance & ci , clang::SourceLocation sl , HeaderSearchDirs & hsd ) { - clang::FileID fid = ci.getSourceManager().getFileID(sl) ; std::string file_name; - char* resolved_path; + char* resolved_path = getResolvedPath(ci, sl); + + if (resolved_path != NULL ) { + if (hsd.isPathInUserDir(resolved_path)) { + file_name.append(resolved_path); + } + free(resolved_path); + } + + return file_name; +} + +char * getResolvedPath(clang::CompilerInstance & ci , clang::SourceLocation sl) { + clang::FileID fid = ci.getSourceManager().getFileID(sl) ; + char* resolved_path = NULL; + if ( ! fid.isInvalid() ) { const clang::FileEntry * fe = ci.getSourceManager().getFileEntryForID(fid) ; if ( fe != NULL ) { #if (LIBCLANG_MAJOR < 4) // TODO delete when RHEL 7 no longer supported - char * resolved_path = almostRealPath( fe->getName() ) ; + resolved_path = almostRealPath( fe->getName() ) ; +#elif (LIBCLANG_MAJOR >= 4 && LIBCLANG_MAJOR < 18) + resolved_path = almostRealPath( fe->getName().str() ) ; #else - char * resolved_path = almostRealPath( fe->getName().str() ) ; + const clang::CustomizableOptional cfer = ci.getSourceManager().getFileEntryRefForID(fid) ; + if (cfer.has_value()) { + resolved_path = almostRealPath( cfer->getName().str() ) ; + } + #endif - if ( resolved_path != NULL and hsd.isPathInUserDir(resolved_path)) { - file_name.append(resolved_path); - } - free(resolved_path); } } - return file_name; + + return resolved_path; } #include diff --git a/trick_source/codegen/Interface_Code_Gen/Utilities.hh b/trick_source/codegen/Interface_Code_Gen/Utilities.hh index 6fcfe13d..90491c0c 100644 --- a/trick_source/codegen/Interface_Code_Gen/Utilities.hh +++ b/trick_source/codegen/Interface_Code_Gen/Utilities.hh @@ -21,7 +21,7 @@ bool isInUserOrTrickCode( clang::CompilerInstance & ci , clang::SourceLocation s std::string getFileName( clang::CompilerInstance & ci , clang::SourceLocation sl , HeaderSearchDirs & hsd ) ; char * almostRealPath( const std::string& in_path ) ; char * almostRealPath( const char * in_path ) ; - +char * getResolvedPath(clang::CompilerInstance & ci , clang::SourceLocation sl); std::string color(const Color& color, const std::string& text); std::string bold(const std::string& text); std::string underline(const std::string& text); diff --git a/trick_source/codegen/Interface_Code_Gen/main.cpp b/trick_source/codegen/Interface_Code_Gen/main.cpp index 84380329..41d26c4a 100644 --- a/trick_source/codegen/Interface_Code_Gen/main.cpp +++ b/trick_source/codegen/Interface_Code_Gen/main.cpp @@ -312,7 +312,7 @@ int main(int argc, char * argv[]) { #if (LIBCLANG_MAJOR >= 10 && LIBCLANG_MAJOR < 18) const clang::FileEntry* fileEntry = ci.getFileManager().getFile(inputFilePath).get(); #elif (LIBCLANG_MAJOR >= 18) - clang::FileEntryRef fileEntryRef = llvm::cantFail(ci.getFileManager().getFileRef(inputFilePath)); + const clang::FileEntryRef fileEntryRef = llvm::cantFail(ci.getFileManager().getFileRef(inputFilePath)); #else const clang::FileEntry* fileEntry = ci.getFileManager().getFile(inputFilePath); #endif From 5a5379b97539c628609358409129a919dec738cf Mon Sep 17 00:00:00 2001 From: Hong Chen Date: Tue, 15 Oct 2024 10:41:17 -0500 Subject: [PATCH 05/11] Added _swig_setattr_nondynamic_instance_variable function call back for struct and moved it to right after struct declaration instead of at the end of the swig interface file. (#1795) --- libexec/trick/convert_swig | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/libexec/trick/convert_swig b/libexec/trick/convert_swig index e3a08c38..b7ffe9c9 100755 --- a/libexec/trick/convert_swig +++ b/libexec/trick/convert_swig @@ -338,23 +338,6 @@ sub process_file() { print OUT "$contents\n" ; print OUT $global_template_typedefs ; - # Add _swig_setattr_nondynamic_instance_variable function for raising AttributeError for improper non-class attribute assingment in input processor. - # _swig_setattr_nondynamic_instance_variable function is added for each class in process_class subroutine. - foreach my $c ( @class_names ) { - if ( ! exists $class_typemap_printed{$c} ) { - my $c_ = $c ; - $c_ =~ s/\:/_/g ; - if ( $c !~ /::/ ) { - print OUT "\n#if SWIG_VERSION > 0x040000\n"; - print OUT "%pythoncode %{\n" ; - print OUT " if '$c' in globals():\n"; - print OUT " $c.__setattr__ = _swig_setattr_nondynamic_instance_variable(object.__setattr__)\n" ; - print OUT "%}\n" ; - print OUT "#endif\n"; - } - } - } - # Add a trick_cast_as macro line for each class parsed in the file. These lines must appear at the bottom of the # file to ensure they are not in a namespace directive and they are after the #define statements they depend on. undef %class_typemap_printed ; @@ -785,7 +768,7 @@ sub process_typedef_struct($$$$) { my ($typedef_struct_string , $contents_ref, $new_contents_ref , $class_names_ref) = @_ ; my $extracted ; - my ($tail , $struct_names, @struct_names) ; + my ($tail , $my_struct_contents, $struct_names, @struct_names) ; #print "*** typedef_struct_string = $typedef_struct_string ***\n" ; @@ -811,10 +794,12 @@ sub process_typedef_struct($$$$) { foreach my $s ( @struct_names ) { if ( $s !~ /\*/ ) { push @$class_names_ref , $s ; + # Add _swig_setattr_nondynamic_instance_variable function for raising AttributeError for improper struct attribute assingment in input processor + $my_struct_contents .= "\n#if SWIG_VERSION > 0x040000\n\%pythoncode \%{\n if '$s' in globals():\n $s.__setattr__ = _swig_setattr_nondynamic_instance_variable(object.__setattr__)\n\%}\n#endif\n" ; } } - $$new_contents_ref .= $extracted . $tail ; + $$new_contents_ref .= $extracted . $tail . $my_struct_contents ; } From b2403dcfc6ebbf0bfba1646136b0666d8f88b262 Mon Sep 17 00:00:00 2001 From: Mrockwell2 <120338765+Mrockwell2@users.noreply.github.com> Date: Tue, 15 Oct 2024 10:50:33 -0500 Subject: [PATCH 06/11] Fixed debug_pause semaphore name (#1793) --- trick_source/sim_services/DebugPause/DebugPause.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trick_source/sim_services/DebugPause/DebugPause.cpp b/trick_source/sim_services/DebugPause/DebugPause.cpp index b95bcbd2..91d4751e 100644 --- a/trick_source/sim_services/DebugPause/DebugPause.cpp +++ b/trick_source/sim_services/DebugPause/DebugPause.cpp @@ -68,7 +68,7 @@ int Trick::DebugPause::debug_pause_on() { debug_pause_flag = true ; - sem_name_stream << "itimersepmaphore_" << getpid() ; + sem_name_stream << "debugstepmaphore_" << getpid() ; sem_name = sem_name_stream.str() ; debug_sem = sem_open(sem_name.c_str(), O_CREAT, S_IRWXU , 0); From 7bc6ab74a88efb6636b5b55ebff169eafa2a5d7b Mon Sep 17 00:00:00 2001 From: bnwalla1 Date: Wed, 16 Oct 2024 14:37:48 -0500 Subject: [PATCH 07/11] added SIM_singlerigidbody (#1762) * added SIM_singlerigidbody * Removed a few sections in the README file * Removed the sims directory * Added shutdown job and made minor changes to body.cpp --------- Co-authored-by: Wallace --- .../SIM_singlerigidbody/Images/AccOmega.png | Bin 0 -> 1334 bytes .../SIM_singlerigidbody/Images/Angle.png | Bin 0 -> 3211 bytes .../Images/Angularvelocity.png | Bin 0 -> 3445 bytes .../Images/Centerofmass.png | Bin 0 -> 1890 bytes .../Images/EquationsofMotion.png | Bin 0 -> 7102 bytes .../SIM_singlerigidbody/Images/Force.png | Bin 0 -> 1647 bytes .../Images/ForceTorque.png | Bin 0 -> 886 bytes .../Images/ForceTorqueRemain.png | Bin 0 -> 3401 bytes .../SIM_singlerigidbody/Images/Inertia.png | Bin 0 -> 1863 bytes .../SIM_singlerigidbody/Images/Mass.png | Bin 0 -> 2065 bytes .../SIM_singlerigidbody/Images/MassMatrix.png | Bin 0 -> 2953 bytes .../SIM_singlerigidbody/Images/Position.png | Bin 0 -> 3476 bytes .../SIM_singlerigidbody/Images/Radius.png | Bin 0 -> 1696 bytes .../SIM_singlerigidbody/Images/Torque.png | Bin 0 -> 2917 bytes .../SIM_singlerigidbody/Images/Vectora.png | Bin 0 -> 1493 bytes .../SIM_singlerigidbody/Images/Velocity.png | Bin 0 -> 3279 bytes .../SIM_singlerigidbody/Images/koviz.png | Bin 0 -> 160434 bytes .../SIM_singlerigidbody/Images/trick-dp.png | Bin 0 -> 90375 bytes .../Modified_data/realtime.py | 12 + .../Modified_data/state_data.dr | 54 +++ trick_sims/SIM_singlerigidbody/README.md | 122 +++++++ .../SIM_singlerigidbody/RUN_test/input.py | 81 +++++ trick_sims/SIM_singlerigidbody/S_define | 32 ++ trick_sims/SIM_singlerigidbody/S_overrides.mk | 2 + .../models/include/body.hh | 78 +++++ .../SIM_singlerigidbody/models/src/body.cpp | 314 ++++++++++++++++++ .../models/src/body_shutdown.cpp | 14 + 27 files changed, 709 insertions(+) create mode 100644 trick_sims/SIM_singlerigidbody/Images/AccOmega.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/Angle.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/Angularvelocity.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/Centerofmass.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/EquationsofMotion.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/Force.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/ForceTorque.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/ForceTorqueRemain.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/Inertia.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/Mass.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/MassMatrix.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/Position.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/Radius.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/Torque.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/Vectora.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/Velocity.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/koviz.png create mode 100644 trick_sims/SIM_singlerigidbody/Images/trick-dp.png create mode 100644 trick_sims/SIM_singlerigidbody/Modified_data/realtime.py create mode 100644 trick_sims/SIM_singlerigidbody/Modified_data/state_data.dr create mode 100644 trick_sims/SIM_singlerigidbody/README.md create mode 100644 trick_sims/SIM_singlerigidbody/RUN_test/input.py create mode 100644 trick_sims/SIM_singlerigidbody/S_define create mode 100644 trick_sims/SIM_singlerigidbody/S_overrides.mk create mode 100644 trick_sims/SIM_singlerigidbody/models/include/body.hh create mode 100644 trick_sims/SIM_singlerigidbody/models/src/body.cpp create mode 100644 trick_sims/SIM_singlerigidbody/models/src/body_shutdown.cpp diff --git a/trick_sims/SIM_singlerigidbody/Images/AccOmega.png b/trick_sims/SIM_singlerigidbody/Images/AccOmega.png new file mode 100644 index 0000000000000000000000000000000000000000..b464863e605f13b082c3bf379ea2bd03df87e6c1 GIT binary patch literal 1334 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 XFAP~xc?6tu00000NkvXXu0mjfNHNzM literal 0 HcmV?d00001 diff --git a/trick_sims/SIM_singlerigidbody/Images/Centerofmass.png b/trick_sims/SIM_singlerigidbody/Images/Centerofmass.png new file mode 100644 index 0000000000000000000000000000000000000000..7ab5ebe778f10ed8d134ca79d8a21b75c7c48bf2 GIT binary patch literal 1890 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 literal 0 HcmV?d00001 diff --git a/trick_sims/SIM_singlerigidbody/Images/ForceTorque.png b/trick_sims/SIM_singlerigidbody/Images/ForceTorque.png new file mode 100644 index 0000000000000000000000000000000000000000..168af35f1e01a04834bc2637ae9ec8b0e27359b8 GIT binary patch literal 886 zcmV-+1Bv{JP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&0}Dw+K~!i%?V7zy za#0+|zdo4-E>RIi(NIf+3DzPlRul~lEfS(cWT;BYu7%BSR=dU|@o)zuZo z$H%{pv9U2~t&EY8k-Y2N-Q6LXOj2tR)H_v-lamvryStkreHj=SP&PL=DJn!JIxkfz zWu&ua*4Earx3`CfhX?j+YG`O+^)D|kETI#L1p7=+PY49 z<~?RGP>CO5sl&rV*ladjUS6_eeSIB$eSOrb4I!!b_ji_0Q&Urzn3%xy^fcUVciyAa zf{>J&Pj7E;c@q8o{b+4%rAQk>QffYRb#NT#fy~UMN07^rFfB2yhtftq!ceD*E~;8 zPcb_?%Z9tgwt=b&~3~@ALCBMOmy?E8CMUhWu9$FH(vZDa8ly8~57=QJp0!>;M1& M07*qoM6N<$f}cH^wEzGB literal 0 HcmV?d00001 diff --git a/trick_sims/SIM_singlerigidbody/Images/ForceTorqueRemain.png b/trick_sims/SIM_singlerigidbody/Images/ForceTorqueRemain.png new file mode 100644 index 0000000000000000000000000000000000000000..528594f014b4deb921d1a4c9c2908c603b5cbdaa GIT binary patch literal 3401 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 literal 0 HcmV?d00001 diff --git a/trick_sims/SIM_singlerigidbody/Images/MassMatrix.png b/trick_sims/SIM_singlerigidbody/Images/MassMatrix.png new file mode 100644 index 0000000000000000000000000000000000000000..884bdc4e97bf87cc568326bc79f63f9640864cb8 GIT binary patch literal 2953 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 literal 0 HcmV?d00001 diff --git a/trick_sims/SIM_singlerigidbody/Images/Position.png b/trick_sims/SIM_singlerigidbody/Images/Position.png new file mode 100644 index 0000000000000000000000000000000000000000..aec80ccdf63beda13477e080297d23433fd9dbd5 GIT binary patch literal 3476 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 P00000NkvXXu0mjf++DUM literal 0 HcmV?d00001 diff --git a/trick_sims/SIM_singlerigidbody/Images/Vectora.png b/trick_sims/SIM_singlerigidbody/Images/Vectora.png new file mode 100644 index 0000000000000000000000000000000000000000..e301c7c92bf1257ec1a0788aeafe8619958b2e33 GIT binary patch literal 1493 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 N002ovPDHLkV1gu+D^dUe literal 0 HcmV?d00001 diff --git a/trick_sims/SIM_singlerigidbody/Images/koviz.png b/trick_sims/SIM_singlerigidbody/Images/koviz.png new file mode 100644 index 0000000000000000000000000000000000000000..7e7605f7c0ec1f3669b09779a2777c50b9b00893 GIT binary patch literal 160434 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 XwCy*Qa?ezbW*U01I`SW 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 MNGOQsioW&yf1rcZb^rhX literal 0 HcmV?d00001 diff --git a/trick_sims/SIM_singlerigidbody/Images/trick-dp.png b/trick_sims/SIM_singlerigidbody/Images/trick-dp.png new file mode 100644 index 0000000000000000000000000000000000000000..a7880be983d6d1c21685717144597c4fe2075166 GIT binary patch literal 90375 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 UoD1<3JOi&s59IIX-qZ8`KVF;DU;qFB literal 0 HcmV?d00001 diff --git a/trick_sims/SIM_singlerigidbody/Modified_data/realtime.py b/trick_sims/SIM_singlerigidbody/Modified_data/realtime.py new file mode 100644 index 00000000..05daed29 --- /dev/null +++ b/trick_sims/SIM_singlerigidbody/Modified_data/realtime.py @@ -0,0 +1,12 @@ + +trick.frame_log_on() +trick.real_time_enable() +trick.exec_set_software_frame(0.033) +trick.itimer_enable() + +trick.exec_set_enable_freeze(True) +#trick.exec_set_freeze_command(True) + +#simControlPanel = trick.SimControlPanel() +#trick.add_external_application(simControlPanel) + diff --git a/trick_sims/SIM_singlerigidbody/Modified_data/state_data.dr b/trick_sims/SIM_singlerigidbody/Modified_data/state_data.dr new file mode 100644 index 00000000..ca5afb40 --- /dev/null +++ b/trick_sims/SIM_singlerigidbody/Modified_data/state_data.dr @@ -0,0 +1,54 @@ +global DR_GROUP_ID +global drg +try: + if DR_GROUP_ID >= 0: + DR_GROUP_ID += 1 +except NameError: + DR_GROUP_ID = 0 + drg = [] + +drg.append(trick.DRBinary("StateData")) +drg[DR_GROUP_ID].set_freq(trick.DR_Always) +drg[DR_GROUP_ID].set_cycle(0.10) +drg[DR_GROUP_ID].set_single_prec_only(False) +drg[DR_GROUP_ID].add_variable("dyn.body.force[0]") +drg[DR_GROUP_ID].add_variable("dyn.body.force[1]") +drg[DR_GROUP_ID].add_variable("dyn.body.force[2]") +drg[DR_GROUP_ID].add_variable("dyn.body.angle_force[0]") +drg[DR_GROUP_ID].add_variable("dyn.body.angle_force[1]") +drg[DR_GROUP_ID].add_variable("dyn.body.angle_force[2]") +drg[DR_GROUP_ID].add_variable("dyn.body.rotate[0][0]") +drg[DR_GROUP_ID].add_variable("dyn.body.rotate[0][1]") +drg[DR_GROUP_ID].add_variable("dyn.body.rotate[0][2]") +drg[DR_GROUP_ID].add_variable("dyn.body.rotate[1][0]") +drg[DR_GROUP_ID].add_variable("dyn.body.rotate[1][1]") +drg[DR_GROUP_ID].add_variable("dyn.body.rotate[1][2]") +drg[DR_GROUP_ID].add_variable("dyn.body.rotate[2][0]") +drg[DR_GROUP_ID].add_variable("dyn.body.rotate[2][1]") +drg[DR_GROUP_ID].add_variable("dyn.body.rotate[2][2]") +drg[DR_GROUP_ID].add_variable("dyn.body.pos[0]") +drg[DR_GROUP_ID].add_variable("dyn.body.pos[1]") +drg[DR_GROUP_ID].add_variable("dyn.body.pos[2]") +drg[DR_GROUP_ID].add_variable("dyn.body.angle[0]") +drg[DR_GROUP_ID].add_variable("dyn.body.angle[1]") +drg[DR_GROUP_ID].add_variable("dyn.body.angle[2]") +drg[DR_GROUP_ID].add_variable("dyn.body.vel[0]") +drg[DR_GROUP_ID].add_variable("dyn.body.vel[1]") +drg[DR_GROUP_ID].add_variable("dyn.body.vel[2]") +drg[DR_GROUP_ID].add_variable("dyn.body.acc[0]") +drg[DR_GROUP_ID].add_variable("dyn.body.acc[1]") +drg[DR_GROUP_ID].add_variable("dyn.body.acc[2]") +drg[DR_GROUP_ID].add_variable("dyn.body.omega[0]") +drg[DR_GROUP_ID].add_variable("dyn.body.omega[1]") +drg[DR_GROUP_ID].add_variable("dyn.body.omega[2]") +drg[DR_GROUP_ID].add_variable("dyn.body.omegaDot[0]") +drg[DR_GROUP_ID].add_variable("dyn.body.omegaDot[1]") +drg[DR_GROUP_ID].add_variable("dyn.body.omegaDot[2]") +drg[DR_GROUP_ID].add_variable("dyn.body.FORCE_INIT[0]") +drg[DR_GROUP_ID].add_variable("dyn.body.FORCE_INIT[1]") +drg[DR_GROUP_ID].add_variable("dyn.body.FORCE_INIT[2]") + + + +trick.add_data_record_group(drg[DR_GROUP_ID], trick.DR_Buffer) +drg[DR_GROUP_ID].enable() diff --git a/trick_sims/SIM_singlerigidbody/README.md b/trick_sims/SIM_singlerigidbody/README.md new file mode 100644 index 00000000..8de86906 --- /dev/null +++ b/trick_sims/SIM_singlerigidbody/README.md @@ -0,0 +1,122 @@ +# Single Rigid Body +``SIM_singlerigidbody`` is a simulation of the motion of a sphere that is a single rigid body with six degrees of freedom. + +The motion of the sphere is found by using Euler's equations of motion, and can be controlled by changing several initial input values such as force, position, angle, angular velocity, velocity, and position of the force. The recorded data of the motion can then be viewed and analyzed. + +## Dynamics model + +### Equations of Motion +To determine the sphere's motion, we will use Euler's equations of motion for a single rigid body. Euler's equations describe the combined translational and rotational dynamics of a rigid body in three-dimensional space. + +![Equations_of_motion](images\EquationsofMotion.png) + +Where, + +![Force_and_Torque_eq](images\ForceTorque.png) +* is a 6x1 column vector. +* F is the applied force. +* τ is the torque. + +![Mass_Matrix_eq](images\MassMatrix.png) +* is a 6x6 matrix. +* m is the mass. +* I 3x3 is the identity matrix. +* I is the inertia. +* C m is the center of mass. + +![Acceleration_Omega](images\AccOmega.png) +* is a 6x1 column vector. +* a o is the acceleration. + +![Force_Torque_Remain](images\ForceTorqueRemain.png) +* is a 6x1 column vector. +* ω A is the angular velocity. + + +#### Force +The force acting on the sphere is calculated by the cross product of the rotation matrix and initial force. + +![Force](images\Force.png) + +#### Torque +Torque is found by the cross product of the rotation matrix and the cross product of the position of force and initial force. + +![Torque](images\Torque.png) + +#### Mass +The default value of the mass of the sphere is: + +![Mass](images\Mass.png) + +#### Radius +The default value of the radius is: + +![Radius](images\Radius.png) + +#### Center of mass +The center of mass of a sphere is equal to its radius. + +![Center_of_mass](images\Centerofmass.png) + +#### Inertia +Inertia of a sphere is calculated by: + +![Inertia](images\Inertia.png) + +#### Acceleration and angular acceleration +To determine the acceleration and angular acceleration, ```dLU_Choleski``` must be used. ```dLU_Choleski``` solves linear sets of equations in the form of [A]x = b and returns the vector x, which is the acceleration. It decomposes the symmetric, positive definite [A] matrix into a lower triangular form, where we can then substitute and our equation becomes: + +![Vector_a](images\Vectora.png) + +The term 'a' is a 6x1 vector. Acceleration is equal to the first three values of vector a and angular acceleration is equal to the last three values of vector a. + +### State Integration +The state is defined by position, velocity, angle, and angular velocity. They are calculated by numerically integrating velocity, acceleration, angular velocity, and angular acceleration, respectively. + +#### Position +The position of the sphere is determined by integrating the velocity over time. + +![Position](images\Position.png) + +#### Velocity +The velocity is determined by integrating the acceleration of the sphere over time. + +![Velocity](images\Velocity.png) + +#### Angle +The angle is determined by integrating the angular velocity over time. + +![Angle](images\Angle.png) + +#### Angular velocity +The angular velocity is determined by integrating the angular acceleration over time. + +![Angular_Velocity](images\Angularvelocity.png) + + + +## Inputs + +Variable |Type |Units +----------------------------|-------------|--------- +dyn.body.POS_INIT |double[3] |m +dyn.body.ANGLE_INIT |double[3] |rad +dyn.body.OMEGA_INIT |double[3] |rad*s^-1 +dyn.body.FORCE_INIT |double[3] |N +dyn.body.TORQUE_INIT |double[3] |N*m +dyn.body.VEL_INIT |double[3] |m/s +dyn.body.POS_FORCE |double[3] |m + +## Outputs + +Variable |Type |Units +----------------------------|-------------|-------- +dyn.body.pos |double[3] |m +dyn.body.vel |double[3] |m/s +dyn.body.acc |double[3] |m/s^2 +dyn.FORCE_INIT |double[3] |N +dyn.force |double[3] |N +dyn.body.angle_force |double[3] |rad +dyn.body.omegaDot |double[3] |rad/^s2 +dyn.body.omega |double[3] |rad*s^-1 +dyn.body.rotate |double[3] | diff --git a/trick_sims/SIM_singlerigidbody/RUN_test/input.py b/trick_sims/SIM_singlerigidbody/RUN_test/input.py new file mode 100644 index 00000000..b4e8e739 --- /dev/null +++ b/trick_sims/SIM_singlerigidbody/RUN_test/input.py @@ -0,0 +1,81 @@ +################################################################################ +# _ ___ _ # +# / |___| _ ) ___ __| |_ _ # +# | |___| _ \/ _ \/ _` | || | # +# |_| |___/\___/\__,_|\_, | # +# __ ___ ___ __|__/ # +# / / ___| \ / _ \| __| # +# / _ \___| |) | (_) | _| # +# \___/ |___/ \___/|_| # +# # +# This input creates a simple body with 6 DOF: # +# -Creates 1 body # +# -Initializes 6 DOF # +################################################################################ + +# ============================================================================ - +# This file is used to store several quality of life python functions. +# ============================================================================ - +exec(open("Modified_data/state_data.dr").read()) +exec(open("Modified_data/realtime.py").read()) + +################################################################################ +# dyn DATA # +# (NOTE: dyn is our instance of BodySimObject) # +# This builds our objects, and defines their physical properties. # +################################################################################ + +# ============================================================================ - +# Establish the physical properties of the body...CONSTANTS! +# ============================================================================ - +dyn.body.mass = 20.0 +dyn.body.radius = 2.0 + +# ============================================================================ - +# Initialize system +# ============================================================================ - +M_PI = 3.141592653589793238460 + +#dyn.body.POS_INIT[0] = 0.0 +#dyn.body.POS_INIT[1] = 0.0 +#dyn.body.POS_INIT[2] = 0.0 + +#dyn.body.ANGLE_INIT[0] = 0.0 +#dyn.body.ANGLE_INIT[1] = 0.0 +#dyn.body.ANGLE_INIT[2] = 0.0 + +#dyn.body.OMEGA_INIT[0] = 0.0 +#dyn.body.OMEGA_INIT[1] = 0.0 +#dyn.body.OMEGA_INIT[2] = 0.0 + +#dyn.body.FORCE_INIT[0] = 0.0 +#dyn.body.FORCE_INIT[1] = 0.0 +#dyn.body.FORCE_INIT[2] = 10.0 + +#dyn.body.TORQUE_INIT[0] = 0.0 +#dyn.body.TORQUE_INIT[1] = 0.0 +#dyn.body.TORQUE_INIT[2] = 0.0 + +#dyn.body.VEL_INIT[0] = 0.0 +#dyn.body.VEL_INIT[1] = 0.0 +#dyn.body.VEL_INIT[2] = 0.0 + +#dyn.body.POS_FORCE[0] = 2.0 +#dyn.body.POS_FORCE[1] = 0.0 +#dyn.body.POS_FORCE[2] = 0.0 + +################################################################################ +# SIMULATION SET UP # +# This is where we set up the remaining inputs to create a working sim. # +################################################################################ + +# ============================================================================ - +# getintegrator(integration method, number of variables to be integrated) +# This sets up the integration scheme we use to analyze this system. +# ============================================================================ - +dyn_integloop.getIntegrator(trick.Runge_Kutta_4, 12) + +# ============================================================================ - +# This tells the sim to stop after a few seconds +# ============================================================================ - +trick.stop(10.0) diff --git a/trick_sims/SIM_singlerigidbody/S_define b/trick_sims/SIM_singlerigidbody/S_define new file mode 100644 index 00000000..89cc89b5 --- /dev/null +++ b/trick_sims/SIM_singlerigidbody/S_define @@ -0,0 +1,32 @@ +/************************TRICK HEADER************************* +PURPOSE: + ( Single body rigid dynamics simulation ) +LIBRARY DEPENDENCIES: + ((src/body.cpp) + (src/body_shutdown.cpp) + ) +*************************************************************/ +#define TRICK_NO_MONTE_CARLO +#define TRICK_NO_MASTERSLAVE +#define TRICK_NO_INSTRUMENTATION +#define TRICK_NO_REALTIMEINJECTOR +#define TRICK_NO_ZEROCONF + +#include "sim_objects/default_trick_sys.sm" +##include "include/body.hh" +class BodySimObject : public Trick::SimObject { + public: + BODY body; + + BodySimObject() { + ("default_data") body.default_data() ; + ("initialization") body.init() ; + ("derivative") body.derivative() ; + ("integration") trick_ret = body.integ() ; + ("shutdown") body.body_shutdown(); + } +}; + +BodySimObject dyn; +IntegLoop dyn_integloop(0.01) dyn; + diff --git a/trick_sims/SIM_singlerigidbody/S_overrides.mk b/trick_sims/SIM_singlerigidbody/S_overrides.mk new file mode 100644 index 00000000..e1f6cccd --- /dev/null +++ b/trick_sims/SIM_singlerigidbody/S_overrides.mk @@ -0,0 +1,2 @@ +TRICK_CFLAGS += -Imodels +TRICK_CXXFLAGS += -Imodels diff --git a/trick_sims/SIM_singlerigidbody/models/include/body.hh b/trick_sims/SIM_singlerigidbody/models/include/body.hh new file mode 100644 index 00000000..2508bb49 --- /dev/null +++ b/trick_sims/SIM_singlerigidbody/models/include/body.hh @@ -0,0 +1,78 @@ +/********************************************************************* +PURPOSE: (Simulate a single rigid body with six degrees of freedom) +LIBRARY DEPENDENCIES: + ((SingleRigidBody/src/body.o)) +*********************************************************************/ +#ifndef BODY_HH +#define BODY_HH + +class BODY { +public: + BODY(); + ~BODY(); + //Variables + + //Initializes state variables + double POS_INIT[3]; + double VEL_INIT[3]; + double ANGLE_INIT[3]; + double OMEGA_INIT[3]; + + //State variables + double pos[3]; + double vel[3]; + double angle[3]; + double omega[3]; + + double acc[3]; + double omegaDot[3]; + + double force[3]; + double FORCE_INIT[3]; + double force_remain[3]; + double POS_FORCE[3]; + + double torque[3]; + double TORQUE_INIT[3]; + double torque_remain[3]; + + double inertia; + double inertia_matrix[3][3]; + + double radius; + double mass; + double mat_mass[6][6]; + double massmatrix[3][3]; + + double CM[3]; + double CM_skew[3][3]; + double m_CM_skew[3][3]; + double neg_m_CM_skew[3][3]; + + double vec_a[6]; + double vec_b[6]; + + double rotate[3][3]; + double angle_force[3]; + + double tmp_vec[6]; + double **mat_mass_dyn; + double **mat_L; + + // Methods + void default_data(); + void init(); + void derivative(); + int integ(); + int body_shutdown(); + + void rotation_matrix(); + void calcforce(); + void calctorque(); + void calcforce_remain(); + void calctorque_remain(); + void eq_setup(); + void eq_solver(); +}; + +#endif diff --git a/trick_sims/SIM_singlerigidbody/models/src/body.cpp b/trick_sims/SIM_singlerigidbody/models/src/body.cpp new file mode 100644 index 00000000..7721ef44 --- /dev/null +++ b/trick_sims/SIM_singlerigidbody/models/src/body.cpp @@ -0,0 +1,314 @@ +/************************************************************************** +PURPOSE: (Test trick macros (matrix and vector) as well as trick functions + including euler_matrix, deuler_123, and dLU_Choleski. Perform a + single body motion with six degrees of freedom) +LIBRARY DEPENDENCIES: + ((src/body.o)) +**************************************************************************/ + +#include + +#include "trick/integrator_c_intf.h" +#include "trick/trick_math_proto.h" +#include "trick/trick_math_error.h" +#include "trick/reference_frame.h" +#include "trick/vector_macros.h" +#include "trick/matrix_macros.h" + +#include "../include/body.hh" + +BODY::BODY(){}; +BODY::~BODY(){}; + +/************************************************************************* +FUNCTION: SingleRigidBody::default_data() +PURPOSE:` (Creates an object) +*************************************************************************/ + +void BODY::default_data() { + + //Initializing vectors and matricies to zero. + + for(int i = 0; i<6; i++) + vec_a[i] = 0.0; + + + for(int i = 0; i<6; i++) + vec_b[i] = 0.0; + + + for(int i = 0; i<6; i++) + for(int j = 0; j<6; j++) + mat_mass[i][j] = 0.0; + V_INIT(pos); + V_INIT(vel); + V_INIT(acc); + V_INIT(force); + V_INIT(force_remain); + V_INIT(torque); + V_INIT(torque_remain); + V_INIT(angle); + V_INIT(omega); + V_INIT(omegaDot); + V_INIT(angle_force); + + M_INIT(CM_skew); + M_INIT(m_CM_skew); + M_INIT(massmatrix); + M_INIT(rotate); + + + // Inputs + mass = 20.0; + radius = 2.0; + + POS_INIT[0] = 0.0; + POS_INIT[1] = 0.0; + POS_INIT[2] = 0.0; + + ANGLE_INIT[0] = 0.0; + ANGLE_INIT[1] = 0.0; + ANGLE_INIT[2] = 0.0; + + OMEGA_INIT[0] = 0.0; + OMEGA_INIT[1] = 0.0; + OMEGA_INIT[2] = 0.0; + + FORCE_INIT[0] = 0.0; + FORCE_INIT[1] = 0.0; + FORCE_INIT[2] = 10.0; + + VEL_INIT[0] = 0.0; + VEL_INIT[1] = 0.0; + VEL_INIT[2] = 0.0; + + POS_FORCE[0] = 2.0; + POS_FORCE[1] = 0.0; + POS_FORCE[2] = 0.0; + +}; + +/************************************************************************ +FUNCTION: SingleRigidBody::init() +PURPOSE: (Initializing state variables, creating inertia and CoM skew + matrices) +************************************************************************/ + +void BODY::init() { + + V_COPY(pos, POS_INIT); + V_COPY(vel, VEL_INIT); + V_COPY(angle, ANGLE_INIT); + V_COPY(omega, OMEGA_INIT); + + // Center of mass skew matrix + V_INIT(CM); + + V_SKEW(CM_skew, CM); + + MxSCALAR(m_CM_skew, CM_skew, mass); + MxSCALAR(neg_m_CM_skew, m_CM_skew, -1.0); + + // Creates 3x3 matrix for inerta + inertia = (2.0/5.0) * mass * radius * radius; + inertia_matrix[0][0] = inertia_matrix[1][1] = inertia_matrix[2][2] = inertia; + + // Creates 3x3 matrix for mass + massmatrix[0][0] = massmatrix[1][1] = massmatrix[2][2] = mass; + + // Combines inertia, center of mass, and mass matrix into a 6x6 matrix + for(int i = 0; i<3; i++) + for(int j = 0; j<3; j++) + mat_mass[i][j] = massmatrix[i][j]; + + for(int i = 0; i<3; i++) + for(int j = 3; j<6; j++) + mat_mass[i][j] = neg_m_CM_skew[i][j-3]; + + for(int i = 3; i<6; i++) + for(int j = 0; j<3; j++) + mat_mass[i][j] = m_CM_skew[i-3][j]; + + for(int i = 3; i<6; i++) + for(int j = 3; j<6; j++) + mat_mass[i][j] = inertia_matrix[i-3][j-3]; + + // Temporary vector and dynamic memory for Choleski + for(int i = 0; i<6; i++) + tmp_vec[i] = 0.0; + + mat_L = new double*[6]; + mat_mass_dyn = new double*[6]; + +}; + +/***************************************************************************** +FUNCTION: BODY::rotation_matrix() +PURPOSE: (Calculates transformation matrix from provided angles) +*****************************************************************************/ +void BODY::rotation_matrix() { + + // euler_matrix outputs the rotate matrix from angle + euler_matrix(angle, rotate, 0, Roll_Pitch_Yaw); + +}; + +/****************************************************************************** +FUNCTION: BODY::calcforce() +PURPOSE: (Calculates force wrt inertial frame) +******************************************************************************/ +void BODY::calcforce() { + + MxV(force, rotate, FORCE_INIT); + +}; + +/***************************************************************************** +FUNCTION: BODY::calctorque() +PURPOSE: (Calculates torque wrt inertial frame) +*****************************************************************************/ +void BODY::calctorque() { + + double torque_force[3]; + + V_CROSS(torque_force, POS_FORCE, FORCE_INIT); + MxV(torque, rotate, torque_force); + +}; + +/**************************************************************************** +FUNCTION: BODY::calcforce_remain() +PURPOSE: (Calculate remaining force wrt inertial frame) +****************************************************************************/ +void BODY::calcforce_remain() { + + double cross1[3]; + double cross2[3]; + + V_CROSS(cross1, omega, CM); + V_CROSS(cross2, omega, cross1); + V_SCALE(force_remain, cross2, mass); + +}; + + +/*************************************************************************** +FUNCTION: BODY::calctorque_remain() +PURPOSE: (Calculate remaining torque wrt inertial frame) +***************************************************************************/ +void BODY::calctorque_remain() { + + double I_w[3]; + + MxV(I_w, inertia_matrix, omega); + V_CROSS(torque_remain, omega, I_w); + + +}; + +/*************************************************************************** +FUNCTION: BODY::eq_setup() +PURPOSE: (Establishes b column vector for final eq M*a=b) +***************************************************************************/ +void BODY::eq_setup() { + + double remainder_force[3]; + double remainder_torque[3]; + + // Subtracts remaining from force & torque to get vec_b. + V_SUB(remainder_force, force, force_remain); + V_SUB(remainder_torque, torque, torque_remain); + + for(int i = 0; i<3; i++){ + vec_b[i] = remainder_force[i]; + } + + for(int i = 3; i<6; i++){ + vec_b[i] = remainder_torque[i-3]; + } + +}; + +/************************************************************************** +FUNCTION: BODY::eq_solver() +PURPOSE: (Performs choleski decomposition and computes linear and angular + accelerations) +**************************************************************************/ + +void BODY::eq_solver() { + + // Solving a = b * M^-1 + + for(int i = 0; i<6; i++) + { + mat_mass_dyn[i] = mat_mass[i]; + mat_L[i] = new double[6]; + } + + dLU_Choleski(mat_mass_dyn, mat_L, tmp_vec, 6, vec_b, vec_a, 0); + + // Acceleration output + for(int i = 0; i<3; i++) + acc[i] = vec_a[i]; + + // Angular accleration output + for(int i = 0; i<3; i++) + omegaDot[i] = vec_a[i + 3]; + +}; + +/*************************************************************************** +FUNCTION: BODY::derivative() +PURPOSE: (Calls all functions in desired order for calculations) +***************************************************************************/ +void BODY::derivative() { + + rotation_matrix(); + calcforce(); + calctorque(); + calcforce_remain(); + calctorque_remain(); + eq_setup(); + eq_solver(); + +}; + +/*************************************************************************** +FUNCTION: BODY::integrate() +PURPOSE: (Sets up trick integration) +***************************************************************************/ + +int BODY::integ() { + + int integration_step; + + load_state( + &pos[0], &pos[1], &pos[2], + &vel[0], &vel[1], &vel[2], + &angle[0], &angle[1], &angle[2], + &omega[0], &omega[1], &omega[2], + + NULL); + + + load_deriv( + &vel[0], &vel[1], &vel[2], + &acc[0], &acc[1], &acc[2], + &omega[0], &omega[1], &omega[2], + &omegaDot[0], &omegaDot[1], &omegaDot[2], + + NULL); + + integration_step = integrate(); + + unload_state( + &pos[0], &pos[1], &pos[2], + &vel[0], &vel[1], &vel[2], + &angle[0], &angle[1], &angle[2], + &omega[0], &omega[1], &omega[2], + + NULL); + + return(integration_step); + +}; diff --git a/trick_sims/SIM_singlerigidbody/models/src/body_shutdown.cpp b/trick_sims/SIM_singlerigidbody/models/src/body_shutdown.cpp new file mode 100644 index 00000000..bd16d766 --- /dev/null +++ b/trick_sims/SIM_singlerigidbody/models/src/body_shutdown.cpp @@ -0,0 +1,14 @@ +/************************************************************************ +PURPOSE: (Shutdown the simulation) +*************************************************************************/ +#include "../include/body.hh" +#include "trick/exec_proto.h" + +int BODY::body_shutdown() { + + delete[] mat_mass_dyn; + delete[] mat_L; + + return 0; +}; + From 4f00d92d10ba64f12f10dad178684d2e1c4eec49 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Oct 2024 10:18:01 -0500 Subject: [PATCH 08/11] Bump cookie and express in /trick_source/web/dashboard (#1798) Bumps [cookie](https://github.com/jshttp/cookie) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together. Updates `cookie` from 0.6.0 to 0.7.1 - [Release notes](https://github.com/jshttp/cookie/releases) - [Commits](https://github.com/jshttp/cookie/compare/v0.6.0...v0.7.1) Updates `express` from 4.21.0 to 4.21.1 - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/4.21.1/History.md) - [Commits](https://github.com/expressjs/express/compare/4.21.0...4.21.1) --- updated-dependencies: - dependency-name: cookie dependency-type: indirect - dependency-name: express dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- trick_source/web/dashboard/package-lock.json | 298 ++++++++++--------- 1 file changed, 165 insertions(+), 133 deletions(-) diff --git a/trick_source/web/dashboard/package-lock.json b/trick_source/web/dashboard/package-lock.json index 513f2498..1afcd78b 100644 --- a/trick_source/web/dashboard/package-lock.json +++ b/trick_source/web/dashboard/package-lock.json @@ -6051,11 +6051,6 @@ "safe-buffer": "~5.1.1" } }, - "cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==" - }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", @@ -6906,6 +6901,11 @@ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" }, + "encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==" + }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -7883,16 +7883,16 @@ } }, "express": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", - "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.6.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -7925,17 +7925,10 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, - "call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "requires": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - } + "cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==" }, "debug": { "version": "2.6.9", @@ -7945,128 +7938,15 @@ "ms": "2.0.0" } }, - "encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==" - }, - "finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - } - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "requires": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==" - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "path-to-regexp": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" - }, - "qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "requires": { - "side-channel": "^1.0.6" - } - }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, - "serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", - "requires": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" - } - }, - "side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "requires": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - } } } }, @@ -8218,6 +8098,35 @@ "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" }, + "finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, "find-cache-dir": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", @@ -11901,6 +11810,11 @@ "fs-monkey": "^1.0.4" } }, + "merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==" + }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -13149,6 +13063,11 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "path-to-regexp": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" + }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -14225,6 +14144,61 @@ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" }, + "qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "requires": { + "side-channel": "^1.0.6" + }, + "dependencies": { + "call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + } + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + } + } + } + }, "querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -15206,6 +15180,53 @@ } } }, + "send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, "serialize-javascript": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", @@ -15274,6 +15295,17 @@ } } }, + "serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "requires": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + } + }, "set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", From 981deff397270c1dd0f1cdf25fa8238bde267e8b Mon Sep 17 00:00:00 2001 From: Pherring04 <158035107+Pherring04@users.noreply.github.com> Date: Tue, 22 Oct 2024 10:21:33 -0500 Subject: [PATCH 09/11] Taking CentOS to the glue factory (#1796) * Old yellering CentOS * CentOS is still haunting TrickOPs * Begone spirit of CentOS * CentOS's ghost has been laid to rest --- .github/workflows/docker.yml | 2 +- .github/workflows/python_tests_32.yml | 86 ------------------------ .github/workflows/python_tests_linux.yml | 24 ------- .github/workflows/report_linux.yml | 1 - .github/workflows/report_linux_py2.yml | 1 - .github/workflows/test_32.yml | 69 ------------------- .github/workflows/test_linux.yml | 25 ------- .github/workflows/test_linux_py2.yml | 1 - 8 files changed, 1 insertion(+), 208 deletions(-) delete mode 100644 .github/workflows/python_tests_32.yml delete mode 100644 .github/workflows/test_32.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index bfb20809..9b5d4e93 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -10,7 +10,7 @@ jobs: container: docker://nasatrick/${{matrix.container}}:latest strategy: matrix: - container: [trick_centos7, trick_centos8, trick_ubuntu1804] + container: [trick_ubuntu1804] steps: - name: run tests run: | diff --git a/.github/workflows/python_tests_32.yml b/.github/workflows/python_tests_32.yml deleted file mode 100644 index 74754de0..00000000 --- a/.github/workflows/python_tests_32.yml +++ /dev/null @@ -1,86 +0,0 @@ -name: Python Tests 32-bit - -on: - push: - # Temporarily disable all tests for Issue #1188. - branches-ignore: - - '**' - paths-ignore: - - 'docs/**' - - '.github/workflows/**' - - '!.github/workflows/python_tests_32.yml' - pull_request: - # Temporarily disable all tests for Issue #1188. - branches-ignore: - - '**' - -jobs: - trick_32bit: - runs-on: ubuntu-18.04 - container: docker://centos:7 - steps: - - name: Checkout repository - uses: actions/checkout@master - - name: Add yum repo - run: yum -y install epel-release.noarch && yum -y update - - name: Install python dependencies - run: yum install -y python3-venv python3 python3-pip python3-devel gcc - - name: Info - run: | - python3 --version - - name: Build Python environment - run: | - cd share/trick/pymods/trick - python3 -m venv .venv && . .venv/bin/activate && pip3 install -r requirements.txt - - name: Install dependency group - run: yum -y groupinstall "Development tools" && yum -y update - - name: Install other dependencies - run: > - yum remove -y swig && yum install -y llvm llvm-devel llvm-static clang clang-devel - bison flex gcc gcc-c++ libxml2-devel make cmake wget - ncurses-devel openmotif openmotif-devel python-devel perl - perl-Digest-MD5 swig3 zlib-devel glibc.x86_64 libxml2-devel.i686 - ncurses-devel.i686 zlib-devel.i686 python-libs.i686 - expat-2.1.0-10.el7_3.i686 glibc-devel-2.17-196.el7.i686 - glibc.i686 glibc-devel.i686 udunits2 udunits2-devel gtest-devel.i686 - java-11-openjdk java-11-openjdk-devel expat-devel.i686 - which gcc-gfortran git wget gsl-devel gtest-devel gsl-devel.i686 - maven udunits2 udunits2-devel zip python3-tkinter xorg-x11-server-Xvfb - - name: Symlink python - run: | - cd /usr/lib - ln -s ./libpython2.7.so.1.0 libpython2.7.so - - name: Install Udunits (32 bit) - run: | - cd / - curl --retry 4 -O https://artifacts.unidata.ucar.edu/repository/downloads-udunits/udunits-2.2.28.tar.gz - tar xfvz udunits-2.2.28.tar.gz - rm -rf udunits-2.2.28.tar.gz - cd udunits-2.2.28 - export CFLAGS="-m32" - ./configure - make - make install - - name: Install GTest (32 bit) - run: | - wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz - tar xfvz release-1.8.0.tar.gz - cd googletest-release-1.8.0/googletest - export CFLAGS="-m32" - export CXXFLAGS="-m32" - cmake . - make - make install - - name: Build Trick - run: | - yum -y update && yum clean all - export MAKEFLAGS=-j`nproc` - ./configure --without-hdf5 --enable-32bit - make - - name: Run civet tests - run: | - cd share/trick/pymods/trick/ - . .venv/bin/activate - ./run_tests.py - env: - TRICK_HOME: "${{ github.workspace }}" diff --git a/.github/workflows/python_tests_linux.yml b/.github/workflows/python_tests_linux.yml index 712a2b4c..63b47575 100644 --- a/.github/workflows/python_tests_linux.yml +++ b/.github/workflows/python_tests_linux.yml @@ -24,8 +24,6 @@ jobs: - { os: ubuntu, tag: 18.04, arch: debian } # EOL April 2023 - { os: ubuntu, tag: 20.04, arch: debian } # EOL April 2025 - { os: debian, tag: 10, arch: debian } # EOL 2024 - - { os: centos, tag: 7, arch: rhel } # EOL June 2024 - - { os: centos, tag: latest, arch: rhel } # 8 as of April 2020 # - { os: fedora, tag: latest, arch: rhel } # 31 as of April 2020 # - { os: fedora, tag: 33, arch: rhel } # feeling confident? # - { os: fedora, tag: rawhide, arch: rhel } # for thrill-seekers only @@ -102,13 +100,6 @@ jobs: - cfg: { os: debian } os_deps: >- openjdk-11-jdk -#-------- CentOS Only Dependencies ---------------- - - cfg: { os: centos } - pkg_mgr: yum - conf_pkg: yum -y install epel-release && yum -y update - os_deps: >- - libX11-devel - libXt-devel #-------- Fedora Only Dependencies ---------------- # - cfg: { os: fedora } # pkg_mgr: dnf @@ -123,21 +114,6 @@ jobs: install_gtest: cd /usr/src/gtest && cmake . && make && cp lib/libgtest* /usr/lib/ tag_deps: >- python3.8-dev - - cfg: { os: centos, tag: 7 } - tag_deps: >- - swig3 - python-devel - - cfg: { os: centos, tag: latest } - pkg_mgr: dnf - conf_pkg: > - sed -i -e "s|mirrorlist=|#mirrorlist=|g" -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-Linux-* && - dnf -y install epel-release && - dnf -y update && - dnf install -y 'dnf-command(config-manager)' && - dnf config-manager --enable powertools - tag_deps: >- - swig - python3-devel diffutils #-------- Job definition ---------------- runs-on: ubuntu-18.04 container: docker://${{matrix.cfg.os}}:${{matrix.cfg.tag}} diff --git a/.github/workflows/report_linux.yml b/.github/workflows/report_linux.yml index 668be883..907dc2b4 100644 --- a/.github/workflows/report_linux.yml +++ b/.github/workflows/report_linux.yml @@ -13,7 +13,6 @@ jobs: cfg: #-------- Operating Systems ---------------- - { os: ubuntu, tag: 22.04, arch: debian, arch_ver: 12 } - - { os: centos, tag: 7, arch: rhel, arch_ver: 7 } - { os: rockylinux, tag: 8, arch: rhel, arch_ver: 8 } - { os: oraclelinux, tag: 8, arch: rhel, arch_ver: 8 } python: [3] diff --git a/.github/workflows/report_linux_py2.yml b/.github/workflows/report_linux_py2.yml index d324d7b8..952e4a2a 100644 --- a/.github/workflows/report_linux_py2.yml +++ b/.github/workflows/report_linux_py2.yml @@ -13,7 +13,6 @@ jobs: cfg: #-------- Operating Systems ---------------- - { os: ubuntu, tag: 22.04, arch: debian, arch_ver: 12 } - - { os: centos, tag: 7, arch: rhel, arch_ver: 7 } - { os: rockylinux, tag: 8, arch: rhel, arch_ver: 8 } - { os: oraclelinux, tag: 8, arch: rhel, arch_ver: 8 } python: [2] diff --git a/.github/workflows/test_32.yml b/.github/workflows/test_32.yml deleted file mode 100644 index d96b7cfb..00000000 --- a/.github/workflows/test_32.yml +++ /dev/null @@ -1,69 +0,0 @@ -name: 32-bit - -on: - schedule: - - cron: '0 0 * * 0' - workflow_dispatch: - -jobs: - trick_32bit: - runs-on: ubuntu-latest - container: docker://centos:7 - steps: - - name: Add yum repo - run: yum -y install epel-release.noarch && yum -y update - - name: Install dependency group - run: yum -y groupinstall "Development tools" && yum -y update - - name: Install other dependencies - run: > - yum remove -y swig && yum install -y llvm llvm-devel llvm-static clang clang-devel - bison flex gcc gcc-c++ libxml2-devel make cmake wget - ncurses-devel openmotif openmotif-devel python-devel perl - perl-Digest-MD5 swig3 zlib-devel glibc.x86_64 libxml2-devel.i686 - ncurses-devel.i686 zlib-devel.i686 python-libs.i686 - expat-2.1.0-10.el7_3.i686 glibc-devel-2.17-196.el7.i686 - glibc.i686 glibc-devel.i686 udunits2 udunits2-devel gtest-devel.i686 - java-11-openjdk java-11-openjdk-devel expat-devel.i686 - which gcc-gfortran git wget gsl-devel gtest-devel gsl-devel.i686 - maven udunits2 udunits2-devel zip libgcc*i686 libstdc++*i686 glibc*i686 - - name: Symlink python - run: | - cd /usr/lib - ln -s ./libpython2.7.so.1.0 libpython2.7.so - - name: Install Udunits (32 bit) - run: | - cd / - curl --retry 4 -O https://artifacts.unidata.ucar.edu/repository/downloads-udunits/current/udunits-2.2.28.tar.gz - tar xfvz udunits-2.2.28.tar.gz - rm -rf udunits-2.2.28.tar.gz - cd udunits-2.2.28 - export CFLAGS="-m32" - ./configure - make - make install - - name: Install GTest (32 bit) - run: | - wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz - tar xfvz release-1.8.0.tar.gz - cd googletest-release-1.8.0/googletest - export CFLAGS="-m32" - export CXXFLAGS="-m32" - cmake . - make - make install - - name: Checkout repository - uses: actions/checkout@v3 - - name: Build Trick - run: | - yum -y update && yum clean all - export MAKEFLAGS=-j`nproc` - ./configure --without-hdf5 --enable-32bit - make - - name: Run tests - run: | - cd share/trick/trickops/ - yum install -y python3-devel - python3 -m venv .venv && . .venv/bin/activate && pip install --upgrade pip && pip3 install -r requirements.txt - cd ../../../ - echo $MAKEFLAGS $CXXFLAGS $CFLAGS - make test32 diff --git a/.github/workflows/test_linux.yml b/.github/workflows/test_linux.yml index 135501b7..17e587a7 100644 --- a/.github/workflows/test_linux.yml +++ b/.github/workflows/test_linux.yml @@ -23,7 +23,6 @@ jobs: cfg: #-------- Operating Systems ---------------- - { os: ubuntu, tag: 22.04, arch: debian, arch_ver: 12 } - - { os: centos, tag: 7, arch: rhel, arch_ver: 7 } - { os: rockylinux, tag: 8, arch: rhel, arch_ver: 8 } - { os: oraclelinux, tag: 8, arch: rhel, arch_ver: 8 } python: [3] @@ -95,30 +94,6 @@ jobs: zlib-devel python2-devel python3-devel -#-------- RHEL 7-based Only Dependencies ---------------- - - cfg: { arch: rhel, arch_ver: 7 } - pkg_mgr: yum - conf_pkg: | - sed -i -e "s|mirrorlist=|#mirrorlist=|g" -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-* && - yum -y install epel-release - yum -y update - yum -y install wget - os_deps: >- - libX11-devel - libXt-devel - swig3 - install_gtest: | - cd /tmp - wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz - tar xzvf release-1.8.0.tar.gz - cd /tmp/googletest-release-1.8.0/googletest - cmake . - make - make install - cd /tmp/googletest-release-1.8.0/googlemock - cmake . - make - make install #-------- RHEL 8-based Only Dependencies ---------------- - cfg: { arch: rhel, arch_ver: 8 } pkg_mgr: dnf diff --git a/.github/workflows/test_linux_py2.yml b/.github/workflows/test_linux_py2.yml index f14fc1c4..ce2ef9bb 100644 --- a/.github/workflows/test_linux_py2.yml +++ b/.github/workflows/test_linux_py2.yml @@ -13,7 +13,6 @@ jobs: cfg: #-------- Operating Systems ---------------- - { os: ubuntu, tag: 22.04, arch: debian, arch_ver: 12 } - - { os: centos, tag: 7, arch: rhel, arch_ver: 7 } - { os: rockylinux, tag: 8, arch: rhel, arch_ver: 8 } - { os: oraclelinux, tag: 8, arch: rhel, arch_ver: 8 } python: [2] From 419b204c906c5f839d457a4b05dee95132c4fc08 Mon Sep 17 00:00:00 2001 From: Pherring04 <158035107+Pherring04@users.noreply.github.com> Date: Tue, 22 Oct 2024 10:36:01 -0500 Subject: [PATCH 10/11] Added TRICKIFY_EXT_LIB_DIRS env variable (#1756) --- share/trick/makefiles/trickify.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/trick/makefiles/trickify.mk b/share/trick/makefiles/trickify.mk index 9f2ab8c9..68aa90e8 100644 --- a/share/trick/makefiles/trickify.mk +++ b/share/trick/makefiles/trickify.mk @@ -115,7 +115,7 @@ TRICK_CFLAGS += $(TRICKIFY_CXX_FLAGS) TRICK_CXXFLAGS += $(TRICKIFY_CXX_FLAGS) # Ensure we can process all headers -TRICK_EXT_LIB_DIRS := +TRICK_EXT_LIB_DIRS := $(TRICKIFY_EXT_LIB_DIRS) .PHONY: all all: $(TRICKIFY_OBJECT_NAME) $(TRICKIFY_PYTHON_DIR) From a352c821f40ab912212751ca53b1ba7a62c36304 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 10:27:45 -0500 Subject: [PATCH 11/11] Bump http-proxy-middleware in /trick_source/web/dashboard (#1800) Bumps [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) from 2.0.6 to 2.0.7. - [Release notes](https://github.com/chimurai/http-proxy-middleware/releases) - [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v2.0.7/CHANGELOG.md) - [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7) --- updated-dependencies: - dependency-name: http-proxy-middleware dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- trick_source/web/dashboard/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/trick_source/web/dashboard/package-lock.json b/trick_source/web/dashboard/package-lock.json index 1afcd78b..b720d426 100644 --- a/trick_source/web/dashboard/package-lock.json +++ b/trick_source/web/dashboard/package-lock.json @@ -9244,9 +9244,9 @@ } }, "http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", "requires": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1",