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.
# This is a combination of 4 commits.
# This is the 1st commit message: fixed license and added board test during initialization # This is the commit message micro-manager#2: Splitting Pump device into PressurePump and VolumetricPump # This is the commit message micro-manager#3: Squashed commits and fixed bug with setPumpPressure # This is the commit message micro-manager#4: Removed currentPumpDevices, added units to pump method names, removed spurious change of micromanager.sln
- Loading branch information
Showing
20 changed files
with
910 additions
and
32 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,11 +4,9 @@ | |
// SUBSYSTEM: DeviceAdapters | ||
//----------------------------------------------------------------------------- | ||
// DESCRIPTION: Adapter for the OpenFlexure Microscope. This adapter is used on the v5 Sangaboard. | ||
// - Tested with Sangaboard Firmware v1.0.1-dev || Sangaboard v0.5.x | ||
// | ||
// AUTHOR: Samdrea Hsu, [email protected], 06/22/2024 | ||
// | ||
// Karl Hoover (stuff such as programmable CCD size & the various image processors) | ||
// Arther Edelstein ( equipment error simulation) | ||
// AUTHOR: Samdrea Hsu, [email protected], 09/23/2024 | ||
// | ||
// COPYRIGHT: Samdrea Hsu | ||
// | ||
|
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 |
---|---|---|
|
@@ -4,11 +4,9 @@ | |
// SUBSYSTEM: DeviceAdapters | ||
//----------------------------------------------------------------------------- | ||
// DESCRIPTION: Adapter for the OpenFlexure Microscope. This adapter is used on the v5 Sangaboard. | ||
// - Tested with Sangaboard Firmware v1.0.1-dev || Sangaboard v0.5.x | ||
// | ||
// AUTHOR: Samdrea Hsu, [email protected], 06/22/2024 | ||
// | ||
// Karl Hoover (stuff such as programmable CCD size & the various image processors) | ||
// Arther Edelstein ( equipment error simulation) | ||
// AUTHOR: Samdrea Hsu, [email protected], 09/23/2024 | ||
// | ||
// COPYRIGHT: Samdrea Hsu | ||
// | ||
|
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
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,30 @@ | ||
// PROJECT: Micro-Manager | ||
// SUBSYSTEM: MMCore | ||
// | ||
// DESCRIPTION: PressurePump 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 "PressurePumpInstance.h" | ||
#include "../../MMDevice/MMDeviceConstants.h" | ||
|
||
// General pump functions | ||
int PressurePumpInstance::Stop() { return GetImpl()->Stop(); } | ||
int PressurePumpInstance::Calibrate() { return GetImpl()->Calibrate(); } | ||
bool PressurePumpInstance::requiresCalibration() { return GetImpl()->RequiresCalibration(); } | ||
int PressurePumpInstance::setPressure(double pressure) { return GetImpl()->SetPressure(pressure); } | ||
int PressurePumpInstance::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,45 @@ | ||
// 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 "DeviceInstanceBase.h" | ||
#include "../../MMDevice/MMDeviceConstants.h" | ||
|
||
class PressurePumpInstance : public DeviceInstanceBase<MM::PressurePump> | ||
{ | ||
public: | ||
PressurePumpInstance(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::PressurePump>(core, adapter, name, pDevice, deleteFunction, label, deviceLogger, coreLogger) | ||
{} | ||
|
||
|
||
int Calibrate(); | ||
int Stop(); | ||
bool requiresCalibration(); | ||
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
// 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 "VolumetricPumpInstance.h" | ||
#include "../../MMDevice/MMDeviceConstants.h" | ||
|
||
// Volume controlled pump functions | ||
int VolumetricPumpInstance::Home() { return GetImpl()->Home(); } | ||
int VolumetricPumpInstance::Stop() { return GetImpl()->Stop(); } | ||
bool VolumetricPumpInstance::requiresHoming() { return GetImpl()->RequiresHoming(); } | ||
int VolumetricPumpInstance::invertDirection(bool state) { return GetImpl()->InvertDirection(state); } | ||
int VolumetricPumpInstance::isDirectionInverted(bool& state) { return GetImpl()->IsDirectionInverted(state); } | ||
int VolumetricPumpInstance::setVolumeUl(double volume) { return GetImpl()->SetVolumeUl(volume); } | ||
int VolumetricPumpInstance::getVolumeUl(double& volume) { return GetImpl()->GetVolumeUl(volume); } | ||
int VolumetricPumpInstance::setMaxVolumeUl(double volume) { return GetImpl()->SetMaxVolumeUl(volume); } | ||
int VolumetricPumpInstance::getMaxVolumeUl(double& volume) { return GetImpl()->GetMaxVolumeUl(volume); } | ||
int VolumetricPumpInstance::setFlowrateUlPerSec(double flowrate) { return GetImpl()->SetFlowrateUlPerSecond(flowrate); } | ||
int VolumetricPumpInstance::getFlowrateUlPerSec(double& flowrate) { return GetImpl()->GetFlowrateUlPerSecond(flowrate); } | ||
int VolumetricPumpInstance::Start() { return GetImpl()->Start(); } | ||
int VolumetricPumpInstance::DispenseDuration(double durSec) { return GetImpl()->DispenseDuration(durSec); } | ||
int VolumetricPumpInstance::DispenseVolume(double volUl) { return GetImpl()->DispenseVolume(volUl); } |
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,53 @@ | ||
// 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 "DeviceInstanceBase.h" | ||
#include "../../MMDevice/MMDeviceConstants.h" | ||
|
||
class VolumetricPumpInstance : public DeviceInstanceBase<MM::VolumetricPump> | ||
{ | ||
public: | ||
VolumetricPumpInstance(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::VolumetricPump>(core, adapter, name, pDevice, deleteFunction, label, deviceLogger, coreLogger) | ||
{} | ||
|
||
int Home(); | ||
int Stop(); | ||
bool requiresHoming(); | ||
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 Start(); | ||
int DispenseDuration(double durSec); | ||
int DispenseVolume(double volUl); | ||
}; |
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.