diff --git a/s2e-ff/CMakeLists.txt b/s2e-ff/CMakeLists.txt index f34412ae..30abad3a 100644 --- a/s2e-ff/CMakeLists.txt +++ b/s2e-ff/CMakeLists.txt @@ -50,7 +50,6 @@ set(SOURCE_FILES src/components/aocs/relative_position_sensor.cpp src/components/aocs/initialize_relative_position_sensor.cpp src/components/aocs/relative_attitude_sensor.cpp - src/components/aocs/initialize_relative_attitude_sensor.cpp src/components/aocs/relative_velocity_sensor.cpp src/components/aocs/initialize_relative_velocity_sensor.cpp src/components/aocs/laser_distance_meter.cpp diff --git a/s2e-ff/src/components/aocs/initialize_relative_attitude_sensor.cpp b/s2e-ff/src/components/aocs/initialize_relative_attitude_sensor.cpp deleted file mode 100644 index 4e5d8032..00000000 --- a/s2e-ff/src/components/aocs/initialize_relative_attitude_sensor.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @file initialize_relative_attitude_sensor.cpp - * @brief Initialize function for RelativeAttitudeSensor - */ - -#include "initialize_relative_attitude_sensor.hpp" - -#include -#include - -RelativeAttitudeSensor InitializeRelativeAttitudeSensor(ClockGenerator* clock_gen, const std::string file_name, const double compo_step_time_s, - const RelativeInformation& rel_info, const Dynamics& dynamics, - const int reference_sat_id_input) { - // General - IniAccess ini_file(file_name); - char section[30] = "RELATIVE_ATTITUDE_SENSOR"; - - // CompoBase - int prescaler = ini_file.ReadInt(section, "prescaler"); - if (prescaler <= 1) prescaler = 1; - - // RelativeAttitudeSensor - int target_sat_id = ini_file.ReadInt(section, "target_sat_id"); - int reference_sat_id = ini_file.ReadInt(section, "reference_sat_id"); - if (reference_sat_id < 0) { - reference_sat_id = reference_sat_id_input; - } - - // SensorBase - Sensor<3> sensor_base = ReadSensorInformation<3>(file_name, compo_step_time_s * (double)(prescaler), section, "rad"); - - RelativeAttitudeSensor relative_attitude_sensor(prescaler, clock_gen, sensor_base, target_sat_id, reference_sat_id, rel_info, dynamics); - - return relative_attitude_sensor; -} diff --git a/s2e-ff/src/components/aocs/initialize_relative_attitude_sensor.hpp b/s2e-ff/src/components/aocs/initialize_relative_attitude_sensor.hpp deleted file mode 100644 index 25cf7ee7..00000000 --- a/s2e-ff/src/components/aocs/initialize_relative_attitude_sensor.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/** - * @file initialize_relative_attitude_sensor.hpp - * @brief Initialize function for RelativeAttitudeSensor - */ - -#ifndef S2E_COMPONENTS_AOCS_INITIALIZE_RELATIVE_ATTITUDE_SENSOR_HPP_ -#define S2E_COMPONENTS_AOCS_INITIALIZE_RELATIVE_ATTITUDE_SENSOR_HPP_ - -#include "relative_attitude_sensor.hpp" - -/** - * @fn InitializeRelativeAttitudeSensor - * @brief Initialize function - */ -RelativeAttitudeSensor InitializeRelativeAttitudeSensor(ClockGenerator* clock_gen, const std::string file_name, const double compo_step_time_s, - const RelativeInformation& rel_info, const Dynamics& dynamics, - const int reference_sat_id_input = -1); - -#endif // S2E_COMPONENTS_AOCS_INITIALIZE_RELATIVE_ATTITUDE_SENSOR_HPP_ diff --git a/s2e-ff/src/components/aocs/relative_attitude_sensor.cpp b/s2e-ff/src/components/aocs/relative_attitude_sensor.cpp index 16d756a7..bc4a1723 100644 --- a/s2e-ff/src/components/aocs/relative_attitude_sensor.cpp +++ b/s2e-ff/src/components/aocs/relative_attitude_sensor.cpp @@ -5,6 +5,9 @@ #include "relative_attitude_sensor.hpp" +#include +#include + RelativeAttitudeSensor::RelativeAttitudeSensor(const int prescaler, ClockGenerator* clock_gen, Sensor& sensor_base, const int target_sat_id, const int reference_sat_id, const RelativeInformation& rel_info, const Dynamics& dynamics) : Component(prescaler, clock_gen), @@ -45,3 +48,29 @@ std::string RelativeAttitudeSensor::GetLogValue() const { return str_tmp; } + +RelativeAttitudeSensor InitializeRelativeAttitudeSensor(ClockGenerator* clock_gen, const std::string file_name, const double compo_step_time_s, + const RelativeInformation& rel_info, const Dynamics& dynamics, + const int reference_sat_id_input) { + // General + IniAccess ini_file(file_name); + char section[30] = "RELATIVE_ATTITUDE_SENSOR"; + + // CompoBase + int prescaler = ini_file.ReadInt(section, "prescaler"); + if (prescaler <= 1) prescaler = 1; + + // RelativeAttitudeSensor + int target_sat_id = ini_file.ReadInt(section, "target_sat_id"); + int reference_sat_id = ini_file.ReadInt(section, "reference_sat_id"); + if (reference_sat_id < 0) { + reference_sat_id = reference_sat_id_input; + } + + // SensorBase + Sensor<3> sensor_base = ReadSensorInformation<3>(file_name, compo_step_time_s * (double)(prescaler), section, "rad"); + + RelativeAttitudeSensor relative_attitude_sensor(prescaler, clock_gen, sensor_base, target_sat_id, reference_sat_id, rel_info, dynamics); + + return relative_attitude_sensor; +} diff --git a/s2e-ff/src/components/aocs/relative_attitude_sensor.hpp b/s2e-ff/src/components/aocs/relative_attitude_sensor.hpp index 8bd26bb0..5a2df3ea 100644 --- a/s2e-ff/src/components/aocs/relative_attitude_sensor.hpp +++ b/s2e-ff/src/components/aocs/relative_attitude_sensor.hpp @@ -68,4 +68,8 @@ class RelativeAttitudeSensor : public Component, public Sensor<3>, public ILogga const Dynamics& dynamics_; //!< Dynamics }; +RelativeAttitudeSensor InitializeRelativeAttitudeSensor(ClockGenerator* clock_gen, const std::string file_name, const double compo_step_time_s, + const RelativeInformation& rel_info, const Dynamics& dynamics, + const int reference_sat_id_input = -1); + #endif // S2E_COMPONENTS_AOCS_RELATIVE_ATTITUDE_SENSOR_HPP_ diff --git a/s2e-ff/src/simulation/spacecraft/ff_components.hpp b/s2e-ff/src/simulation/spacecraft/ff_components.hpp index 5b256493..5f463e33 100644 --- a/s2e-ff/src/simulation/spacecraft/ff_components.hpp +++ b/s2e-ff/src/simulation/spacecraft/ff_components.hpp @@ -16,11 +16,11 @@ #include #include -#include "../../components/aocs/initialize_relative_attitude_sensor.hpp" #include "../../components/aocs/initialize_relative_distance_sensor.hpp" #include "../../components/aocs/initialize_relative_position_sensor.hpp" #include "../../components/aocs/initialize_relative_velocity_sensor.hpp" #include "../../components/aocs/laser_distance_meter.hpp" +#include "../../components/aocs/relative_attitude_sensor.hpp" #include "../../components/ideal/initialize_relative_attitude_controller.hpp" /**