v1.16.0 #323
@ -1,3 +1,4 @@
|
||||
#include <mission/system/objects/AcsSubsystem.h>
|
||||
#include "ObjectFactory.h"
|
||||
|
||||
#include "OBSWConfig.h"
|
||||
@ -233,7 +234,7 @@ void ObjectFactory::createRadSensorComponent(LinuxLibgpioIF* gpioComIF) {
|
||||
}
|
||||
|
||||
void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, UartComIF* uartComIF,
|
||||
PowerSwitchIF* pwrSwitcher) {
|
||||
PowerSwitchIF* pwrSwitcher, object_id_t acsSubsystemId) {
|
||||
using namespace gpio;
|
||||
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_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);
|
||||
auto acsAss = new AcsBoardAssembly(objects::ACS_BOARD_ASS, objects::NO_OBJECT, pwrSwitcher,
|
||||
auto acsAss = new AcsBoardAssembly(objects::ACS_BOARD_ASS, acsSubsystemId, pwrSwitcher,
|
||||
acsBoardHelper, gpioComIF);
|
||||
static_cast<void>(acsAss);
|
||||
#endif /* OBSW_ADD_ACS_HANDLERS == 1 */
|
||||
@ -885,7 +886,7 @@ void ObjectFactory::createStrComponents(PowerSwitchIF* pwrSwitcher) {
|
||||
starTracker->setPowerSwitcher(pwrSwitcher);
|
||||
}
|
||||
|
||||
void ObjectFactory::createImtqComponents(PowerSwitchIF* pwrSwitcher) {
|
||||
void ObjectFactory::createImtqComponents(PowerSwitchIF* pwrSwitcher, object_id_t acsSubsystem) {
|
||||
I2cCookie* imtqI2cCookie =
|
||||
new I2cCookie(addresses::IMTQ, IMTQ::MAX_REPLY_SIZE, q7s::I2C_DEFAULT_DEV);
|
||||
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 createRadSensorComponent(LinuxLibgpioIF* gpioComIF);
|
||||
void createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, UartComIF* uartComIF,
|
||||
PowerSwitchIF* pwrSwitcher);
|
||||
PowerSwitchIF* pwrSwitcher, object_id_t acsSubsystemId);
|
||||
void createHeaterComponents(GpioIF* gpioIF, PowerSwitchIF* pwrSwitcher, HealthTableIF* healthTable);
|
||||
void createImtqComponents(PowerSwitchIF* pwrSwitcher);
|
||||
void createImtqComponents(PowerSwitchIF* pwrSwitcher, object_id_t subsystemId);
|
||||
void createBpxBatteryComponent();
|
||||
void createStrComponents(PowerSwitchIF* pwrSwitcher);
|
||||
void createSolarArrayDeploymentComponents();
|
||||
|
@ -31,7 +31,7 @@ void ObjectFactory::produce(void* args) {
|
||||
createSunSensorComponents(gpioComIF, spiMainComIF, pwrSwitcher, q7s::SPI_DEFAULT_DEV);
|
||||
|
||||
#if OBSW_ADD_ACS_BOARD == 1
|
||||
createAcsBoardComponents(gpioComIF, uartComIF, pwrSwitcher);
|
||||
createAcsBoardComponents(gpioComIF, uartComIF, pwrSwitcher, objects::ACS_SUBSYSTEM);
|
||||
#endif
|
||||
createHeaterComponents(gpioComIF, pwrSwitcher, healthTable);
|
||||
createSolarArrayDeploymentComponents();
|
||||
@ -43,7 +43,7 @@ void ObjectFactory::produce(void* args) {
|
||||
createPayloadComponents(gpioComIF);
|
||||
|
||||
#if OBSW_ADD_MGT == 1
|
||||
createImtqComponents(pwrSwitcher);
|
||||
createImtqComponents(pwrSwitcher, objects::ACS_SUBSYSTEM);
|
||||
#endif
|
||||
createReactionWheelComponents(gpioComIF, pwrSwitcher);
|
||||
|
||||
@ -65,5 +65,5 @@ void ObjectFactory::produce(void* args) {
|
||||
createMiscComponents();
|
||||
createThermalController();
|
||||
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 =
|
||||
std::make_pair((acs::CtrlModes::TARGET_PT << 24) | 3, FixedArrayList<ModeListEntry, 1>());
|
||||
|
||||
void satsystem::initAcsSubsystem() {
|
||||
void satsystem::initAcsSubsystem(object_id_t satSystemObjId) {
|
||||
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);
|
||||
buildSafeSequence(acsSubsystem, entry);
|
||||
buildDetumbleSequence(acsSubsystem, entry);
|
||||
|
@ -4,6 +4,6 @@ class Subsystem;
|
||||
|
||||
namespace satsystem {
|
||||
|
||||
void initAcsSubsystem();
|
||||
void initAcsSubsystem(object_id_t satSystemObjId);
|
||||
|
||||
} // namespace satsystem
|
||||
|
Loading…
Reference in New Issue
Block a user