Skip to content

Commit

Permalink
Squashed commits and fixed bug with setPumpPressure
Browse files Browse the repository at this point in the history
  • Loading branch information
Lars-Kool committed Oct 9, 2024
1 parent e755408 commit 6c19f81
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 47 deletions.
49 changes: 8 additions & 41 deletions MMCore/MMCore.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6278,39 +6278,6 @@ void CMMCore::setPressurePumpDevice(const char* deviceLabel) throw (CMMError)
}
}

/**
* Sets the current pump device.
* @param pump the shutter device label
*/
void CMMCore::setPressurePumpDevice(const char* deviceLabel) throw (CMMError)
{
if (!deviceLabel || strlen(deviceLabel) > 0) // Allow empty label
CheckDeviceLabel(deviceLabel);

// Nothing to do if this is the current shutter device:
if (getPressurePumpDevice().compare(deviceLabel) == 0)
return;

if (strlen(deviceLabel) > 0)
{
currentPressurePump_ =
deviceManager_->GetDeviceOfType<PressurePumpInstance>(deviceLabel);

LOG_INFO(coreLogger_) << "Default shutter set to " << deviceLabel;
}
else
{
currentPressurePump_.reset();
LOG_INFO(coreLogger_) << "Default pump unset";
}
properties_->Refresh(); // TODO: more efficient
std::string newPumpLabel = getPressurePumpDevice();
{
MMThreadGuard scg(stateCacheLock_);
stateCache_.addSetting(PropertySetting(MM::g_Keyword_CoreDevice, MM::g_Keyword_CorePressurePump, newPumpLabel.c_str()));
}
}

/**
* Stops the pressure pump
*/
Expand Down Expand Up @@ -6360,41 +6327,41 @@ bool CMMCore::PressurePumpRequiresCalibration(const char* deviceLabel) throw (CM
}

/**
* Sets the pressure of the pump in kPa
* Gets the pressure of the pump in kPa
*/
void CMMCore::setPumpPressure(const char* deviceLabel, double pressurekPa) throw (CMMError)
double CMMCore::getPumpPressure(const char* deviceLabel) throw (CMMError)
{
std::shared_ptr<PressurePumpInstance> pPump =
deviceManager_->GetDeviceOfType<PressurePumpInstance>(deviceLabel);
mm::DeviceModuleLockGuard guard(pPump);

int ret = pPump->setPressure(pressurekPa);
double pressurekPa = 0;
int ret = pPump->getPressure(pressurekPa);

if (ret != DEVICE_OK)
{
logError(deviceLabel, getDeviceErrorText(ret, pPump).c_str());
throw CMMError(getDeviceErrorText(ret, pPump));
}
return pressurekPa;
}

/**
* Gets the pressure of the pump in kPa
* Sets the pressure of the pump in kPa
*/
double CMMCore::getPumpPressure(const char* deviceLabel) throw (CMMError)
void CMMCore::setPumpPressure(const char* deviceLabel, double pressurekPa) throw (CMMError)
{
std::shared_ptr<PressurePumpInstance> pPump =
deviceManager_->GetDeviceOfType<PressurePumpInstance>(deviceLabel);
mm::DeviceModuleLockGuard guard(pPump);

double pressurekPa = 0;
int ret = pPump->getPressure(pressurekPa);
int ret = pPump->setPressure(pressurekPa);

if (ret != DEVICE_OK)
{
logError(deviceLabel, getDeviceErrorText(ret, pPump).c_str());
throw CMMError(getDeviceErrorText(ret, pPump));
}
return pressurekPa;
}

///////////////////////////////////////////////////////////////////////////////
Expand Down
6 changes: 0 additions & 6 deletions MMCore/MMCore.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -147,12 +147,6 @@
<ClCompile Include="Devices\VolumetricPumpInstance.cpp">
<Filter>Source Files\Devices</Filter>
</ClCompile>
<ClCompile Include="Devices\PressurePumpInstance.cpp">
<Filter>Source Files\Devices</Filter>
</ClCompile>
<ClCompile Include="Devices\VolumetricPumpInstance.cpp">
<Filter>Source Files\Devices</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="CircularBuffer.h">
Expand Down

0 comments on commit 6c19f81

Please sign in to comment.