Major update for power handling
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
and various smaller updates
This commit is contained in:
@ -217,9 +217,10 @@ void P60DockHandler::parseHkTableReply(const uint8_t *packet) {
|
||||
p60dockHkTableDataset.latchupsGS3V3 = *(packet + dataOffset) << 8 | *(packet + dataOffset + 1);
|
||||
dataOffset += 4;
|
||||
|
||||
p60dockHkTableDataset.vbatVoltageValue = *(packet + dataOffset) << 8 | *(packet + dataOffset + 1);
|
||||
p60dockHkTableDataset.dockVbatVoltageValue =
|
||||
*(packet + dataOffset) << 8 | *(packet + dataOffset + 1);
|
||||
dataOffset += 4;
|
||||
p60dockHkTableDataset.vccCurrent = *(packet + dataOffset) << 8 | *(packet + dataOffset + 1);
|
||||
p60dockHkTableDataset.dockVccCurrent = *(packet + dataOffset) << 8 | *(packet + dataOffset + 1);
|
||||
dataOffset += 4;
|
||||
p60dockHkTableDataset.batteryCurrent = *(packet + dataOffset) << 8 | *(packet + dataOffset + 1);
|
||||
dataOffset += 4;
|
||||
@ -444,63 +445,113 @@ ReturnValue_t P60DockHandler::initializeLocalDataPool(localpool::DataPool &local
|
||||
}
|
||||
|
||||
ReturnValue_t P60DockHandler::printStatus(DeviceCommandId_t cmd) {
|
||||
ReturnValue_t result = RETURN_OK;
|
||||
switch (cmd) {
|
||||
case (GOMSPACE::PRINT_SWITCH_V_I): {
|
||||
PoolReadGuard pg(&p60dockHkTableDataset);
|
||||
ReturnValue_t readResult = pg.getReadResult();
|
||||
if (readResult != HasReturnvaluesIF::RETURN_OK) {
|
||||
sif::warning << "Reading PDU1 HK table failed!" << std::endl;
|
||||
return HasReturnvaluesIF::RETURN_FAILED;
|
||||
result = pg.getReadResult();
|
||||
if (result != HasReturnvaluesIF::RETURN_OK) {
|
||||
break;
|
||||
}
|
||||
printHkTableSwitchIV();
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
||||
case (GOMSPACE::PRINT_LATCHUPS): {
|
||||
PoolReadGuard pg(&p60dockHkTableDataset);
|
||||
result = pg.getReadResult();
|
||||
printHkTableLatchups();
|
||||
if (result != HasReturnvaluesIF::RETURN_OK) {
|
||||
break;
|
||||
}
|
||||
printHkTable();
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
||||
default: {
|
||||
return HasReturnvaluesIF::RETURN_FAILED;
|
||||
}
|
||||
}
|
||||
sif::warning << "Reading P60 Dock HK table failed" << std::endl;
|
||||
return HasReturnvaluesIF::RETURN_FAILED;
|
||||
}
|
||||
|
||||
void P60DockHandler::printHkTable() {
|
||||
sif::info << "P60 Dock Info: SwitchState, Currents [mA], Voltages [mV]" << std::endl;
|
||||
|
||||
sif::info << std::setw(30) << std::left << "ACU VCC" << std::dec << "| "
|
||||
void P60DockHandler::printHkTableSwitchIV() {
|
||||
sif::info << "P60 Dock Info:" << std::endl;
|
||||
sif::info << "Boot Cause: " << p60dockHkTableDataset.bootcause
|
||||
<< " | Boot Count: " << std::setw(4) << std::right << p60dockHkTableDataset.bootCount
|
||||
<< std::endl;
|
||||
sif::info << "Reset Cause: " << p60dockHkTableDataset.resetcause
|
||||
<< " | Battery Mode: " << static_cast<int>(p60dockHkTableDataset.battMode.value)
|
||||
<< std::endl;
|
||||
sif::info << "SwitchState, Currents [mA], Voltages [mV]:" << std::endl;
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "Dock VBAT VCC" << std::dec
|
||||
<< "| -, " << std::setw(4) << std::right << p60dockHkTableDataset.dockVccCurrent << ", "
|
||||
<< std::setw(5) << p60dockHkTableDataset.dockVbatVoltageValue << std::endl;
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "BATT" << std::dec << "| -, "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.batteryCurrent.value << ", "
|
||||
<< std::setw(5) << p60dockHkTableDataset.batteryVoltage.value << std::endl;
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "ACU VCC" << std::dec << "| "
|
||||
<< unsigned(p60dockHkTableDataset.outputEnableStateAcuVcc.value) << ", " << std::setw(4)
|
||||
<< std::right << p60dockHkTableDataset.currentAcuVcc.value << ", " << std::setw(5)
|
||||
<< p60dockHkTableDataset.voltageAcuVcc.value << std::endl;
|
||||
sif::info << std::setw(30) << std::left << "ACU VBAT" << std::dec << "| "
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "ACU VBAT" << std::dec << "| "
|
||||
<< unsigned(p60dockHkTableDataset.outputEnableStateAcuVbat.value) << ", "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.currentAcuVbat.value << ", "
|
||||
<< std::setw(5) << p60dockHkTableDataset.voltageAcuVbat.value << std::endl;
|
||||
|
||||
sif::info << std::setw(30) << std::left << "PDU1 VCC" << std::dec << "| "
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "PDU1 VCC" << std::dec << "| "
|
||||
<< unsigned(p60dockHkTableDataset.outputEnableStatePdu1Vcc.value) << ", "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.currentPdu1Vcc.value << ", "
|
||||
<< std::setw(5) << p60dockHkTableDataset.voltagePdu1Vcc.value << std::endl;
|
||||
sif::info << std::setw(30) << std::left << "PDU1 VBAT" << std::dec << "| "
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "PDU1 VBAT" << std::dec << "| "
|
||||
<< unsigned(p60dockHkTableDataset.outputEnableStatePdu1Vbat.value) << ", "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.currentPdu1Vbat.value << ", "
|
||||
<< std::setw(5) << p60dockHkTableDataset.voltagePdu1Vbat.value << std::endl;
|
||||
|
||||
sif::info << std::setw(30) << std::left << "PDU2 VCC" << std::dec << "| "
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "PDU2 VCC" << std::dec << "| "
|
||||
<< unsigned(p60dockHkTableDataset.outputEnableStatePdu2Vcc.value) << ", "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.currentPdu2Vcc.value << ", "
|
||||
<< std::setw(5) << p60dockHkTableDataset.voltagePdu2Vcc.value << std::endl;
|
||||
sif::info << std::setw(30) << std::left << "PDU2 VBAT" << std::dec << "| "
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "PDU2 VBAT" << std::dec << "| "
|
||||
<< unsigned(p60dockHkTableDataset.outputEnableStatePdu2Vbat.value) << ", "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.currentPdu2Vbat.value << ", "
|
||||
<< std::setw(5) << p60dockHkTableDataset.voltagePdu2Vbat.value << std::endl;
|
||||
|
||||
sif::info << std::setw(30) << std::left << "Stack VBAT" << std::dec << "| "
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "Stack VBAT" << std::dec << "| "
|
||||
<< unsigned(p60dockHkTableDataset.outputEnableStateStackVbat.value) << ", "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.currentStackVbat.value << ", "
|
||||
<< std::setw(5) << p60dockHkTableDataset.voltageStackVbat.value << std::endl;
|
||||
sif::info << std::setw(30) << std::left << "Stack 3V3" << std::dec << "| "
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "Stack 3V3" << std::dec << "| "
|
||||
<< unsigned(p60dockHkTableDataset.outputEnableStateStack3V3.value) << ", "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.currentStack3V3.value << ", "
|
||||
<< std::setw(5) << p60dockHkTableDataset.voltageStack3V3.value << std::endl;
|
||||
sif::info << std::setw(30) << std::left << "Stack 5V" << std::dec << "| "
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "Stack 5V" << std::dec << "| "
|
||||
<< unsigned(p60dockHkTableDataset.outputEnableStateStack5V.value) << ", "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.currentStack5V.value << ", "
|
||||
<< std::setw(5) << p60dockHkTableDataset.voltageStack5V.value << std::endl;
|
||||
}
|
||||
|
||||
void P60DockHandler::printHkTableLatchups() {
|
||||
sif::info << "P60 Latchup Information" << std::endl;
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "ACU VCC" << std::dec << "| "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.latchupsAcuVcc << std::endl;
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "ACU VBAT" << std::dec << "| "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.latchupsAcuVbat << std::endl;
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "PDU1 VCC" << std::dec << "| "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.latchupsPdu1Vcc << std::endl;
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "PDU1 VBAT" << std::dec << "| "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.latchupsPdu1Vbat << std::endl;
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "PDU2 VCC" << std::dec << "| "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.latchupsPdu2Vcc << std::endl;
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "PDU2 VBAT" << std::dec << "| "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.latchupsPdu2Vbat << std::endl;
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "Stack 3V3" << std::dec << "| "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.latchupsStack3V3 << std::endl;
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "Stack 5V" << std::dec << "| "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.latchupsStack5V << std::endl;
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "GS 3V3" << std::dec << "| "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.latchupsGS3V3 << std::endl;
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "GS 5V" << std::dec << "| "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.latchupsGS5V << std::endl;
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "X3 VBAT" << std::dec << "| "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.latchupsX3IdleVbat << std::endl;
|
||||
sif::info << std::setw(MAX_CHANNEL_STR_WIDTH) << std::left << "X3 VCC" << std::dec << "| "
|
||||
<< std::setw(4) << std::right << p60dockHkTableDataset.latchupsX3IdleVcc << std::endl;
|
||||
}
|
||||
|
Reference in New Issue
Block a user