forked from micro-manager/mmCoreAndDevices
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
556 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
// PROJECT: Micro-Manager | ||
// SUBSYSTEM: MMCore | ||
// | ||
// DESCRIPTION: Pump device instance wrapper | ||
// | ||
// COPYRIGHT: Institut Pierre-Gilles de Gennes, Paris, 2024, | ||
// All Rights reserved | ||
// | ||
// LICENSE: This file is distributed under the "Lesser GPL" (LGPL) license. | ||
// License text is included with the source distribution. | ||
// | ||
// This file is distributed in the hope that it will be useful, | ||
// but WITHOUT ANY WARRANTY; without even the implied warranty | ||
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
// | ||
// IN NO EVENT SHALL THE COPYRIGHT OWNER OR | ||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES. | ||
// | ||
// AUTHOR: Lars Kool, Institut Pierre-Gilles de Gennes | ||
|
||
#include "PumpInstance.h" | ||
|
||
// Volume controlled pump functions | ||
int PumpInstance::Home() { return GetImpl()->Home(); } | ||
int PumpInstance::Stop() { return GetImpl()->Stop(); } | ||
int PumpInstance::invertDirection(bool state) { return GetImpl()->InvertDirection(state); } | ||
int PumpInstance::isDirectionInverted(bool& state) { return GetImpl()->IsDirectionInverted(state); } | ||
int PumpInstance::setVolumeUl(double volume) { return GetImpl()->SetVolumeUl(volume); } | ||
int PumpInstance::getVolumeUl(double& volume) { return GetImpl()->GetVolumeUl(volume); } | ||
int PumpInstance::setMaxVolumeUl(double volume) { return GetImpl()->SetMaxVolumeUl(volume); } | ||
int PumpInstance::getMaxVolumeUl(double& volume) { return GetImpl()->GetMaxVolumeUl(volume); } | ||
int PumpInstance::setFlowrateUlPerSec(double flowrate) { return GetImpl()->SetFlowrateUlPerSecond(flowrate); } | ||
int PumpInstance::getFlowrateUlPerSec(double& flowrate) { return GetImpl()->GetFlowrateUlPerSecond(flowrate); } | ||
int PumpInstance::Dispense() { return GetImpl()->Dispense(); } | ||
int PumpInstance::DispenseDuration(double durSec) { return GetImpl()->DispenseDuration(durSec); } | ||
int PumpInstance::DispenseVolume(double volUl) { return GetImpl()->DispenseVolume(volUl); } | ||
|
||
// Pressure controlled pump functions | ||
int PumpInstance::Calibrate() { return GetImpl()->Calibrate(); } | ||
int PumpInstance::setPressure(double pressure) { return GetImpl()->SetPressure(pressure); } | ||
int PumpInstance::getPressure(double& pressure) { return GetImpl()->GetPressure(pressure); } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
// PROJECT: Micro-Manager | ||
// SUBSYSTEM: MMCore | ||
// | ||
// DESCRIPTION: Pump device instance wrapper | ||
// | ||
// COPYRIGHT: Institut Pierre-Gilles de Gennes, Paris, 2024, | ||
// All Rights reserved | ||
// | ||
// LICENSE: This file is distributed under the "Lesser GPL" (LGPL) license. | ||
// License text is included with the source distribution. | ||
// | ||
// This file is distributed in the hope that it will be useful, | ||
// but WITHOUT ANY WARRANTY; without even the implied warranty | ||
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
// | ||
// IN NO EVENT SHALL THE COPYRIGHT OWNER OR | ||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES. | ||
// | ||
// AUTHOR: Lars Kool, Institut Pierre-Gilles de Gennes | ||
|
||
#pragma once | ||
|
||
#include "DeviceInstanceBase.h" | ||
|
||
class PumpInstance : public DeviceInstanceBase<MM::Pump> | ||
{ | ||
public: | ||
PumpInstance(CMMCore* core, | ||
std::shared_ptr<LoadedDeviceAdapter> adapter, | ||
const std::string& name, | ||
MM::Device* pDevice, | ||
DeleteDeviceFunction deleteFunction, | ||
const std::string& label, | ||
mm::logging::Logger deviceLogger, | ||
mm::logging::Logger coreLogger) : | ||
DeviceInstanceBase<MM::Pump>(core, adapter, name, pDevice, deleteFunction, label, deviceLogger, coreLogger) | ||
{} | ||
|
||
// Volume controlled pump specific | ||
int Home(); | ||
int Stop(); | ||
int invertDirection(bool state); | ||
int isDirectionInverted(bool& state); | ||
int setVolumeUl(double volUl); | ||
int getVolumeUl(double& volUl); | ||
int setMaxVolumeUl(double volUl); | ||
int getMaxVolumeUl(double& volUl); | ||
int setFlowrateUlPerSec(double flowrate); | ||
int getFlowrateUlPerSec(double& flowrate); | ||
int Dispense(); | ||
int DispenseDuration(double durSec); | ||
int DispenseVolume(double volUl); | ||
|
||
// Pressure controller specific | ||
int Calibrate(); | ||
int setPressure(double pressure); | ||
int getPressure(double& pressure); | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.