v1.16.0 #323
@ -1,3 +1,4 @@
|
|||||||
|
#include <mission/system/objects/AcsSubsystem.h>
|
||||||
#include "ObjectFactory.h"
|
#include "ObjectFactory.h"
|
||||||
|
|
||||||
#include "OBSWConfig.h"
|
#include "OBSWConfig.h"
|
||||||
@ -233,7 +234,7 @@ void ObjectFactory::createRadSensorComponent(LinuxLibgpioIF* gpioComIF) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, UartComIF* uartComIF,
|
void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, UartComIF* uartComIF,
|
||||||
PowerSwitchIF* pwrSwitcher) {
|
PowerSwitchIF* pwrSwitcher, object_id_t acsSubsystemId) {
|
||||||
using namespace gpio;
|
using namespace gpio;
|
||||||
GpioCookie* gpioCookieAcsBoard = new GpioCookie();
|
GpioCookie* gpioCookieAcsBoard = new GpioCookie();
|
||||||
|
|
||||||
@ -477,7 +478,7 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, UartComI
|
|||||||
objects::MGM_0_LIS3_HANDLER, objects::MGM_1_RM3100_HANDLER, objects::MGM_2_LIS3_HANDLER,
|
objects::MGM_0_LIS3_HANDLER, objects::MGM_1_RM3100_HANDLER, objects::MGM_2_LIS3_HANDLER,
|
||||||
objects::MGM_3_RM3100_HANDLER, objects::GYRO_0_ADIS_HANDLER, objects::GYRO_1_L3G_HANDLER,
|
objects::MGM_3_RM3100_HANDLER, objects::GYRO_0_ADIS_HANDLER, objects::GYRO_1_L3G_HANDLER,
|
||||||
objects::GYRO_2_ADIS_HANDLER, objects::GYRO_3_L3G_HANDLER, objects::GPS_CONTROLLER);
|
objects::GYRO_2_ADIS_HANDLER, objects::GYRO_3_L3G_HANDLER, objects::GPS_CONTROLLER);
|
||||||
auto acsAss = new AcsBoardAssembly(objects::ACS_BOARD_ASS, objects::NO_OBJECT, pwrSwitcher,
|
auto acsAss = new AcsBoardAssembly(objects::ACS_BOARD_ASS, acsSubsystemId, pwrSwitcher,
|
||||||
acsBoardHelper, gpioComIF);
|
acsBoardHelper, gpioComIF);
|
||||||
static_cast<void>(acsAss);
|
static_cast<void>(acsAss);
|
||||||
#endif /* OBSW_ADD_ACS_HANDLERS == 1 */
|
#endif /* OBSW_ADD_ACS_HANDLERS == 1 */
|
||||||
@ -885,7 +886,7 @@ void ObjectFactory::createStrComponents(PowerSwitchIF* pwrSwitcher) {
|
|||||||
starTracker->setPowerSwitcher(pwrSwitcher);
|
starTracker->setPowerSwitcher(pwrSwitcher);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ObjectFactory::createImtqComponents(PowerSwitchIF* pwrSwitcher) {
|
void ObjectFactory::createImtqComponents(PowerSwitchIF* pwrSwitcher, object_id_t acsSubsystem) {
|
||||||
I2cCookie* imtqI2cCookie =
|
I2cCookie* imtqI2cCookie =
|
||||||
new I2cCookie(addresses::IMTQ, IMTQ::MAX_REPLY_SIZE, q7s::I2C_DEFAULT_DEV);
|
new I2cCookie(addresses::IMTQ, IMTQ::MAX_REPLY_SIZE, q7s::I2C_DEFAULT_DEV);
|
||||||
auto imtqHandler = new IMTQHandler(objects::IMTQ_HANDLER, objects::I2C_COM_IF, imtqI2cCookie,
|
auto imtqHandler = new IMTQHandler(objects::IMTQ_HANDLER, objects::I2C_COM_IF, imtqI2cCookie,
|
||||||
|
@ -28,9 +28,9 @@ void createPlPcduComponents(LinuxLibgpioIF* gpioComIF, SpiComIF* spiComIF,
|
|||||||
void createTmpComponents();
|
void createTmpComponents();
|
||||||
void createRadSensorComponent(LinuxLibgpioIF* gpioComIF);
|
void createRadSensorComponent(LinuxLibgpioIF* gpioComIF);
|
||||||
void createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, UartComIF* uartComIF,
|
void createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, UartComIF* uartComIF,
|
||||||
PowerSwitchIF* pwrSwitcher);
|
PowerSwitchIF* pwrSwitcher, object_id_t acsSubsystemId);
|
||||||
void createHeaterComponents(GpioIF* gpioIF, PowerSwitchIF* pwrSwitcher, HealthTableIF* healthTable);
|
void createHeaterComponents(GpioIF* gpioIF, PowerSwitchIF* pwrSwitcher, HealthTableIF* healthTable);
|
||||||
void createImtqComponents(PowerSwitchIF* pwrSwitcher);
|
void createImtqComponents(PowerSwitchIF* pwrSwitcher, object_id_t subsystemId);
|
||||||
void createBpxBatteryComponent();
|
void createBpxBatteryComponent();
|
||||||
void createStrComponents(PowerSwitchIF* pwrSwitcher);
|
void createStrComponents(PowerSwitchIF* pwrSwitcher);
|
||||||
void createSolarArrayDeploymentComponents();
|
void createSolarArrayDeploymentComponents();
|
||||||
|
@ -31,7 +31,7 @@ void ObjectFactory::produce(void* args) {
|
|||||||
createSunSensorComponents(gpioComIF, spiMainComIF, pwrSwitcher, q7s::SPI_DEFAULT_DEV);
|
createSunSensorComponents(gpioComIF, spiMainComIF, pwrSwitcher, q7s::SPI_DEFAULT_DEV);
|
||||||
|
|
||||||
#if OBSW_ADD_ACS_BOARD == 1
|
#if OBSW_ADD_ACS_BOARD == 1
|
||||||
createAcsBoardComponents(gpioComIF, uartComIF, pwrSwitcher);
|
createAcsBoardComponents(gpioComIF, uartComIF, pwrSwitcher, objects::ACS_SUBSYSTEM);
|
||||||
#endif
|
#endif
|
||||||
createHeaterComponents(gpioComIF, pwrSwitcher, healthTable);
|
createHeaterComponents(gpioComIF, pwrSwitcher, healthTable);
|
||||||
createSolarArrayDeploymentComponents();
|
createSolarArrayDeploymentComponents();
|
||||||
@ -43,7 +43,7 @@ void ObjectFactory::produce(void* args) {
|
|||||||
createPayloadComponents(gpioComIF);
|
createPayloadComponents(gpioComIF);
|
||||||
|
|
||||||
#if OBSW_ADD_MGT == 1
|
#if OBSW_ADD_MGT == 1
|
||||||
createImtqComponents(pwrSwitcher);
|
createImtqComponents(pwrSwitcher, objects::ACS_SUBSYSTEM);
|
||||||
#endif
|
#endif
|
||||||
createReactionWheelComponents(gpioComIF, pwrSwitcher);
|
createReactionWheelComponents(gpioComIF, pwrSwitcher);
|
||||||
|
|
||||||
@ -65,5 +65,5 @@ void ObjectFactory::produce(void* args) {
|
|||||||
createMiscComponents();
|
createMiscComponents();
|
||||||
createThermalController();
|
createThermalController();
|
||||||
createAcsController();
|
createAcsController();
|
||||||
satsystem::initAcsSubsystem();
|
satsystem::initAcsSubsystem(objects::NO_OBJECT);
|
||||||
}
|
}
|
||||||
|
2
fsfw
2
fsfw
@ -1 +1 @@
|
|||||||
Subproject commit c47bed07606548fd2510caa45bdd9fc867732065
|
Subproject commit 78314ad9668a2e01408a0111f7f306bbb468a40f
|
@ -73,9 +73,16 @@ auto ACS_TABLE_TARGET_PT_TRANS_0 =
|
|||||||
auto ACS_TABLE_TARGET_PT_TRANS_1 =
|
auto ACS_TABLE_TARGET_PT_TRANS_1 =
|
||||||
std::make_pair((acs::CtrlModes::TARGET_PT << 24) | 3, FixedArrayList<ModeListEntry, 1>());
|
std::make_pair((acs::CtrlModes::TARGET_PT << 24) | 3, FixedArrayList<ModeListEntry, 1>());
|
||||||
|
|
||||||
void satsystem::initAcsSubsystem() {
|
void satsystem::initAcsSubsystem(object_id_t satSystemObjId) {
|
||||||
ModeListEntry entry;
|
ModeListEntry entry;
|
||||||
Subsystem* acsSubsystem = new Subsystem(objects::ACS_SUBSYSTEM, objects::EIVE_SYSTEM, 12, 24);
|
Subsystem* acsSubsystem = new Subsystem(objects::ACS_SUBSYSTEM, satSystemObjId, 12, 24);
|
||||||
|
acsSubsystem->registerChild(objects::ACS_CONTROLLER);
|
||||||
|
acsSubsystem->registerChild(objects::IMTQ_HANDLER);
|
||||||
|
acsSubsystem->registerChild(objects::STAR_TRACKER);
|
||||||
|
acsSubsystem->registerChild(objects::ACS_BOARD_ASS);
|
||||||
|
acsSubsystem->registerChild(objects::SUS_BOARD_ASS);
|
||||||
|
acsSubsystem->registerChild(objects::IMTQ_HANDLER);
|
||||||
|
acsSubsystem->registerChild(objects::RW_ASS);
|
||||||
buildOffSequence(acsSubsystem, entry);
|
buildOffSequence(acsSubsystem, entry);
|
||||||
buildSafeSequence(acsSubsystem, entry);
|
buildSafeSequence(acsSubsystem, entry);
|
||||||
buildDetumbleSequence(acsSubsystem, entry);
|
buildDetumbleSequence(acsSubsystem, entry);
|
||||||
|
@ -4,6 +4,6 @@ class Subsystem;
|
|||||||
|
|
||||||
namespace satsystem {
|
namespace satsystem {
|
||||||
|
|
||||||
void initAcsSubsystem();
|
void initAcsSubsystem(object_id_t satSystemObjId);
|
||||||
|
|
||||||
} // namespace satsystem
|
} // namespace satsystem
|
||||||
|
Loading…
Reference in New Issue
Block a user