As discussed in micro-manager/pymmcore#90 there seems to be unexpected behaviour in waitForConfig(), where errors are logged but ignored:
void CMMCore::waitForConfig(const char* group, const char* configName) throw (CMMError)
{
CheckConfigGroupName(group);
CheckConfigPresetName(configName);
Configuration cfg = getConfigData(group, configName);
try {
for(size_t i=0; i<cfg.size(); i++)
waitForDevice(cfg.getSetting(i).getDeviceLabel().c_str());
} catch (CMMError& err) {
// trap MM exceptions and keep quiet - this is not a good time to blow up
logError("waitForConfig", err.getMsg().c_str());
}
}
For comparison, in waitForSystem() errors like e.g. a device timeout error are propagated from waitForDevice()->waitForDeviceType()->waitForSystem().
As by @marktsuchida, it's been this way since 2007, so changing this would probably break existing scripts.
As discussed in micro-manager/pymmcore#90 there seems to be unexpected behaviour in
waitForConfig()
, where errors are logged but ignored:For comparison, in
waitForSystem()
errors like e.g. a device timeout error are propagated fromwaitForDevice()
->waitForDeviceType()
->waitForSystem()
.As by @marktsuchida, it's been this way since 2007, so changing this would probably break existing scripts.