Request MGM measurement twice #453

Merged
meggert merged 4 commits from smaller_tweaks into develop 2023-03-10 11:18:39 +01:00
4 changed files with 16 additions and 1 deletions

View File

@ -20,6 +20,11 @@ will consitute of a breaking change warranting a new major release:
- Fix for heater names: HPA heater (index 7) is now the Syrlinks heater. - Fix for heater names: HPA heater (index 7) is now the Syrlinks heater.
## Changed
- Request raw MTM measurement twice for IMTQ, might reduce number of times measurement could not
be retrieved.
# [v1.36.0] 2023-03-08 # [v1.36.0] 2023-03-08
eive-tmtc: v2.17.2 eive-tmtc: v2.17.2

View File

@ -235,7 +235,6 @@ void scheduling::initTasks() {
PeriodicTaskIF* acsSysTask = factory->createPeriodicTask( PeriodicTaskIF* acsSysTask = factory->createPeriodicTask(
"ACS_SYS_TASK", 55, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.4, missedDeadlineFunc); "ACS_SYS_TASK", 55, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.4, missedDeadlineFunc);
static_cast<void>(acsSysTask);
result = acsSysTask->addComponent(objects::ACS_SUBSYSTEM); result = acsSysTask->addComponent(objects::ACS_SUBSYSTEM);
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
scheduling::printAddObjectError("ACS_SUBSYSTEM", objects::ACS_SUBSYSTEM); scheduling::printAddObjectError("ACS_SUBSYSTEM", objects::ACS_SUBSYSTEM);

View File

@ -120,6 +120,11 @@ void ImtqPollingTask::handleMeasureStep() {
} }
} }
// The I2C IP core on EIVE sometimes glitches out. Send start MTM measurement twice.
cmdBuf[0] = imtq::CC::START_MTM_MEASUREMENT;
if (i2cCmdExecMeasure(imtq::CC::START_MTM_MEASUREMENT) != returnvalue::OK) {
return;
}
cmdBuf[0] = imtq::CC::START_MTM_MEASUREMENT; cmdBuf[0] = imtq::CC::START_MTM_MEASUREMENT;
if (i2cCmdExecMeasure(imtq::CC::START_MTM_MEASUREMENT) != returnvalue::OK) { if (i2cCmdExecMeasure(imtq::CC::START_MTM_MEASUREMENT) != returnvalue::OK) {
return; return;
@ -177,6 +182,11 @@ void ImtqPollingTask::handleActuateStep() {
TaskFactory::delayTask(10); TaskFactory::delayTask(10);
cmdLen = 1; cmdLen = 1;
// The I2C IP core on EIVE sometimes glitches out. Send start MTM measurement twice.
cmdBuf[0] = imtq::CC::START_MTM_MEASUREMENT;
if (i2cCmdExecActuate(imtq::CC::START_MTM_MEASUREMENT) != returnvalue::OK) {
return;
}
cmdBuf[0] = imtq::CC::START_MTM_MEASUREMENT; cmdBuf[0] = imtq::CC::START_MTM_MEASUREMENT;
if (i2cCmdExecActuate(imtq::CC::START_MTM_MEASUREMENT) != returnvalue::OK) { if (i2cCmdExecActuate(imtq::CC::START_MTM_MEASUREMENT) != returnvalue::OK) {
return; return;

View File

@ -56,6 +56,7 @@ ReturnValue_t AcsSubsystem::initialize() {
} }
void AcsSubsystem::performChildOperation() { void AcsSubsystem::performChildOperation() {
// sif::debug << "ACS system thread running" << std::endl;
handleEventMessages(); handleEventMessages();
return Subsystem::performChildOperation(); return Subsystem::performChildOperation();
} }