updated core controller

This commit is contained in:
2021-07-08 12:07:39 +02:00
committed by Robin Mueller
parent e5c3e2da53
commit 1312fe2369
4 changed files with 51 additions and 9 deletions

View File

@ -25,17 +25,28 @@ SdCardManager* SdCardManager::instance() {
}
ReturnValue_t SdCardManager::switchOnSdCard(sd::SdCard sdCard) {
// if(sdCardActive(sdCard)) {
// return ALREADY_ON;
// }
std::pair<bool, bool> active;
ReturnValue_t result = sdCardActive(active);
if(result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
if((sdCard == sd::SdCard::SLOT_0 and active.first) or
(sdCard == sd::SdCard::SLOT_1 and active.second)) {
return ALREADY_ON;
}
return setSdCardState(sdCard, true);
}
ReturnValue_t SdCardManager::switchOffSdCard(sd::SdCard sdCard) {
// if(not sdCardActive(sdCard)) {
// return ALREADY_OFF;
// }
std::pair<bool, bool> active;
ReturnValue_t result = sdCardActive(active);
if(result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
if((sdCard == sd::SdCard::SLOT_0 and not active.first) or
(sdCard == sd::SdCard::SLOT_1 and not active.second)) {
return ALREADY_OFF;
}
return setSdCardState(sdCard, false);
}
@ -62,7 +73,7 @@ ReturnValue_t SdCardManager::setSdCardState(sd::SdCard sdCard, bool on) {
}
sif::warning << "SdCardManager::setSdCardState: system call failed with code " <<
result << std::endl;
return HasReturnvaluesIF::RETURN_FAILED;
return SYSTEM_CALL_ERROR;
}
ReturnValue_t SdCardManager::sdCardActive(std::pair<bool, bool>& active) {
@ -78,7 +89,6 @@ ReturnValue_t SdCardManager::sdCardActive(std::pair<bool, bool>& active) {
}
string line;
uint8_t idx = 0;
ReturnValue_t result = HasReturnvaluesIF::RETURN_OK;
bool on = false;
while (std::getline(sdStatus, line)) {