PL PCDU Update Mode Handling #200
@ -127,12 +127,14 @@ void initmission::initTasks() {
|
|||||||
"SYS_TASK", 40, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.4, missedDeadlineFunc);
|
"SYS_TASK", 40, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.4, missedDeadlineFunc);
|
||||||
result = sysTask->addComponent(objects::ACS_BOARD_ASS);
|
result = sysTask->addComponent(objects::ACS_BOARD_ASS);
|
||||||
if (result != HasReturnvaluesIF::RETURN_OK) {
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
||||||
initmission::printAddObjectError("ACS_ASS", objects::ACS_BOARD_ASS);
|
initmission::printAddObjectError("ACS_BOARD_ASS", objects::ACS_BOARD_ASS);
|
||||||
}
|
}
|
||||||
|
#if OBSW_ADD_SUS_BOARD_ASS == 1
|
||||||
result = sysTask->addComponent(objects::SUS_BOARD_ASS);
|
result = sysTask->addComponent(objects::SUS_BOARD_ASS);
|
||||||
if (result != HasReturnvaluesIF::RETURN_OK) {
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
||||||
initmission::printAddObjectError("SUS_ASS", objects::SUS_BOARD_ASS);
|
initmission::printAddObjectError("SUS_BOARD_ASS", objects::SUS_BOARD_ASS);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
result = sysTask->addComponent(objects::TCS_BOARD_ASS);
|
result = sysTask->addComponent(objects::TCS_BOARD_ASS);
|
||||||
if (result != HasReturnvaluesIF::RETURN_OK) {
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
||||||
initmission::printAddObjectError("TCS_BOARD_ASS", objects::TCS_BOARD_ASS);
|
initmission::printAddObjectError("TCS_BOARD_ASS", objects::TCS_BOARD_ASS);
|
||||||
|
@ -711,15 +711,6 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, UartComI
|
|||||||
auto acsAss = new AcsBoardAssembly(objects::ACS_BOARD_ASS, objects::NO_OBJECT, pwrSwitcher,
|
auto acsAss = new AcsBoardAssembly(objects::ACS_BOARD_ASS, objects::NO_OBJECT, pwrSwitcher,
|
||||||
acsBoardHelper, gpioComIF);
|
acsBoardHelper, gpioComIF);
|
||||||
static_cast<void>(acsAss);
|
static_cast<void>(acsAss);
|
||||||
#if OBSW_TEST_ACS_BOARD_ASS == 1
|
|
||||||
CommandMessage msg;
|
|
||||||
ModeMessage::setModeMessage(&msg, ModeMessage::CMD_MODE_COMMAND, DeviceHandlerIF::MODE_NORMAL,
|
|
||||||
duallane::A_SIDE);
|
|
||||||
ReturnValue_t result = MessageQueueSenderIF::sendMessage(acsAss->getCommandQueue(), &msg);
|
|
||||||
if (result != HasReturnvaluesIF::RETURN_OK) {
|
|
||||||
sif::warning << "Sending mode command failed" << std::endl;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif /* OBSW_ADD_ACS_HANDLERS == 1 */
|
#endif /* OBSW_ADD_ACS_HANDLERS == 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1222,3 +1213,13 @@ void ObjectFactory::createTestComponents(LinuxLibgpioIF* gpioComIF) {
|
|||||||
new UartTestClass(objects::UART_TEST);
|
new UartTestClass(objects::UART_TEST);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ObjectFactory::testAcsBrdAss(AcsBoardAssembly* acsAss) {
|
||||||
|
CommandMessage msg;
|
||||||
|
ModeMessage::setModeMessage(&msg, ModeMessage::CMD_MODE_COMMAND, DeviceHandlerIF::MODE_NORMAL,
|
||||||
|
duallane::A_SIDE);
|
||||||
|
ReturnValue_t result = MessageQueueSenderIF::sendMessage(acsAss->getCommandQueue(), &msg);
|
||||||
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
||||||
|
sif::warning << "Sending mode command failed" << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -6,6 +6,7 @@ class UartComIF;
|
|||||||
class SpiComIF;
|
class SpiComIF;
|
||||||
class I2cComIF;
|
class I2cComIF;
|
||||||
class PowerSwitchIF;
|
class PowerSwitchIF;
|
||||||
|
class AcsBoardAssembly;
|
||||||
|
|
||||||
namespace ObjectFactory {
|
namespace ObjectFactory {
|
||||||
|
|
||||||
@ -31,6 +32,8 @@ void createReactionWheelComponents(LinuxLibgpioIF* gpioComIF);
|
|||||||
void createCcsdsComponents(LinuxLibgpioIF* gpioComIF);
|
void createCcsdsComponents(LinuxLibgpioIF* gpioComIF);
|
||||||
void createTestComponents(LinuxLibgpioIF* gpioComIF);
|
void createTestComponents(LinuxLibgpioIF* gpioComIF);
|
||||||
|
|
||||||
|
void testAcsBrdAss(AcsBoardAssembly* assAss);
|
||||||
|
|
||||||
}; // namespace ObjectFactory
|
}; // namespace ObjectFactory
|
||||||
|
|
||||||
#endif /* BSP_Q7S_OBJECTFACTORY_H_ */
|
#endif /* BSP_Q7S_OBJECTFACTORY_H_ */
|
||||||
|
2
fsfw
2
fsfw
@ -1 +1 @@
|
|||||||
Subproject commit c2581ff4f5fe9c5aacfa0905868d07959e90f29e
|
Subproject commit b3d2d440d790899cee60797c2dacae53812df279
|
@ -44,6 +44,7 @@ debugging. */
|
|||||||
#define OBSW_ADD_PLOC_SUPERVISOR 0
|
#define OBSW_ADD_PLOC_SUPERVISOR 0
|
||||||
#define OBSW_ADD_PLOC_MPSOC 0
|
#define OBSW_ADD_PLOC_MPSOC 0
|
||||||
#define OBSW_ADD_SUN_SENSORS 1
|
#define OBSW_ADD_SUN_SENSORS 1
|
||||||
|
#define OBSW_ADD_SUS_BOARD_ASS 1
|
||||||
#define OBSW_ADD_ACS_BOARD 1
|
#define OBSW_ADD_ACS_BOARD 1
|
||||||
#define OBSW_ADD_ACS_HANDLERS 1
|
#define OBSW_ADD_ACS_HANDLERS 1
|
||||||
#define OBSW_ADD_RW 0
|
#define OBSW_ADD_RW 0
|
||||||
@ -115,7 +116,6 @@ debugging. */
|
|||||||
#define OBSW_ADD_UART_TEST_CODE 0
|
#define OBSW_ADD_UART_TEST_CODE 0
|
||||||
|
|
||||||
#define OBSW_TEST_ACS 0
|
#define OBSW_TEST_ACS 0
|
||||||
#define OBSW_TEST_ACS_BOARD_ASS 0
|
|
||||||
#define OBSW_DEBUG_ACS 0
|
#define OBSW_DEBUG_ACS 0
|
||||||
#define OBSW_TEST_SUS 0
|
#define OBSW_TEST_SUS 0
|
||||||
#define OBSW_DEBUG_SUS 0
|
#define OBSW_DEBUG_SUS 0
|
||||||
|
@ -177,14 +177,7 @@ ReturnValue_t pst::pstSpi(FixedTimeslotTaskIF *thisSequence) {
|
|||||||
bool addSus9 = true;
|
bool addSus9 = true;
|
||||||
bool addSus10 = true;
|
bool addSus10 = true;
|
||||||
bool addSus11 = true;
|
bool addSus11 = true;
|
||||||
/**
|
|
||||||
* The sun sensor will be shutdown as soon as the chip select is pulled high. Thus all
|
|
||||||
* requests to a sun sensor must be performed consecutively. Another reason for calling multiple
|
|
||||||
* device handler cycles is that the ADC conversions take some time. Thus first the ADC
|
|
||||||
* conversions are initiated and in a next step the results can be read from the internal FIFO.
|
|
||||||
* One sun sensor communication sequence also blocks the SPI bus. So other devices can not be
|
|
||||||
* inserted between the device handler cycles of one SUS.
|
|
||||||
*/
|
|
||||||
if (addSus0) {
|
if (addSus0) {
|
||||||
/* Write setup */
|
/* Write setup */
|
||||||
thisSequence->addSlot(objects::SUS_0, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
|
thisSequence->addSlot(objects::SUS_0, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
|
||||||
|
2
tmtc
2
tmtc
@ -1 +1 @@
|
|||||||
Subproject commit b5a9dac8f6d3733779a67a72b14a20091069a346
|
Subproject commit a14784666f6d8ce0e3d993ae60edd235363a95e1
|
Loading…
Reference in New Issue
Block a user