From be8af355cd15bdbe8bca3014db79641ed3ebdd4b Mon Sep 17 00:00:00 2001
From: giuliaghirardini <giuliaghirardini2001@gmail.com>
Date: Tue, 20 Feb 2024 15:24:05 +0100
Subject: [PATCH] [code-refactoring][missions] created aerodynamicsConfig and
 updated engineConfig, settingsConfig

- wip for flags
- {settingsConfig} changed features struct into settings
---
 .../config/aerodynamicsConfig.m               | 39 +++++++++++++++++++
 .../config/engineConfig.m                     |  2 +
 .../config/settingsConfig.m                   |  4 +-
 3 files changed, 44 insertions(+), 1 deletion(-)
 create mode 100644 missions/2024_Lyra_Roccaraso_September/config/aerodynamicsConfig.m

diff --git a/missions/2024_Lyra_Roccaraso_September/config/aerodynamicsConfig.m b/missions/2024_Lyra_Roccaraso_September/config/aerodynamicsConfig.m
new file mode 100644
index 0000000..853f316
--- /dev/null
+++ b/missions/2024_Lyra_Roccaraso_September/config/aerodynamicsConfig.m
@@ -0,0 +1,39 @@
+% CONFIG - This script sets up control parameters
+
+%% AERODYNAMICS DETAILS
+% These coefficients are obtained using MISSILE DATCOM, check simulator/README.md for further details.
+
+features = loadConfig("settingsConfig.m");
+
+if not(isfield(aerodynamics,'autoMatProt_flag')) || features.flags.autoMatProt
+    
+    % Coefficients
+    Coeffs = load(filename_coeffs);
+    aerodynamics.Coeffs = Coeffs.CoeffsTot;
+
+    % Geometry
+    aerodynamics.Geometry = Coeffs.Geometry;
+    aerodynamics.Geometry.xcg = Coeffs.Geometry.xcg';
+
+    % State
+    aerodynamics.State.Alphas = Coeffs.State.Alphas';
+    aerodynamics.State.Betas = Coeffs.State.Betas';
+    aerodynamics.State.Altitudes = Coeffs.State.Altitudes';
+    aerodynamics.State.Machs = Coeffs.State.Machs';
+    aerodynamics.State.Controls = Coeffs.State.hprot';
+    aerodynamics.State.xcgTime = Coeffs.State.xcgTime';
+    clear('Coeffs');
+
+    CoeffHighAOA = load('HighAOA.mat'); 
+    aerodynamics.highAOA.Coeffs = CoeffHighAOA.CoeffsTot; 
+    aerodynamics.highAOA.State.Alphas = CoeffHighAOA.State.Alphas';
+    aerodynamics.highAOA.State.Betas = CoeffHighAOA.State.Betas'; 
+    aerodynamics.highAOA.State.Altitudes = CoeffHighAOA.State.Altitudes'; 
+    aerodynamics.highAOA.State.Machs = CoeffHighAOA.State.Machs';
+    aerodynamics.highAOA.State.Controls = CoeffHighAOA.State.hprot';
+    aerodynamics.highAOA.State.xcgTime = CoeffHighAOA.State.xcgTime';
+    clear('CoeffHighAOA');
+
+    aerodynamics.highAOA.tb = aerodynamics.tb; 
+    aerodynamics.highAOA.timeEngineCut = aerodynamics.timeEngineCut; 
+end
\ No newline at end of file
diff --git a/missions/2024_Lyra_Roccaraso_September/config/engineConfig.m b/missions/2024_Lyra_Roccaraso_September/config/engineConfig.m
index b47c217..158e439 100644
--- a/missions/2024_Lyra_Roccaraso_September/config/engineConfig.m
+++ b/missions/2024_Lyra_Roccaraso_September/config/engineConfig.m
@@ -4,3 +4,5 @@ engine.name = 'HRE_FURIA-Rv2-T04T03';
 engine.burnTime = inf;                                 % [s] Burn duration
 engine.ignitionTime = 000; %0.4;                       % [s] Ignition transient
 engine.cutOffTime = 000; %0.3;                         % [s] Cut-off transient
+
+filename_coeffs = strcat(engine.name, '.mat');
\ No newline at end of file
diff --git a/missions/2024_Lyra_Roccaraso_September/config/settingsConfig.m b/missions/2024_Lyra_Roccaraso_September/config/settingsConfig.m
index 0044a9b..a6970da 100644
--- a/missions/2024_Lyra_Roccaraso_September/config/settingsConfig.m
+++ b/missions/2024_Lyra_Roccaraso_September/config/settingsConfig.m
@@ -4,4 +4,6 @@
 % mission (e.g. whether a specific algorithm is used, the engine type, 
 % flags...)
 
-features.engineType = 'hybrid';      % [-] choices are: solid, hybrid
\ No newline at end of file
+settings.engineType = 'hybrid';      % [-] choices are: solid, hybrid
+
+settings.flags.autoMatProt = false;
\ No newline at end of file
-- 
GitLab