different max missed reply thresholds for STR FDIR
All checks were successful
EIVE/eive-obsw/pipeline/pr-main This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/pr-main This commit looks good
This commit is contained in:
parent
0cefef8a35
commit
39022ce2f6
@ -138,7 +138,9 @@ void ObjectFactory::produce(void* args) {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if OBSW_ADD_STAR_TRACKER == 1
|
#if OBSW_ADD_STAR_TRACKER == 1
|
||||||
createStrComponents(pwrSwitcher);
|
// Missed reply threshold is higher on EM than default value because the ground STR received
|
||||||
|
// from the Swedes is going weird things.
|
||||||
|
createStrComponents(pwrSwitcher, 30);
|
||||||
#endif /* OBSW_ADD_STAR_TRACKER == 1 */
|
#endif /* OBSW_ADD_STAR_TRACKER == 1 */
|
||||||
|
|
||||||
createPayloadComponents(gpioComIF, *pwrSwitcher);
|
createPayloadComponents(gpioComIF, *pwrSwitcher);
|
||||||
|
@ -102,7 +102,7 @@ void ObjectFactory::produce(void* args) {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if OBSW_ADD_STAR_TRACKER == 1
|
#if OBSW_ADD_STAR_TRACKER == 1
|
||||||
createStrComponents(pwrSwitcher);
|
createStrComponents(pwrSwitcher, 5);
|
||||||
#endif /* OBSW_ADD_STAR_TRACKER == 1 */
|
#endif /* OBSW_ADD_STAR_TRACKER == 1 */
|
||||||
|
|
||||||
#if OBSW_ADD_CCSDS_IP_CORES == 1
|
#if OBSW_ADD_CCSDS_IP_CORES == 1
|
||||||
|
@ -928,7 +928,8 @@ void ObjectFactory::createTestComponents(LinuxLibgpioIF* gpioComIF) {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void ObjectFactory::createStrComponents(PowerSwitchIF* pwrSwitcher) {
|
void ObjectFactory::createStrComponents(PowerSwitchIF* pwrSwitcher,
|
||||||
|
uint32_t missedReplyCountThreshold) {
|
||||||
auto* strAssy = new StrAssembly(objects::STR_ASSY);
|
auto* strAssy = new StrAssembly(objects::STR_ASSY);
|
||||||
strAssy->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
|
strAssy->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
|
||||||
auto* starTrackerCookie =
|
auto* starTrackerCookie =
|
||||||
@ -941,7 +942,7 @@ void ObjectFactory::createStrComponents(PowerSwitchIF* pwrSwitcher) {
|
|||||||
if (paramJsonFile == nullptr) {
|
if (paramJsonFile == nullptr) {
|
||||||
sif::error << "No valid Star Tracker parameter JSON file" << std::endl;
|
sif::error << "No valid Star Tracker parameter JSON file" << std::endl;
|
||||||
}
|
}
|
||||||
auto strFdir = new StrFdir(objects::STAR_TRACKER);
|
auto strFdir = new StrFdir(objects::STAR_TRACKER, missedReplyCountThreshold);
|
||||||
auto starTracker =
|
auto starTracker =
|
||||||
new StarTrackerHandler(objects::STAR_TRACKER, objects::STR_COM_IF, starTrackerCookie,
|
new StarTrackerHandler(objects::STAR_TRACKER, objects::STR_COM_IF, starTrackerCookie,
|
||||||
paramJsonFile, strComIF, power::PDU1_CH2_STAR_TRACKER_5V);
|
paramJsonFile, strComIF, power::PDU1_CH2_STAR_TRACKER_5V);
|
||||||
|
@ -69,7 +69,7 @@ void createHeaterComponents(GpioIF* gpioIF, PowerSwitchIF* pwrSwitcher, HealthTa
|
|||||||
HeaterHandler*& heaterHandler);
|
HeaterHandler*& heaterHandler);
|
||||||
void createImtqComponents(PowerSwitchIF* pwrSwitcher, bool enableHkSets, const char* i2cDev);
|
void createImtqComponents(PowerSwitchIF* pwrSwitcher, bool enableHkSets, const char* i2cDev);
|
||||||
void createBpxBatteryComponent(bool enableHkSets, const char* i2cDev);
|
void createBpxBatteryComponent(bool enableHkSets, const char* i2cDev);
|
||||||
void createStrComponents(PowerSwitchIF* pwrSwitcher);
|
void createStrComponents(PowerSwitchIF* pwrSwitcher, uint32_t missedReplyCountThreshold);
|
||||||
void createSolarArrayDeploymentComponents(PowerSwitchIF& pwrSwitcher, GpioIF& gpioIF);
|
void createSolarArrayDeploymentComponents(PowerSwitchIF& pwrSwitcher, GpioIF& gpioIF);
|
||||||
void createSyrlinksComponents(PowerSwitchIF* pwrSwitcher);
|
void createSyrlinksComponents(PowerSwitchIF* pwrSwitcher);
|
||||||
void createPayloadComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF& pwrSwitcher);
|
void createPayloadComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF& pwrSwitcher);
|
||||||
|
@ -2001,7 +2001,7 @@ ReturnValue_t StarTrackerHandler::checkProgram() {
|
|||||||
startupState = StartupState::BOOT_BOOTLOADER;
|
startupState = StartupState::BOOT_BOOTLOADER;
|
||||||
}
|
}
|
||||||
if (bootState == FwBootState::VERIFY_BOOT) {
|
if (bootState == FwBootState::VERIFY_BOOT) {
|
||||||
bootState = FwBootState::LOGLEVEL;
|
bootState = FwBootState::SET_TIME;
|
||||||
} else if (internalState == InternalState::BOOTLOADER_CHECK) {
|
} else if (internalState == InternalState::BOOTLOADER_CHECK) {
|
||||||
triggerEvent(BOOTING_BOOTLOADER_FAILED_EVENT);
|
triggerEvent(BOOTING_BOOTLOADER_FAILED_EVENT);
|
||||||
internalState = InternalState::FAILED_BOOTLOADER_BOOT;
|
internalState = InternalState::FAILED_BOOTLOADER_BOOT;
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
#include "mission/acs/defs.h"
|
#include "mission/acs/defs.h"
|
||||||
|
|
||||||
StrFdir::StrFdir(object_id_t strObject)
|
StrFdir::StrFdir(object_id_t strObject, uint32_t missedReplyThreshold)
|
||||||
: DeviceHandlerFailureIsolation(strObject, objects::NO_OBJECT) {
|
: DeviceHandlerFailureIsolation(strObject, objects::NO_OBJECT) {
|
||||||
missedReplyCount.setFailureThreshold(30);
|
missedReplyCount.setFailureThreshold(missedReplyThreshold);
|
||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t StrFdir::eventReceived(EventMessage* event) {
|
ReturnValue_t StrFdir::eventReceived(EventMessage* event) {
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
class StrFdir : public DeviceHandlerFailureIsolation {
|
class StrFdir : public DeviceHandlerFailureIsolation {
|
||||||
public:
|
public:
|
||||||
StrFdir(object_id_t strObject);
|
StrFdir(object_id_t strObject, uint32_t missedReplyThreshold);
|
||||||
ReturnValue_t eventReceived(EventMessage* event) override;
|
ReturnValue_t eventReceived(EventMessage* event) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user