setSettingsDir works as the other functions

This commit is contained in:
Erik Frojdh
2018-10-12 11:39:11 +02:00
parent 4cdd766a8e
commit f6357a667f
2 changed files with 6 additions and 22 deletions

View File

@ -1111,28 +1111,12 @@ std::string multiSlsDetector::getSettingsDir(int detPos) {
}
std::string multiSlsDetector::setSettingsDir(std::string s, int detPos) {
// single
if (detPos >= 0) {
return detectors[detPos]->setSettingsDir(s);
}
std::string multiSlsDetector::setSettingsDir(std::string directory, int detPos) {
if (detPos >= 0)
return detectors[detPos]->setSettingsDir(directory);
// multi
size_t p1 = 0;
size_t p2 = s.find('+', p1);
int id = 0;
while (p2 != std::string::npos) {
detectors[id]->setSettingsDir(s.substr(p1, p2 - p1));
if (detectors[id]->getErrorMask())
setErrorMask(getErrorMask() | (1 << id));
++id;
s = s.substr(p2 + 1);
p2 = s.find('+');
if (id >= (int)detectors.size())
break;
}
return getSettingsDir();
auto r = parallelCall(&slsDetector::setSettingsDir, directory);
return sls::concatenateIfDifferent(r);
}

View File

@ -531,7 +531,7 @@ public:
* @param detPos -1 for all detectors in list or specific detector position
* @returns the trimbit/settings directory
*/
std::string setSettingsDir(std::string s, int detPos = -1);
std::string setSettingsDir(std::string directory, int detPos = -1);
/**
* Loads the modules settings/trimbits reading from a specific file