SA DEPLY updates #488
@ -16,6 +16,11 @@ will consitute of a breaking change warranting a new major release:
|
|||||||
|
|
||||||
# [unreleased]
|
# [unreleased]
|
||||||
|
|
||||||
|
## Fixed
|
||||||
|
|
||||||
|
- SA deployment file handling: Use exceptionless API.
|
||||||
|
- Fix deadlock in SD card manager constructor: Double lock of preferred SD card lock.
|
||||||
|
|
||||||
## Added
|
## Added
|
||||||
|
|
||||||
- Failure of Safe Mode Ctrl will now trigger an event. As this can only be caused by sensors not
|
- Failure of Safe Mode Ctrl will now trigger an event. As this can only be caused by sensors not
|
||||||
|
@ -157,10 +157,14 @@ ReturnValue_t SolarArrayDeploymentHandler::performAutonomousDepl(sd::SdCard sdCa
|
|||||||
return returnvalue::OK;
|
return returnvalue::OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SolarArrayDeploymentHandler::autonomousDeplForFile(sd::SdCard sdCard, const char* filename,
|
bool SolarArrayDeploymentHandler::autonomousDeplForFile(sd::SdCard sdCard, const char* infoFile,
|
||||||
bool dryRun) {
|
bool dryRun) {
|
||||||
using namespace std;
|
using namespace std;
|
||||||
ifstream file(filename);
|
std::error_code e;
|
||||||
|
ifstream file(infoFile);
|
||||||
|
if (file.bad()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
string line;
|
string line;
|
||||||
string word;
|
string word;
|
||||||
unsigned int lineNum = 0;
|
unsigned int lineNum = 0;
|
||||||
@ -240,15 +244,18 @@ bool SolarArrayDeploymentHandler::autonomousDeplForFile(sd::SdCard sdCard, const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (deplState == AutonomousDeplState::DONE) {
|
if (deplState == AutonomousDeplState::DONE) {
|
||||||
remove(filename);
|
std::filesystem::remove(infoFile, e);
|
||||||
if (sdCard == sd::SdCard::SLOT_0) {
|
if (sdCard == sd::SdCard::SLOT_0) {
|
||||||
remove(SD_0_DEPL_FILE);
|
std::filesystem::remove(SD_0_DEPL_FILE, e);
|
||||||
} else {
|
} else {
|
||||||
remove(SD_1_DEPL_FILE);
|
std::filesystem::remove(SD_1_DEPL_FILE, e);
|
||||||
}
|
}
|
||||||
triggerEvent(AUTONOMOUS_DEPLOYMENT_COMPLETED);
|
triggerEvent(AUTONOMOUS_DEPLOYMENT_COMPLETED);
|
||||||
} else {
|
} else {
|
||||||
std::ofstream of(filename);
|
std::ofstream of(infoFile);
|
||||||
|
if (of.bad()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
of << "phase: ";
|
of << "phase: ";
|
||||||
if (deplState == AutonomousDeplState::INIT) {
|
if (deplState == AutonomousDeplState::INIT) {
|
||||||
of << PHASE_INIT_STR << "\n";
|
of << PHASE_INIT_STR << "\n";
|
||||||
|
Loading…
Reference in New Issue
Block a user