thats a bit tricky
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit

This commit is contained in:
Robin Müller 2022-09-29 16:47:47 +02:00
parent 8a5248a46d
commit 0f609fdaba
No known key found for this signature in database
GPG Key ID: 11D4952C8CCEF814
6 changed files with 20 additions and 12 deletions

View File

@ -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,

View File

@ -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();

View File

@ -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

@ -1 +1 @@
Subproject commit c47bed07606548fd2510caa45bdd9fc867732065
Subproject commit 78314ad9668a2e01408a0111f7f306bbb468a40f

View File

@ -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);

View File

@ -4,6 +4,6 @@ class Subsystem;
namespace satsystem {
void initAcsSubsystem();
void initAcsSubsystem(object_id_t satSystemObjId);
} // namespace satsystem