|
|
@ -1,7 +1,7 @@
|
|
|
|
#include "bsp_q7s/core/InitMission.h"
|
|
|
|
#include "bsp_q7s/core/InitMission.h"
|
|
|
|
|
|
|
|
|
|
|
|
#include <fsfw/devicehandlers/DeviceCommunicationIF.h>
|
|
|
|
#include <fsfw/devicehandlers/DeviceCommunicationIF.h>
|
|
|
|
#include <linux/InitMission.h>
|
|
|
|
#include <linux/scheduling.h>
|
|
|
|
|
|
|
|
|
|
|
|
#include <iostream>
|
|
|
|
#include <iostream>
|
|
|
|
#include <vector>
|
|
|
|
#include <vector>
|
|
|
@ -74,7 +74,7 @@ void initmission::initTasks() {
|
|
|
|
"SOLAR_ARRAY_DEPL", 65, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.4, missedDeadlineFunc);
|
|
|
|
"SOLAR_ARRAY_DEPL", 65, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.4, missedDeadlineFunc);
|
|
|
|
result = solarArrayDeplTask->addComponent(objects::SOLAR_ARRAY_DEPL_HANDLER);
|
|
|
|
result = solarArrayDeplTask->addComponent(objects::SOLAR_ARRAY_DEPL_HANDLER);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("SOLAR_ARRAY_DEPL", objects::SOLAR_ARRAY_DEPL_HANDLER);
|
|
|
|
scheduling::printAddObjectError("SOLAR_ARRAY_DEPL", objects::SOLAR_ARRAY_DEPL_HANDLER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
@ -82,11 +82,11 @@ void initmission::initTasks() {
|
|
|
|
"CORE_CTRL", 60, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.4, missedDeadlineFunc);
|
|
|
|
"CORE_CTRL", 60, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.4, missedDeadlineFunc);
|
|
|
|
result = sysTask->addComponent(objects::CORE_CONTROLLER);
|
|
|
|
result = sysTask->addComponent(objects::CORE_CONTROLLER);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("CORE_CTRL", objects::CORE_CONTROLLER);
|
|
|
|
scheduling::printAddObjectError("CORE_CTRL", objects::CORE_CONTROLLER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
result = sysTask->addComponent(objects::PL_SUBSYSTEM);
|
|
|
|
result = sysTask->addComponent(objects::PL_SUBSYSTEM);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PL_SUBSYSTEM", objects::PL_SUBSYSTEM);
|
|
|
|
scheduling::printAddObjectError("PL_SUBSYSTEM", objects::PL_SUBSYSTEM);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* TMTC Distribution */
|
|
|
|
/* TMTC Distribution */
|
|
|
@ -95,24 +95,24 @@ void initmission::initTasks() {
|
|
|
|
#if OBSW_ADD_TCPIP_BRIDGE == 1
|
|
|
|
#if OBSW_ADD_TCPIP_BRIDGE == 1
|
|
|
|
result = tmTcDistributor->addComponent(objects::TMTC_BRIDGE);
|
|
|
|
result = tmTcDistributor->addComponent(objects::TMTC_BRIDGE);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("TMTC_BRIDGE", objects::TMTC_BRIDGE);
|
|
|
|
scheduling::printAddObjectError("TMTC_BRIDGE", objects::TMTC_BRIDGE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
result = tmTcDistributor->addComponent(objects::CCSDS_PACKET_DISTRIBUTOR);
|
|
|
|
result = tmTcDistributor->addComponent(objects::CCSDS_PACKET_DISTRIBUTOR);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("CCSDS_DISTRIB", objects::CCSDS_PACKET_DISTRIBUTOR);
|
|
|
|
scheduling::printAddObjectError("CCSDS_DISTRIB", objects::CCSDS_PACKET_DISTRIBUTOR);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
result = tmTcDistributor->addComponent(objects::PUS_PACKET_DISTRIBUTOR);
|
|
|
|
result = tmTcDistributor->addComponent(objects::PUS_PACKET_DISTRIBUTOR);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PUS_PACKET_DISTRIB", objects::PUS_PACKET_DISTRIBUTOR);
|
|
|
|
scheduling::printAddObjectError("PUS_PACKET_DISTRIB", objects::PUS_PACKET_DISTRIBUTOR);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
result = tmTcDistributor->addComponent(objects::CFDP_DISTRIBUTOR);
|
|
|
|
result = tmTcDistributor->addComponent(objects::CFDP_DISTRIBUTOR);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("CFDP_DISTRIBUTOR", objects::CFDP_DISTRIBUTOR);
|
|
|
|
scheduling::printAddObjectError("CFDP_DISTRIBUTOR", objects::CFDP_DISTRIBUTOR);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
result = tmTcDistributor->addComponent(objects::TM_FUNNEL);
|
|
|
|
result = tmTcDistributor->addComponent(objects::TM_FUNNEL);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("TM_FUNNEL", objects::TM_FUNNEL);
|
|
|
|
scheduling::printAddObjectError("TM_FUNNEL", objects::TM_FUNNEL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#if OBSW_ADD_TCPIP_BRIDGE == 1
|
|
|
|
#if OBSW_ADD_TCPIP_BRIDGE == 1
|
|
|
@ -120,7 +120,7 @@ void initmission::initTasks() {
|
|
|
|
"TMTC_POLLING", 80, PeriodicTaskIF::MINIMUM_STACK_SIZE, 2.0, missedDeadlineFunc);
|
|
|
|
"TMTC_POLLING", 80, PeriodicTaskIF::MINIMUM_STACK_SIZE, 2.0, missedDeadlineFunc);
|
|
|
|
result = tmtcPollingTask->addComponent(objects::TMTC_POLLING_TASK);
|
|
|
|
result = tmtcPollingTask->addComponent(objects::TMTC_POLLING_TASK);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("UDP_POLLING", objects::TMTC_POLLING_TASK);
|
|
|
|
scheduling::printAddObjectError("UDP_POLLING", objects::TMTC_POLLING_TASK);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
@ -129,7 +129,7 @@ void initmission::initTasks() {
|
|
|
|
"CCSDS_HANDLER", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE, 2.0, missedDeadlineFunc);
|
|
|
|
"CCSDS_HANDLER", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE, 2.0, missedDeadlineFunc);
|
|
|
|
result = ccsdsHandlerTask->addComponent(objects::CCSDS_HANDLER);
|
|
|
|
result = ccsdsHandlerTask->addComponent(objects::CCSDS_HANDLER);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("CCSDS Handler", objects::CCSDS_HANDLER);
|
|
|
|
scheduling::printAddObjectError("CCSDS Handler", objects::CCSDS_HANDLER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Runs in IRQ mode, frequency does not really matter
|
|
|
|
// Runs in IRQ mode, frequency does not really matter
|
|
|
@ -137,7 +137,7 @@ void initmission::initTasks() {
|
|
|
|
"PDEC_HANDLER", 75, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, missedDeadlineFunc);
|
|
|
|
"PDEC_HANDLER", 75, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, missedDeadlineFunc);
|
|
|
|
result = pdecHandlerTask->addComponent(objects::PDEC_HANDLER);
|
|
|
|
result = pdecHandlerTask->addComponent(objects::PDEC_HANDLER);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PDEC Handler", objects::PDEC_HANDLER);
|
|
|
|
scheduling::printAddObjectError("PDEC Handler", objects::PDEC_HANDLER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif /* OBSW_ADD_CCSDS_IP_CORE == 1 */
|
|
|
|
#endif /* OBSW_ADD_CCSDS_IP_CORE == 1 */
|
|
|
|
|
|
|
|
|
|
|
@ -146,7 +146,7 @@ void initmission::initTasks() {
|
|
|
|
"CFDP Handler", 45, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.4, missedDeadlineFunc);
|
|
|
|
"CFDP Handler", 45, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.4, missedDeadlineFunc);
|
|
|
|
result = cfdpTask->addComponent(objects::CFDP_HANDLER);
|
|
|
|
result = cfdpTask->addComponent(objects::CFDP_HANDLER);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("CFDP Handler", objects::CFDP_HANDLER);
|
|
|
|
scheduling::printAddObjectError("CFDP Handler", objects::CFDP_HANDLER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
@ -155,14 +155,14 @@ void initmission::initTasks() {
|
|
|
|
#if OBSW_ADD_GPS_CTRL == 1
|
|
|
|
#if OBSW_ADD_GPS_CTRL == 1
|
|
|
|
result = acsCtrlTask->addComponent(objects::GPS_CONTROLLER);
|
|
|
|
result = acsCtrlTask->addComponent(objects::GPS_CONTROLLER);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("GPS_CTRL", objects::GPS_CONTROLLER);
|
|
|
|
scheduling::printAddObjectError("GPS_CTRL", objects::GPS_CONTROLLER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif /* OBSW_ADD_GPS_CTRL */
|
|
|
|
#endif /* OBSW_ADD_GPS_CTRL */
|
|
|
|
|
|
|
|
|
|
|
|
#if OBSW_ADD_ACS_CTRL == 1
|
|
|
|
#if OBSW_ADD_ACS_CTRL == 1
|
|
|
|
acsCtrlTask->addComponent(objects::ACS_CONTROLLER);
|
|
|
|
acsCtrlTask->addComponent(objects::ACS_CONTROLLER);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("ACS_CTRL", objects::ACS_CONTROLLER);
|
|
|
|
scheduling::printAddObjectError("ACS_CTRL", objects::ACS_CONTROLLER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
@ -172,24 +172,24 @@ void initmission::initTasks() {
|
|
|
|
#if OBSW_ADD_ACS_BOARD == 1
|
|
|
|
#if OBSW_ADD_ACS_BOARD == 1
|
|
|
|
result = acsSysTask->addComponent(objects::ACS_BOARD_ASS);
|
|
|
|
result = acsSysTask->addComponent(objects::ACS_BOARD_ASS);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("ACS_BOARD_ASS", objects::ACS_BOARD_ASS);
|
|
|
|
scheduling::printAddObjectError("ACS_BOARD_ASS", objects::ACS_BOARD_ASS);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif /* OBSW_ADD_ACS_HANDLERS */
|
|
|
|
#endif /* OBSW_ADD_ACS_HANDLERS */
|
|
|
|
#if OBSW_ADD_RW == 1
|
|
|
|
#if OBSW_ADD_RW == 1
|
|
|
|
result = acsSysTask->addComponent(objects::RW_ASS);
|
|
|
|
result = acsSysTask->addComponent(objects::RW_ASS);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("RW_ASS", objects::RW_ASS);
|
|
|
|
scheduling::printAddObjectError("RW_ASS", objects::RW_ASS);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#if OBSW_ADD_SUS_BOARD_ASS == 1
|
|
|
|
#if OBSW_ADD_SUS_BOARD_ASS == 1
|
|
|
|
result = acsSysTask->addComponent(objects::SUS_BOARD_ASS);
|
|
|
|
result = acsSysTask->addComponent(objects::SUS_BOARD_ASS);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("SUS_BOARD_ASS", objects::SUS_BOARD_ASS);
|
|
|
|
scheduling::printAddObjectError("SUS_BOARD_ASS", objects::SUS_BOARD_ASS);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
result = acsSysTask->addComponent(objects::ACS_SUBSYSTEM);
|
|
|
|
result = acsSysTask->addComponent(objects::ACS_SUBSYSTEM);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("ACS_SUBSYSTEM", objects::ACS_SUBSYSTEM);
|
|
|
|
scheduling::printAddObjectError("ACS_SUBSYSTEM", objects::ACS_SUBSYSTEM);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#if OBSW_ADD_RTD_DEVICES == 1
|
|
|
|
#if OBSW_ADD_RTD_DEVICES == 1
|
|
|
@ -197,7 +197,7 @@ void initmission::initTasks() {
|
|
|
|
"TCS_POLLING_TASK", 70, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.5, missedDeadlineFunc);
|
|
|
|
"TCS_POLLING_TASK", 70, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.5, missedDeadlineFunc);
|
|
|
|
result = tcsPollingTask->addComponent(objects::SPI_RTD_COM_IF);
|
|
|
|
result = tcsPollingTask->addComponent(objects::SPI_RTD_COM_IF);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("SPI_RTD_POLLING", objects::SPI_RTD_COM_IF);
|
|
|
|
scheduling::printAddObjectError("SPI_RTD_POLLING", objects::SPI_RTD_COM_IF);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
PeriodicTaskIF* tcsTask = factory->createPeriodicTask(
|
|
|
|
PeriodicTaskIF* tcsTask = factory->createPeriodicTask(
|
|
|
@ -235,19 +235,19 @@ void initmission::initTasks() {
|
|
|
|
#if OBSW_ADD_RTD_DEVICES == 1
|
|
|
|
#if OBSW_ADD_RTD_DEVICES == 1
|
|
|
|
result = tcsSystemTask->addComponent(objects::TCS_BOARD_ASS);
|
|
|
|
result = tcsSystemTask->addComponent(objects::TCS_BOARD_ASS);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("TCS_BOARD_ASS", objects::TCS_BOARD_ASS);
|
|
|
|
scheduling::printAddObjectError("TCS_BOARD_ASS", objects::TCS_BOARD_ASS);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif /* OBSW_ADD_RTD_DEVICES */
|
|
|
|
#endif /* OBSW_ADD_RTD_DEVICES */
|
|
|
|
#if OBSW_ADD_TCS_CTRL == 1
|
|
|
|
#if OBSW_ADD_TCS_CTRL == 1
|
|
|
|
result = tcsSystemTask->addComponent(objects::THERMAL_CONTROLLER);
|
|
|
|
result = tcsSystemTask->addComponent(objects::THERMAL_CONTROLLER);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("THERMAL_CONTROLLER", objects::THERMAL_CONTROLLER);
|
|
|
|
scheduling::printAddObjectError("THERMAL_CONTROLLER", objects::THERMAL_CONTROLLER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#if OBSW_ADD_HEATERS == 1
|
|
|
|
#if OBSW_ADD_HEATERS == 1
|
|
|
|
result = tcsSystemTask->addComponent(objects::HEATER_HANDLER);
|
|
|
|
result = tcsSystemTask->addComponent(objects::HEATER_HANDLER);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("HEATER_HANDLER", objects::HEATER_HANDLER);
|
|
|
|
scheduling::printAddObjectError("HEATER_HANDLER", objects::HEATER_HANDLER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
@ -256,7 +256,7 @@ void initmission::initTasks() {
|
|
|
|
"STR_HELPER", 20, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc);
|
|
|
|
"STR_HELPER", 20, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc);
|
|
|
|
result = strHelperTask->addComponent(objects::STR_HELPER);
|
|
|
|
result = strHelperTask->addComponent(objects::STR_HELPER);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("STR_HELPER", objects::STR_HELPER);
|
|
|
|
scheduling::printAddObjectError("STR_HELPER", objects::STR_HELPER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif /* OBSW_ADD_STAR_TRACKER == 1 */
|
|
|
|
#endif /* OBSW_ADD_STAR_TRACKER == 1 */
|
|
|
|
|
|
|
|
|
|
|
@ -265,7 +265,7 @@ void initmission::initTasks() {
|
|
|
|
"PLOC_MPSOC_HELPER", 20, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc);
|
|
|
|
"PLOC_MPSOC_HELPER", 20, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc);
|
|
|
|
result = mpsocHelperTask->addComponent(objects::PLOC_MPSOC_HELPER);
|
|
|
|
result = mpsocHelperTask->addComponent(objects::PLOC_MPSOC_HELPER);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PLOC_MPSOC_HELPER", objects::PLOC_MPSOC_HELPER);
|
|
|
|
scheduling::printAddObjectError("PLOC_MPSOC_HELPER", objects::PLOC_MPSOC_HELPER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif /* OBSW_ADD_PLOC_MPSOC */
|
|
|
|
#endif /* OBSW_ADD_PLOC_MPSOC */
|
|
|
|
|
|
|
|
|
|
|
@ -274,7 +274,7 @@ void initmission::initTasks() {
|
|
|
|
"PLOC_SUPV_HELPER", 10, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, missedDeadlineFunc);
|
|
|
|
"PLOC_SUPV_HELPER", 10, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, missedDeadlineFunc);
|
|
|
|
result = supvHelperTask->addComponent(objects::PLOC_SUPERVISOR_HELPER);
|
|
|
|
result = supvHelperTask->addComponent(objects::PLOC_SUPERVISOR_HELPER);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PLOC_SUPV_HELPER", objects::PLOC_SUPERVISOR_HELPER);
|
|
|
|
scheduling::printAddObjectError("PLOC_SUPV_HELPER", objects::PLOC_SUPERVISOR_HELPER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif /* OBSW_ADD_PLOC_SUPERVISOR */
|
|
|
|
#endif /* OBSW_ADD_PLOC_SUPERVISOR */
|
|
|
|
|
|
|
|
|
|
|
@ -300,7 +300,7 @@ void initmission::initTasks() {
|
|
|
|
"PTME_TEST", 80, PeriodicTaskIF::MINIMUM_STACK_SIZE, 2.0, missedDeadlineFunc);
|
|
|
|
"PTME_TEST", 80, PeriodicTaskIF::MINIMUM_STACK_SIZE, 2.0, missedDeadlineFunc);
|
|
|
|
result = ptmeTestTask->addComponent(objects::CCSDS_IP_CORE_BRIDGE);
|
|
|
|
result = ptmeTestTask->addComponent(objects::CCSDS_IP_CORE_BRIDGE);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PTME_TEST", objects::CCSDS_IP_CORE_BRIDGE);
|
|
|
|
scheduling::printAddObjectError("PTME_TEST", objects::CCSDS_IP_CORE_BRIDGE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
std::vector<PeriodicTaskIF*> testTasks;
|
|
|
|
std::vector<PeriodicTaskIF*> testTasks;
|
|
|
@ -458,7 +458,7 @@ void initmission::createPusTasks(TaskFactory& factory,
|
|
|
|
"PUS_VERIF", 40, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.200, missedDeadlineFunc);
|
|
|
|
"PUS_VERIF", 40, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.200, missedDeadlineFunc);
|
|
|
|
result = pusVerification->addComponent(objects::PUS_SERVICE_1_VERIFICATION);
|
|
|
|
result = pusVerification->addComponent(objects::PUS_SERVICE_1_VERIFICATION);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PUS_VERIF", objects::PUS_SERVICE_1_VERIFICATION);
|
|
|
|
scheduling::printAddObjectError("PUS_VERIF", objects::PUS_SERVICE_1_VERIFICATION);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
taskVec.push_back(pusVerification);
|
|
|
|
taskVec.push_back(pusVerification);
|
|
|
|
|
|
|
|
|
|
|
@ -466,11 +466,11 @@ void initmission::createPusTasks(TaskFactory& factory,
|
|
|
|
"PUS_EVENTS", 60, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.200, missedDeadlineFunc);
|
|
|
|
"PUS_EVENTS", 60, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.200, missedDeadlineFunc);
|
|
|
|
result = pusEvents->addComponent(objects::PUS_SERVICE_5_EVENT_REPORTING);
|
|
|
|
result = pusEvents->addComponent(objects::PUS_SERVICE_5_EVENT_REPORTING);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PUS_EVENTS", objects::PUS_SERVICE_5_EVENT_REPORTING);
|
|
|
|
scheduling::printAddObjectError("PUS_EVENTS", objects::PUS_SERVICE_5_EVENT_REPORTING);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
result = pusEvents->addComponent(objects::EVENT_MANAGER);
|
|
|
|
result = pusEvents->addComponent(objects::EVENT_MANAGER);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PUS_MGMT", objects::EVENT_MANAGER);
|
|
|
|
scheduling::printAddObjectError("PUS_MGMT", objects::EVENT_MANAGER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
taskVec.push_back(pusEvents);
|
|
|
|
taskVec.push_back(pusEvents);
|
|
|
|
|
|
|
|
|
|
|
@ -478,11 +478,11 @@ void initmission::createPusTasks(TaskFactory& factory,
|
|
|
|
"PUS_HIGH_PRIO", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc);
|
|
|
|
"PUS_HIGH_PRIO", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc);
|
|
|
|
result = pusHighPrio->addComponent(objects::PUS_SERVICE_2_DEVICE_ACCESS);
|
|
|
|
result = pusHighPrio->addComponent(objects::PUS_SERVICE_2_DEVICE_ACCESS);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PUS_2", objects::PUS_SERVICE_2_DEVICE_ACCESS);
|
|
|
|
scheduling::printAddObjectError("PUS_2", objects::PUS_SERVICE_2_DEVICE_ACCESS);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
result = pusHighPrio->addComponent(objects::PUS_SERVICE_9_TIME_MGMT);
|
|
|
|
result = pusHighPrio->addComponent(objects::PUS_SERVICE_9_TIME_MGMT);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PUS_9", objects::PUS_SERVICE_9_TIME_MGMT);
|
|
|
|
scheduling::printAddObjectError("PUS_9", objects::PUS_SERVICE_9_TIME_MGMT);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
taskVec.push_back(pusHighPrio);
|
|
|
|
taskVec.push_back(pusHighPrio);
|
|
|
@ -492,32 +492,32 @@ void initmission::createPusTasks(TaskFactory& factory,
|
|
|
|
|
|
|
|
|
|
|
|
result = pusMedPrio->addComponent(objects::PUS_SERVICE_3_HOUSEKEEPING);
|
|
|
|
result = pusMedPrio->addComponent(objects::PUS_SERVICE_3_HOUSEKEEPING);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PUS_3", objects::PUS_SERVICE_3_HOUSEKEEPING);
|
|
|
|
scheduling::printAddObjectError("PUS_3", objects::PUS_SERVICE_3_HOUSEKEEPING);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
result = pusMedPrio->addComponent(objects::PUS_SERVICE_8_FUNCTION_MGMT);
|
|
|
|
result = pusMedPrio->addComponent(objects::PUS_SERVICE_8_FUNCTION_MGMT);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PUS_8", objects::PUS_SERVICE_8_FUNCTION_MGMT);
|
|
|
|
scheduling::printAddObjectError("PUS_8", objects::PUS_SERVICE_8_FUNCTION_MGMT);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
result = pusMedPrio->addComponent(objects::PUS_SERVICE_11_TC_SCHEDULER);
|
|
|
|
result = pusMedPrio->addComponent(objects::PUS_SERVICE_11_TC_SCHEDULER);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PUS_11", objects::PUS_SERVICE_11_TC_SCHEDULER);
|
|
|
|
scheduling::printAddObjectError("PUS_11", objects::PUS_SERVICE_11_TC_SCHEDULER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
result = pusMedPrio->addComponent(objects::PUS_SERVICE_20_PARAMETERS);
|
|
|
|
result = pusMedPrio->addComponent(objects::PUS_SERVICE_20_PARAMETERS);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PUS_20", objects::PUS_SERVICE_20_PARAMETERS);
|
|
|
|
scheduling::printAddObjectError("PUS_20", objects::PUS_SERVICE_20_PARAMETERS);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
result = pusMedPrio->addComponent(objects::PUS_SERVICE_200_MODE_MGMT);
|
|
|
|
result = pusMedPrio->addComponent(objects::PUS_SERVICE_200_MODE_MGMT);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PUS_200", objects::PUS_SERVICE_200_MODE_MGMT);
|
|
|
|
scheduling::printAddObjectError("PUS_200", objects::PUS_SERVICE_200_MODE_MGMT);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
result = pusMedPrio->addComponent(objects::PUS_SERVICE_201_HEALTH);
|
|
|
|
result = pusMedPrio->addComponent(objects::PUS_SERVICE_201_HEALTH);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PUS_201", objects::PUS_SERVICE_201_HEALTH);
|
|
|
|
scheduling::printAddObjectError("PUS_201", objects::PUS_SERVICE_201_HEALTH);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// Used for connection tests, therefore use higher priority
|
|
|
|
// Used for connection tests, therefore use higher priority
|
|
|
|
result = pusMedPrio->addComponent(objects::PUS_SERVICE_17_TEST);
|
|
|
|
result = pusMedPrio->addComponent(objects::PUS_SERVICE_17_TEST);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("PUS_17", objects::PUS_SERVICE_17_TEST);
|
|
|
|
scheduling::printAddObjectError("PUS_17", objects::PUS_SERVICE_17_TEST);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
taskVec.push_back(pusMedPrio);
|
|
|
|
taskVec.push_back(pusMedPrio);
|
|
|
|
|
|
|
|
|
|
|
@ -525,7 +525,7 @@ void initmission::createPusTasks(TaskFactory& factory,
|
|
|
|
"PUS_LOW_PRIO", 30, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.6, missedDeadlineFunc);
|
|
|
|
"PUS_LOW_PRIO", 30, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.6, missedDeadlineFunc);
|
|
|
|
result = pusLowPrio->addComponent(objects::INTERNAL_ERROR_REPORTER);
|
|
|
|
result = pusLowPrio->addComponent(objects::INTERNAL_ERROR_REPORTER);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("ERROR_REPORTER", objects::INTERNAL_ERROR_REPORTER);
|
|
|
|
scheduling::printAddObjectError("ERROR_REPORTER", objects::INTERNAL_ERROR_REPORTER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
taskVec.push_back(pusLowPrio);
|
|
|
|
taskVec.push_back(pusLowPrio);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -542,25 +542,25 @@ void initmission::createTestTasks(TaskFactory& factory,
|
|
|
|
|
|
|
|
|
|
|
|
result = testTask->addComponent(objects::TEST_TASK);
|
|
|
|
result = testTask->addComponent(objects::TEST_TASK);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("TEST_TASK", objects::TEST_TASK);
|
|
|
|
scheduling::printAddObjectError("TEST_TASK", objects::TEST_TASK);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#if OBSW_ADD_SPI_TEST_CODE == 1
|
|
|
|
#if OBSW_ADD_SPI_TEST_CODE == 1
|
|
|
|
result = testTask->addComponent(objects::SPI_TEST);
|
|
|
|
result = testTask->addComponent(objects::SPI_TEST);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("SPI_TEST", objects::SPI_TEST);
|
|
|
|
scheduling::printAddObjectError("SPI_TEST", objects::SPI_TEST);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#if OBSW_ADD_I2C_TEST_CODE == 1
|
|
|
|
#if OBSW_ADD_I2C_TEST_CODE == 1
|
|
|
|
result = testTask->addComponent(objects::I2C_TEST);
|
|
|
|
result = testTask->addComponent(objects::I2C_TEST);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("I2C_TEST", objects::I2C_TEST);
|
|
|
|
scheduling::printAddObjectError("I2C_TEST", objects::I2C_TEST);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#if OBSW_ADD_UART_TEST_CODE == 1
|
|
|
|
#if OBSW_ADD_UART_TEST_CODE == 1
|
|
|
|
result = testTask->addComponent(objects::UART_TEST);
|
|
|
|
result = testTask->addComponent(objects::UART_TEST);
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
if (result != returnvalue::OK) {
|
|
|
|
initmission::printAddObjectError("UART_TEST", objects::UART_TEST);
|
|
|
|
scheduling::printAddObjectError("UART_TEST", objects::UART_TEST);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|