diff --git a/README.md b/README.md index b9c85dc53df5e06957dcd29e669fca1786bb6a74..c217e932b2b135e53b6d862c135a547525fb5647 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,51 @@ # Common -This folder contains all the motors and the list of the rockets available in this submodule. +Common is a **submodule** of msa-toolkit repository. + +A **submodule** is a separated repo, with its own commits and history, of your main project. It is shown as a subdirectory of the main repo, but technically is not just a subdirectory. This is due to the fact that the submodule and the repo are treated separately. + +For example, the main repo we are going to use is `msa-toolkit`. This repo has a submodule which is `common` in which are stored all the common files, data and functions used among the departments. + +> [!WARNING] +> When working on main repo msa-toolkit be sure on what branch/commit is your submodule checked out. Data and results may be different on simulation if submodule is not updated to latest version! + + +## Submodule architecture + +The submodule is divided into four main folders: + + * **classes**: in this folder you can find the classes over which are defined methods and variables. They are the "kernel" of the toolkit. + * **functions**: here you can find all the functions to make msa toolkits working; there are plenty of functions, from ode functions to functions which generates standardized plots for reports. + * **missions**: here all the missions together with all data are stored. By opening `missionConfig.m` you can choose the mission. + + ```matlab + mission = Mission(); + mission.name = '2025_Orion_Portugal_October'; + ``` + * **settings**: this folder only contains `odeConfig.m`, which contains ODE settings. +>[!CAUTION] +> Don't touch `odeConfig.m` if you don't know what you're doing, from this configuration file depend ode-based script, such ad ballistic.m, and so all the toolkits!. + +Inside the mission folder, you can find all the missions and their data and configurations file. Each folder has the name of the mission in a specific format/order. This format is the one you have to use when speficing the mission in `missionConfig.m`. + +```matlab +% YEAR_ROCKETNAME_LOCATION_MONTH +mission.name = '2025_Orion_Portugal_October'; +``` +Inside this folder you will find: + +* config: there are four files of config: + + * `environmentConfig.m`: it sets environmental variables for the launch and they are indipendent from the rocket itself (latitude, longitude, ...) + * `paraConfig.m`: configs for all parachutes onboard of both main and parafoil + * `rocketConfig.m`: general parameters of the rocket divided for each bay (nose, parafoil, recovery, ...) + * `windConfig.m`: wind custom and wind matlab configs +* data: all the `.mat` files are stored; the collect all the data which will be used by toolkits + +>[!NOTE] +> Classes were introduced during the 2024 refactoring of the toolkit! This new architecture enhances robustness, automation, and includes auto-generated documentation for classes. + +# Projects ## Constellation programme ### 2025