move GNSS NReset handling to assembly
- Also update fsfwgen dependency
This commit is contained in:
@ -142,12 +142,14 @@ ReturnValue_t AcsBoardAssembly::handleNormalOrOnModeCmd(Mode_t mode, Submode_t s
|
||||
cmdSeq(helper.mgm0Lis3IdSideA, helper.mgm0SideAMode, ModeTableIdx::MGM_0_A);
|
||||
cmdSeq(helper.mgm1Rm3100IdSideA, helper.mgm1SideAMode, ModeTableIdx::MGM_1_A);
|
||||
if (gpsUsable) {
|
||||
if (gpioIF->pullLow(gpioIds::GNSS_SELECT) != HasReturnvaluesIF::RETURN_OK) {
|
||||
#if OBSW_VERBOSE_LEVEL >= 1
|
||||
sif::error << "AcsBoardAssembly::handleNormalOrOnModeCmd: Could not pull GNSS select low"
|
||||
<< std::endl;
|
||||
#endif
|
||||
}
|
||||
gpioHandler(gpioIds::GNSS_0_NRESET, true,
|
||||
"AcsBoardAssembly::handleNormalOrOnModeCmd: Could not pull nReset pin"
|
||||
"of GNSS 0 high (used GNSS)");
|
||||
gpioHandler(gpioIds::GNSS_1_NRESET, false,
|
||||
"AcsBoardAssembly::handleNormalOrOnModeCmd: Could not pull nReset pin"
|
||||
"of GNSS 1 low (unused GNSS)");
|
||||
gpioHandler(gpioIds::GNSS_SELECT, false,
|
||||
"AcsBoardAssembly::handleNormalOrOnModeCmd: Could not pull GNSS select low");
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -165,12 +167,14 @@ ReturnValue_t AcsBoardAssembly::handleNormalOrOnModeCmd(Mode_t mode, Submode_t s
|
||||
cmdSeq(helper.mgm2Lis3IdSideB, helper.mgm2SideBMode, ModeTableIdx::MGM_2_B);
|
||||
cmdSeq(helper.mgm3Rm3100IdSideB, helper.mgm3SideBMode, ModeTableIdx::MGM_3_B);
|
||||
if (gpsUsable) {
|
||||
if (gpioIF->pullHigh(gpioIds::GNSS_SELECT) != HasReturnvaluesIF::RETURN_OK) {
|
||||
#if OBSW_VERBOSE_LEVEL >= 1
|
||||
sif::error << "AcsBoardAssembly::handleNormalOrOnModeCmd: Could not pull GNSS select high"
|
||||
<< std::endl;
|
||||
#endif
|
||||
}
|
||||
gpioHandler(gpioIds::GNSS_0_NRESET, false,
|
||||
"AcsBoardAssembly::handleNormalOrOnModeCmd: Could not pull nReset pin"
|
||||
"of GNSS 0 low (unused GNSS)");
|
||||
gpioHandler(gpioIds::GNSS_1_NRESET, true,
|
||||
"AcsBoardAssembly::handleNormalOrOnModeCmd: Could not pull nReset pin"
|
||||
"of GNSS 1 high (used GNSS)");
|
||||
gpioHandler(gpioIds::GNSS_SELECT, true,
|
||||
"AcsBoardAssembly::handleNormalOrOnModeCmd: Could not pull GNSS select high");
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -186,6 +190,12 @@ ReturnValue_t AcsBoardAssembly::handleNormalOrOnModeCmd(Mode_t mode, Submode_t s
|
||||
cmdSeq(helper.mgm3Rm3100IdSideB, helper.mgm3SideBMode, ModeTableIdx::MGM_3_B);
|
||||
ReturnValue_t status = RETURN_OK;
|
||||
if (gpsUsable) {
|
||||
gpioHandler(gpioIds::GNSS_0_NRESET, true,
|
||||
"AcsBoardAssembly::handleNormalOrOnModeCmd: Could not pull nReset pin"
|
||||
"of GNSS 0 high (used GNSS)");
|
||||
gpioHandler(gpioIds::GNSS_1_NRESET, true,
|
||||
"AcsBoardAssembly::handleNormalOrOnModeCmd: Could not pull nReset pin"
|
||||
"of GNSS 1 high (used GNSS)");
|
||||
if (defaultSubmode == Submodes::A_SIDE) {
|
||||
status = gpioIF->pullLow(gpioIds::GNSS_SELECT);
|
||||
} else {
|
||||
@ -233,6 +243,20 @@ void AcsBoardAssembly::selectGpsInDualMode(duallane::Submodes side) {
|
||||
}
|
||||
}
|
||||
|
||||
void AcsBoardAssembly::gpioHandler(gpioId_t gpio, bool high, std::string error) {
|
||||
ReturnValue_t result = RETURN_OK;
|
||||
if(high) {
|
||||
result = gpioIF->pullHigh(gpio);
|
||||
} else {
|
||||
result = gpioIF->pullLow(gpio);
|
||||
}
|
||||
if (result != HasReturnvaluesIF::RETURN_OK) {
|
||||
#if OBSW_VERBOSE_LEVEL >= 1
|
||||
sif::error << error << std::endl;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void AcsBoardAssembly::refreshHelperModes() {
|
||||
try {
|
||||
helper.gyro0SideAMode = childrenMap.at(helper.gyro0AdisIdSideA).mode;
|
||||
|
Reference in New Issue
Block a user