Commit
·
44efec5
1
Parent(s):
c535626
Upload 49 files
Browse files- VenusLibraryDocumentation-DocsForGPT/.gitignore +156 -0
- VenusLibraryDocumentation-DocsForGPT/.readthedocs.yaml +17 -0
- VenusLibraryDocumentation-DocsForGPT/README.rst +4 -0
- VenusLibraryDocumentation-DocsForGPT/docs/Makefile +20 -0
- VenusLibraryDocumentation-DocsForGPT/docs/make.bat +35 -0
- VenusLibraryDocumentation-DocsForGPT/docs/requirements.txt +2 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/ASWGlobal.rst +18 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/Aliquot_for_EasySteps_v2.txt +50 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/Aliquot_with_EasySteps.rst +33 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/AlphaNumericConversion.rst +63 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/Array.txt +213 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/ArrayTools.rst +154 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/CheckCarrierPresence_V2.rst +34 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/ColourSchemeLibrary.rst +17 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/ConvertFileToASCII.rst +17 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/DataManagerInterface - unfinished.rst +52 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/DebugAssist.rst +19 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/Directory_Unfinished.rst +21 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/EditFileAttributes.rst +47 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/ErrorCodes.rst +9 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/ErrorReportLibrary.rst +45 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/ErrorSimulator.rst +190 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/Framework.txt +25 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/HSLDeckVisualize.rst +55 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/HSLFilLib.rst +215 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/HSLFilLibEx.rst +41 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/HSLStatistics.rst +95 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/HSLStrLib.rst +395 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/HSLZipLib.rst +49 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/HSL_SeqDailyTools.rst +61 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/If_And_If_Or.rst +39 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/Inheco ODTC - unfinished.rst +86 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/Labware_Properties.rst +169 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/Lookup.rst +20 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/Pipetting.rst +88 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/PlateEditor96 - unfinished.rst +32 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/RemoveTextDelimitersFromAcsiiTextFile.rst +18 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/RuntimeErrors.rst +752 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/STAR_Channel_Tools.rst +595 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/StrTokenize.rst +23 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/String.rst +83 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/SyntaxErrors.rst +97 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/Tools_Library.rst +64 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/TraceLevel.txt +262 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/Windows.txt +50 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/ZerouLScanner.txt +15 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/conf.py +36 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/index.rst +52 -0
- VenusLibraryDocumentation-DocsForGPT/docs/source/venus.txt +279 -0
VenusLibraryDocumentation-DocsForGPT/.gitignore
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
# Created by https://www.toptal.com/developers/gitignore/api/python,jupyternotebooks
|
| 3 |
+
# Edit at https://www.toptal.com/developers/gitignore?templates=python,jupyternotebooks
|
| 4 |
+
|
| 5 |
+
### JupyterNotebooks ###
|
| 6 |
+
# gitignore template for Jupyter Notebooks
|
| 7 |
+
# website: http://jupyter.org/
|
| 8 |
+
|
| 9 |
+
.ipynb_checkpoints
|
| 10 |
+
*/.ipynb_checkpoints/*
|
| 11 |
+
|
| 12 |
+
# IPython
|
| 13 |
+
profile_default/
|
| 14 |
+
ipython_config.py
|
| 15 |
+
|
| 16 |
+
# Remove previous ipynb_checkpoints
|
| 17 |
+
# git rm -r .ipynb_checkpoints/
|
| 18 |
+
|
| 19 |
+
### Python ###
|
| 20 |
+
# Byte-compiled / optimized / DLL files
|
| 21 |
+
__pycache__/
|
| 22 |
+
*.py[cod]
|
| 23 |
+
*$py.class
|
| 24 |
+
|
| 25 |
+
# C extensions
|
| 26 |
+
*.so
|
| 27 |
+
|
| 28 |
+
# Distribution / packaging
|
| 29 |
+
.Python
|
| 30 |
+
build/
|
| 31 |
+
develop-eggs/
|
| 32 |
+
dist/
|
| 33 |
+
downloads/
|
| 34 |
+
eggs/
|
| 35 |
+
.eggs/
|
| 36 |
+
lib/
|
| 37 |
+
lib64/
|
| 38 |
+
parts/
|
| 39 |
+
sdist/
|
| 40 |
+
var/
|
| 41 |
+
wheels/
|
| 42 |
+
share/python-wheels/
|
| 43 |
+
*.egg-info/
|
| 44 |
+
.installed.cfg
|
| 45 |
+
*.egg
|
| 46 |
+
MANIFEST
|
| 47 |
+
|
| 48 |
+
# PyInstaller
|
| 49 |
+
# Usually these files are written by a python script from a template
|
| 50 |
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
| 51 |
+
*.manifest
|
| 52 |
+
*.spec
|
| 53 |
+
|
| 54 |
+
# Installer logs
|
| 55 |
+
pip-log.txt
|
| 56 |
+
pip-delete-this-directory.txt
|
| 57 |
+
|
| 58 |
+
# Unit test / coverage reports
|
| 59 |
+
htmlcov/
|
| 60 |
+
.tox/
|
| 61 |
+
.nox/
|
| 62 |
+
.coverage
|
| 63 |
+
.coverage.*
|
| 64 |
+
.cache
|
| 65 |
+
nosetests.xml
|
| 66 |
+
coverage.xml
|
| 67 |
+
*.cover
|
| 68 |
+
*.py,cover
|
| 69 |
+
.hypothesis/
|
| 70 |
+
.pytest_cache/
|
| 71 |
+
cover/
|
| 72 |
+
|
| 73 |
+
# Translations
|
| 74 |
+
*.mo
|
| 75 |
+
*.pot
|
| 76 |
+
|
| 77 |
+
# Django stuff:
|
| 78 |
+
*.log
|
| 79 |
+
local_settings.py
|
| 80 |
+
db.sqlite3
|
| 81 |
+
db.sqlite3-journal
|
| 82 |
+
|
| 83 |
+
# Flask stuff:
|
| 84 |
+
instance/
|
| 85 |
+
.webassets-cache
|
| 86 |
+
|
| 87 |
+
# Scrapy stuff:
|
| 88 |
+
.scrapy
|
| 89 |
+
|
| 90 |
+
# Sphinx documentation
|
| 91 |
+
docs/_build/
|
| 92 |
+
|
| 93 |
+
# PyBuilder
|
| 94 |
+
.pybuilder/
|
| 95 |
+
target/
|
| 96 |
+
|
| 97 |
+
# Jupyter Notebook
|
| 98 |
+
|
| 99 |
+
# IPython
|
| 100 |
+
|
| 101 |
+
# pyenv
|
| 102 |
+
# For a library or package, you might want to ignore these files since the code is
|
| 103 |
+
# intended to run in multiple environments; otherwise, check them in:
|
| 104 |
+
# .python-version
|
| 105 |
+
|
| 106 |
+
# pipenv
|
| 107 |
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
| 108 |
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
| 109 |
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
| 110 |
+
# install all needed dependencies.
|
| 111 |
+
#Pipfile.lock
|
| 112 |
+
|
| 113 |
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
| 114 |
+
__pypackages__/
|
| 115 |
+
|
| 116 |
+
# Celery stuff
|
| 117 |
+
celerybeat-schedule
|
| 118 |
+
celerybeat.pid
|
| 119 |
+
|
| 120 |
+
# SageMath parsed files
|
| 121 |
+
*.sage.py
|
| 122 |
+
|
| 123 |
+
# Environments
|
| 124 |
+
.env
|
| 125 |
+
.venv
|
| 126 |
+
env/
|
| 127 |
+
venv/
|
| 128 |
+
ENV/
|
| 129 |
+
env.bak/
|
| 130 |
+
venv.bak/
|
| 131 |
+
|
| 132 |
+
# Spyder project settings
|
| 133 |
+
.spyderproject
|
| 134 |
+
.spyproject
|
| 135 |
+
|
| 136 |
+
# Rope project settings
|
| 137 |
+
.ropeproject
|
| 138 |
+
|
| 139 |
+
# mkdocs documentation
|
| 140 |
+
/site
|
| 141 |
+
|
| 142 |
+
# mypy
|
| 143 |
+
.mypy_cache/
|
| 144 |
+
.dmypy.json
|
| 145 |
+
dmypy.json
|
| 146 |
+
|
| 147 |
+
# Pyre type checker
|
| 148 |
+
.pyre/
|
| 149 |
+
|
| 150 |
+
# pytype static type analyzer
|
| 151 |
+
.pytype/
|
| 152 |
+
|
| 153 |
+
# Cython debug symbols
|
| 154 |
+
cython_debug/
|
| 155 |
+
|
| 156 |
+
# End of https://www.toptal.com/developers/gitignore/api/python,jupyternotebooks
|
VenusLibraryDocumentation-DocsForGPT/.readthedocs.yaml
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version: "2"
|
| 2 |
+
|
| 3 |
+
build:
|
| 4 |
+
os: "ubuntu-22.04"
|
| 5 |
+
tools:
|
| 6 |
+
python: "3.10"
|
| 7 |
+
|
| 8 |
+
python:
|
| 9 |
+
install:
|
| 10 |
+
- requirements: docs/requirements.txt
|
| 11 |
+
|
| 12 |
+
sphinx:
|
| 13 |
+
configuration: docs/source/conf.py
|
| 14 |
+
|
| 15 |
+
formats:
|
| 16 |
+
- pdf
|
| 17 |
+
- epub
|
VenusLibraryDocumentation-DocsForGPT/README.rst
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Venus Library Documentation
|
| 2 |
+
=======================================
|
| 3 |
+
|
| 4 |
+
Venus is a coding language wrapper used in the programming of devices such as the Hamilton Microlab STAR. This is unofficial documentation for it and it's libraries, compiled from official sources and personal troubleshooting. If any issues or mistakes are found, please message me and let me know.
|
VenusLibraryDocumentation-DocsForGPT/docs/Makefile
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Minimal makefile for Sphinx documentation
|
| 2 |
+
#
|
| 3 |
+
|
| 4 |
+
# You can set these variables from the command line, and also
|
| 5 |
+
# from the environment for the first two.
|
| 6 |
+
SPHINXOPTS ?=
|
| 7 |
+
SPHINXBUILD ?= sphinx-build
|
| 8 |
+
SOURCEDIR = source
|
| 9 |
+
BUILDDIR = build
|
| 10 |
+
|
| 11 |
+
# Put it first so that "make" without argument is like "make help".
|
| 12 |
+
help:
|
| 13 |
+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
| 14 |
+
|
| 15 |
+
.PHONY: help Makefile
|
| 16 |
+
|
| 17 |
+
# Catch-all target: route all unknown targets to Sphinx using the new
|
| 18 |
+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
| 19 |
+
%: Makefile
|
| 20 |
+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
VenusLibraryDocumentation-DocsForGPT/docs/make.bat
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
@ECHO OFF
|
| 2 |
+
|
| 3 |
+
pushd %~dp0
|
| 4 |
+
|
| 5 |
+
REM Command file for Sphinx documentation
|
| 6 |
+
|
| 7 |
+
if "%SPHINXBUILD%" == "" (
|
| 8 |
+
set SPHINXBUILD=sphinx-build
|
| 9 |
+
)
|
| 10 |
+
set SOURCEDIR=source
|
| 11 |
+
set BUILDDIR=build
|
| 12 |
+
|
| 13 |
+
if "%1" == "" goto help
|
| 14 |
+
|
| 15 |
+
%SPHINXBUILD% >NUL 2>NUL
|
| 16 |
+
if errorlevel 9009 (
|
| 17 |
+
echo.
|
| 18 |
+
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
| 19 |
+
echo.installed, then set the SPHINXBUILD environment variable to point
|
| 20 |
+
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
| 21 |
+
echo.may add the Sphinx directory to PATH.
|
| 22 |
+
echo.
|
| 23 |
+
echo.If you don't have Sphinx installed, grab it from
|
| 24 |
+
echo.http://sphinx-doc.org/
|
| 25 |
+
exit /b 1
|
| 26 |
+
)
|
| 27 |
+
|
| 28 |
+
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
| 29 |
+
goto end
|
| 30 |
+
|
| 31 |
+
:help
|
| 32 |
+
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
| 33 |
+
|
| 34 |
+
:end
|
| 35 |
+
popd
|
VenusLibraryDocumentation-DocsForGPT/docs/requirements.txt
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
sphinx==7.1.2
|
| 2 |
+
sphinx-rtd-theme==1.3.0rc1
|
VenusLibraryDocumentation-DocsForGPT/docs/source/ASWGlobal.rst
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
ASWGlobal
|
| 2 |
+
============================================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/ASWGlobal.pkg
|
| 5 |
+
|
| 6 |
+
The ASWGlobal library doesn't add any functions, but instead declares common HSL constants used in other libraries, SMTs, and methods. These are often used as the return values for functions. The constants it declares are:
|
| 7 |
+
|
| 8 |
+
- False, No, and Off are all assigned as being hslFalse
|
| 9 |
+
- True, Yes, and On are all assigned as being hslTrue
|
| 10 |
+
- For dialogue buttons, each one is assigned a specific number:
|
| 11 |
+
- Ok = 1
|
| 12 |
+
- Cancel = 2
|
| 13 |
+
- Abort = 3
|
| 14 |
+
- Retry = 4
|
| 15 |
+
- Ignore = 5
|
| 16 |
+
- Yes = 6
|
| 17 |
+
- No = 7
|
| 18 |
+
- Clicking STOP on a timer is assigned as being 3
|
VenusLibraryDocumentation-DocsForGPT/docs/source/Aliquot_for_EasySteps_v2.txt
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Aliquot for Easy Steps v2
|
| 2 |
+
=================================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/Aliquot_for_EasySteps_v2.pkg
|
| 5 |
+
|
| 6 |
+
This library adds two functions aimed at making aliquoting steps easier. The functions added are:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`CalcAliquot_v2_1`
|
| 9 |
+
- :ven:func:`CalcChannelPattern`
|
| 10 |
+
|
| 11 |
+
.. ven:function:: CalcAliquot_v2_1(sequence DispenseSequence, variable VolumePerWell, variable VolumePreAliquote, variable VolumePostAliquote, variable MaxVolumeTip, variable NumberOfDispense, variable NumberOfChannels, variable intNumberOfChannelsInstalled, array arrVolumeToAspirateByChannel, array arrVolumeToMixBeforeAspiration, array arrChannelPatternDispense, variable strChannelPatternAspirate)
|
| 12 |
+
|
| 13 |
+
This function calculates the important variables for performing an aliquote pipetting with Easy- or Single Steps
|
| 14 |
+
|
| 15 |
+
:params DispenseSequence: The sequence for the aliquots to be dispensed into
|
| 16 |
+
:params VolumePerWell: The volume of the aliquotes per well
|
| 17 |
+
:params VolumePreAliquote: The volume of the pre-aliquote
|
| 18 |
+
:params VolumePostAliquote: The volume of the post-aliquote
|
| 19 |
+
:params MaxVolumeTip: The maximum volume of the selected CO-RE Tip
|
| 20 |
+
:params NumberOfDispense: The number of dispense steps per aspiration
|
| 21 |
+
:params NumberOfChannels: The number of the channels to use for the process
|
| 22 |
+
:params intNumberOfChannelsInstalled: The number of channels installed in the system
|
| 23 |
+
:params arrVolumeToAspirateByChannel: An output of the array of volumes to aspirate by channel
|
| 24 |
+
:params arrVolumeToMixBeforeAspiration: An output of the array of volumes to mix before aspiration (typically used during the first aspiration only)
|
| 25 |
+
:params arrChannelPatternDispense: The output array of channel patterns for the dispense
|
| 26 |
+
:params strChannelPatternAspirate: An output string of the channel pattern to aspirate
|
| 27 |
+
:type DispenseSequence: Sequence
|
| 28 |
+
:type VolumePerWell: Variable
|
| 29 |
+
:type VolumePreAliquote: Variable
|
| 30 |
+
:type VolumePostAliquote: Variable
|
| 31 |
+
:type MaxVolumeTip: Variable
|
| 32 |
+
:type NumberOfDispense: Variable
|
| 33 |
+
:type NumberOfChannels: Variable
|
| 34 |
+
:type intNumberOfChannelsInstalled: Variable
|
| 35 |
+
:type arrVolumeToAspirateByChannel: Array
|
| 36 |
+
:type arrVolumeToMixBeforeAspiration: Array
|
| 37 |
+
:type arrChannelPatternDispense: Array
|
| 38 |
+
:type strChannelPatternAspirate: String
|
| 39 |
+
:return: None
|
| 40 |
+
:rtype: N/A
|
| 41 |
+
|
| 42 |
+
.. ven:function:: CalcChannelPattern(variable i_int_NumberOfPositions, variable i_int_NumberOfInstalledChannels, variable o_str_ChannelPattern)
|
| 43 |
+
|
| 44 |
+
This function creats a channel pattern based on the number of desired positions and the number of installed channels.
|
| 45 |
+
|
| 46 |
+
:params i_int_NumberOfPositions: The number of positions to use, which must be less than or equal to the Number of Installed Channels
|
| 47 |
+
:params i_int_NumberOfInstalledChannels: The number of channels installed on the instrument
|
| 48 |
+
:params o_str_ChannelPattern: The output channel pattern as a string
|
| 49 |
+
:return: None
|
| 50 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/Aliquot_with_EasySteps.rst
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Aliquot with Easy Steps
|
| 2 |
+
==========================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/Aliquot_for_EasySteps.pkg
|
| 5 |
+
|
| 6 |
+
The Aliquot with Easy Steps library adds one function aimed at making aliquoting with Easy- or Single steps easier. This library is outdated, the Aliquot_for_EasySteps_v2 library should be used instead. The function it adds is:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`CalcAliquote`
|
| 9 |
+
|
| 10 |
+
.. ven:function:: CalcAliquote(sequence DispenseSequence, variable VolumePerWell, variable VolumePreAliquote, variable VolumePostAliquote, variable MaxVolumeTip, variable VolumeToAspirate, variable NumberOfDispense, variable FullTrace, variable NumberOfChannels)
|
| 11 |
+
|
| 12 |
+
This function calculates the important variables for performing aliquoting with Easy- or Single steps.
|
| 13 |
+
|
| 14 |
+
:params DispenseSequence: The sequence for the aliquots to be dispensed into
|
| 15 |
+
:params VolumePerWell: The volume of the aliquots per well
|
| 16 |
+
:params VolumePreAliquote: The volume of the pre-aliquot
|
| 17 |
+
:params VolumePostAliquote: The volume of the post-aliquot
|
| 18 |
+
:params MaxVolumeTip: The maximum volume of the selected CO-RE Tip
|
| 19 |
+
:params VolumeToAspirate: The volume which has to be aspirated
|
| 20 |
+
:params NumberOfDispense: The number of dispense steps per aspiration
|
| 21 |
+
:params FullTrace: The detail level of the trace (1 is full, 0 is normal)
|
| 22 |
+
:params NumberOfChannels: The number of channels installed on the system
|
| 23 |
+
:type DispenseSequence: Sequence
|
| 24 |
+
:type VolumePerWell: Variable
|
| 25 |
+
:type VolumePreAliquote: Variable
|
| 26 |
+
:type VolumePostAliquote: Variable
|
| 27 |
+
:type MaxVolumeTip: Variable
|
| 28 |
+
:type VolumeToAspirate: Variable
|
| 29 |
+
:type NumberOfDispenses: Variable
|
| 30 |
+
:type FullTrace: Boolean
|
| 31 |
+
:type NumberOfChannels: Variable
|
| 32 |
+
:return: None
|
| 33 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/AlphaNumericConversion.rst
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Alpha Numeric Conversion
|
| 2 |
+
=============================================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/AlphaNumericConversion.pkg
|
| 5 |
+
|
| 6 |
+
This library adds four functions related to converting plate positions to their integer equivalents and vice versa. The functions it adds are:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`Alpha_Num_Add_0_to_Position`
|
| 9 |
+
- :ven:func:`Alpha_Num_Remove_0_from_Position`
|
| 10 |
+
- :ven:func:`Convert_Alpha_Numeric_to_Numbers`
|
| 11 |
+
- :ven:func:`Convert_Numbers_to_Alpha_Numeric`
|
| 12 |
+
|
| 13 |
+
.. ven:function:: Alpha_Num_Add_0_to_Position(variable io_Str_Position_ID)
|
| 14 |
+
|
| 15 |
+
This function takes a single position and adds the 0 between the letter and number if it needs one. Example would be A1 -> A01, B1 -> B01. Position variable must be a string.
|
| 16 |
+
|
| 17 |
+
:params io_Str_Position_ID: The alphanumeric position that the 0 needs to be added to.
|
| 18 |
+
:type io_Str_Position_ID: Variable
|
| 19 |
+
:return: None
|
| 20 |
+
:rtype: N/A
|
| 21 |
+
|
| 22 |
+
.. ven:function:: Alpha_Num_Remove_0_from_Position(variable io_Str_Position_ID)
|
| 23 |
+
|
| 24 |
+
This function takes a single position and removes the 0 if there is one. Example would be A01 -> A1, B01 -> B1. Position variable must be a string.
|
| 25 |
+
|
| 26 |
+
:params io_Str_Position_ID: The alphanumeric position that the 0 needs to be removed from.
|
| 27 |
+
:type io_Str_Position_ID: Variable
|
| 28 |
+
:return: None
|
| 29 |
+
:rtype: N/A
|
| 30 |
+
|
| 31 |
+
.. ven:function:: Convert_Alpha_Numeric_to_Numbers(variable i_Sort_by_Column, variable i_Alpha_Numeric_Value, variable i_Total_Rows, variable i_Total_Columns, variable o_Numeric_Value)
|
| 32 |
+
|
| 33 |
+
This function takes an alpha numeric value and returns the integer that corresponds to that position number. If a 1 is entered for "i_Sort_by_Column", the submethod will sort by columns, i.e. A1 -> 1, B1 -> 2, etc. If a 0 is entered, it will sort by rows, i.e. A1 -> 1, A2 -> 2.
|
| 34 |
+
|
| 35 |
+
:params i_Sort_by_Column: Whether the positions will be sorted by row (0) or by column (1)
|
| 36 |
+
:params i_Alpha_Numeric_Value: The alpha numeric value to be converted
|
| 37 |
+
:params i_Total_Rows: The total number of rows in the target labware, between 1 and 26.
|
| 38 |
+
:params i_Total_Columns: The total number of columns in the target labware, betweem 1 and 99.
|
| 39 |
+
:params o_Numeric_Value: The output converted position
|
| 40 |
+
:type i_Sort_by_Column: Boolean
|
| 41 |
+
:type i_Alpha_Numeric_Value: Variable
|
| 42 |
+
:type i_Total_Rows: Variable
|
| 43 |
+
:type i_Total_Columns: Variable
|
| 44 |
+
:type o_Numeric_Value: Variable
|
| 45 |
+
:return: None
|
| 46 |
+
:rtype: N/A
|
| 47 |
+
|
| 48 |
+
.. ven:function:: Convert_Numbers_to_Alpha_Numeric(variable i_Sort_by_Column, variable i_Numeric_Value, variable i_Total_Rows, variable i_Total_Columns, variable o_Alpha_Numeric_Value)
|
| 49 |
+
|
| 50 |
+
This function takes an integer value and returns the corresponding alpha numeric position. If a 1 is entered for "i_Sort_by_Column", the submethod will sort by columns, i.e. 1 -> A1, 2 -> B1, etc. If a 0 is entered, it will sort by rows, i.e. 1 -> A1, 2 -> A2.
|
| 51 |
+
|
| 52 |
+
:params i_Sort_by_Column: Whether the positions will be sorted by row (0) or by column (1)
|
| 53 |
+
:params i_Numeric_Value: The numeric value to be converted
|
| 54 |
+
:params i_Total_Rows: The total number of rows in the target labware, between 1 and 26.
|
| 55 |
+
:params i_Total_Columns: The total number of columns in the target labware, between 1 and 99.
|
| 56 |
+
:params o_Alpha_Numeric_Value: The output converted position
|
| 57 |
+
:type i_Sort_by_Column: Boolean
|
| 58 |
+
:type i_Numeric_Value: Variable
|
| 59 |
+
:type i_Total_Rows: Variable
|
| 60 |
+
:type i_Total_Columns: Variable
|
| 61 |
+
:type o_Alpha_Numeric_Value: Variable
|
| 62 |
+
:return: None
|
| 63 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/Array.txt
ADDED
|
@@ -0,0 +1,213 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Array (from HSLExtensions)
|
| 2 |
+
=========================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/Array.pkg
|
| 5 |
+
|
| 6 |
+
The array library from HSLExtensions adds functions to help manipulate 1-D arrays. The following functions are added:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`Append`
|
| 9 |
+
- :ven:func:`CompareArrays`
|
| 10 |
+
- :ven:func:`Concat`
|
| 11 |
+
- :ven:func:`ContainsDuplicates`
|
| 12 |
+
- :ven:func:`ContainsValue`
|
| 13 |
+
- :ven:func:`ConvertToBooleanArray`
|
| 14 |
+
- :ven:func:`ConvertToFloatArray`
|
| 15 |
+
- :ven:func:`ConvertToIntegerArray`
|
| 16 |
+
- :ven:func:`ConvertToStringArray`
|
| 17 |
+
- :ven:func:`Copy`
|
| 18 |
+
- :ven:func:`FindValue`
|
| 19 |
+
- :ven:func:`InitializeAllValues`
|
| 20 |
+
- :ven:func:`IsBooleanArray`
|
| 21 |
+
- :ven:func:`IsEmpty`
|
| 22 |
+
- :ven:func:`IsFloatArray`
|
| 23 |
+
- :ven:func:`IsIntegerArray`
|
| 24 |
+
- :ven:func:`IsStringArray`
|
| 25 |
+
- :ven:func:`Sort`
|
| 26 |
+
|
| 27 |
+
.. ven:function:: Append(array io_arrValuesA, array i_arrValuesB)
|
| 28 |
+
|
| 29 |
+
This function updates the array io_arrValuesA to add all the values from i_arrValuesB at the end of the array.
|
| 30 |
+
|
| 31 |
+
:params io_arrValuesA: The array to which the values will be added
|
| 32 |
+
:params i_arrValuesB: The array from which the values will be added
|
| 33 |
+
:type io_arrValuesA: Array
|
| 34 |
+
:type i_arrValuesB: Array
|
| 35 |
+
:return: None
|
| 36 |
+
:rtype: N/A
|
| 37 |
+
|
| 38 |
+
.. ven:function:: CompareArrays(array i_arrExpectedValues, array i_arrActualValues, array o_arrMissingValues, array o_arrNotExpectedValues)
|
| 39 |
+
|
| 40 |
+
This function compares two arrays and outputs arrays of values which are missing from the first array but present in the second, and values which are present in the second array but not in the first.
|
| 41 |
+
|
| 42 |
+
:params i_arrExpectedValues: The first array, which the second array will be checked against, usually is the array of expected values
|
| 43 |
+
:params i_arrActualValues: The second array, which will use the first array as a template when comparing against, usually is your "actual" array
|
| 44 |
+
:params o_arrMissingValues: An output array of values which are present in the first array but not the second
|
| 45 |
+
:params o_arrNotExpectedValues: An output array of values which are present in the second array but not the first (i.e. unexpected values in your actual data)
|
| 46 |
+
:type i_arrExpectedValues: Array
|
| 47 |
+
:type i_arrActualValues: Array
|
| 48 |
+
:type o_arrMissingValues: Array
|
| 49 |
+
:type o_arrNotExpectedValues: Array
|
| 50 |
+
:return: True if both arrays contain the same values (resulting in empty output arrays), false if arrays don't contain the same values (in which case the output arrays will have data in them)
|
| 51 |
+
:rtype: Boolean
|
| 52 |
+
|
| 53 |
+
.. ven:function:: Concat(array i_arrValuesA, array i_arrValuesB)
|
| 54 |
+
|
| 55 |
+
This function appends one array to the other and then returns the concatenated array. The difference between this and the :ven:func:`Append` function is that the Append function updates an existing array, whereas this function doesn't change the existing arrays and instead returns a new array.
|
| 56 |
+
|
| 57 |
+
:params i_arrValuesA: The array to which the values will be added
|
| 58 |
+
:params i_arrValuesB: The array from which the values will be added
|
| 59 |
+
:type i_arrValuesA: Array
|
| 60 |
+
:type i_arrValuesB: Array
|
| 61 |
+
:return: A new array which is the concatenated version of the input arrays
|
| 62 |
+
:rtype: Array
|
| 63 |
+
|
| 64 |
+
.. ven:function:: ContainsDuplicates(array i_arrValues)
|
| 65 |
+
|
| 66 |
+
This function checks whether the input array has multiple of the same value in it
|
| 67 |
+
|
| 68 |
+
:params i_arrValues: The array to be checked
|
| 69 |
+
:type i_arrValues: Array
|
| 70 |
+
:return: An array with all values which appear more than once in the input array
|
| 71 |
+
:rtype: Array
|
| 72 |
+
|
| 73 |
+
.. ven:function:: ContainsValue(array i_arrValues, variable i_varValue)
|
| 74 |
+
|
| 75 |
+
This function determines whether a value exists in an array without returning its index
|
| 76 |
+
|
| 77 |
+
:params i_arrValues: The array to be searched
|
| 78 |
+
:params i_varValue: The value to be searched for
|
| 79 |
+
:type i_arrValues: Array
|
| 80 |
+
:type i_varValue: Variable
|
| 81 |
+
:return: True if the value is present, false otherwise
|
| 82 |
+
:rtype: Boolean
|
| 83 |
+
|
| 84 |
+
.. ven:function:: ConvertToBooleanArray(array i_arrValues, variable o_blnSuccessfullyConverted)
|
| 85 |
+
|
| 86 |
+
This function converts the input array to an array with boolean values. If it is not possible to convert one or more values of the input array, the output will be false and the output array will be empty. Cannot interact with strings, will convert a non-zero int or float into a 1, and will turn a 0 float into a 0.
|
| 87 |
+
|
| 88 |
+
:params i_arrValues: The array to be converted
|
| 89 |
+
:params o_blnSuccessfullyConverted: A boolean which tells you whether the conversion was successful or not
|
| 90 |
+
:type i_arrValues: Array
|
| 91 |
+
:type o_blnSuccessfullyConverted: Boolean
|
| 92 |
+
:return: The boolean version of the input array
|
| 93 |
+
:rtype: Array
|
| 94 |
+
|
| 95 |
+
.. ven:function:: ConvertToFloatArray(array i_arrValues, variable o_blnSuccessfullyConverted)
|
| 96 |
+
|
| 97 |
+
This function converts the input array to an array with float values. If it is not possible to convert one or more values of the input array, the output will be false and the output array will be empty. Cannot interact with strings, will convert any int into a float.
|
| 98 |
+
|
| 99 |
+
:params i_arrValues: The array to be converted
|
| 100 |
+
:params o_blnSuccessfullyConverted: A boolean which tells you whether the conversion was successful or not
|
| 101 |
+
:type i_arrValues: Array
|
| 102 |
+
:type o_blnSuccessfullyConverted: Boolean
|
| 103 |
+
:return: The float version of the input array
|
| 104 |
+
:rtype: Array
|
| 105 |
+
|
| 106 |
+
.. ven:function:: ConvertToIntArray(array i_arrValues, variable o_blnSuccessfullyConverted)
|
| 107 |
+
|
| 108 |
+
This function converts the input array to one with integer values. If it is not possible to convert one or more values of the input array, the output will be false and the output array will be empty. Cannot interact with strings, will round any floats to the nearest integer.
|
| 109 |
+
|
| 110 |
+
:params i_arrValues: The array to be converted
|
| 111 |
+
:params o_blnSuccessfullyConverted: A boolean which tells you whether the conversion was successful or not
|
| 112 |
+
:type i_arrValues: Array
|
| 113 |
+
:type o_blnSuccessfullyConverted: Boolean
|
| 114 |
+
:return: The integer version of the input array
|
| 115 |
+
:rtype: Array
|
| 116 |
+
|
| 117 |
+
.. ven:function:: ConvertToStringArray(array i_arrValues)
|
| 118 |
+
|
| 119 |
+
This function converts the input array to one with string values.
|
| 120 |
+
|
| 121 |
+
:params i_arrValues: The array to be converted
|
| 122 |
+
:type i_arrValues: Array
|
| 123 |
+
:return: The float version of the input array
|
| 124 |
+
:rtype: Array
|
| 125 |
+
|
| 126 |
+
.. ven:function:: Copy(array i_arrValues)
|
| 127 |
+
|
| 128 |
+
This function will output an exact copy of the input array.
|
| 129 |
+
|
| 130 |
+
:params i_arrValues: The array to be copied
|
| 131 |
+
:type i_arrValues: Array
|
| 132 |
+
:return: A copy of the input array
|
| 133 |
+
:rtype: Array
|
| 134 |
+
|
| 135 |
+
.. ven:function:: FindValue(array i_arrValues, variable i_varValue)
|
| 136 |
+
|
| 137 |
+
This function will lookup the input variable within the input array and return a 1-based array of the indices of all positions that the input variable was found.
|
| 138 |
+
|
| 139 |
+
:params i_arrValues: The array to be searched
|
| 140 |
+
:params i_varValue: The variable to be searched for
|
| 141 |
+
:type i_arrValues: Array
|
| 142 |
+
:type i_varValue: Variable
|
| 143 |
+
:return: An array of all the locations that the input variable was found
|
| 144 |
+
:rtype: Array
|
| 145 |
+
|
| 146 |
+
.. ven:function:: InitializeAllValues(array io_arrValues, variable i_varValue)
|
| 147 |
+
|
| 148 |
+
This function sets all values within an array to the input variable. Does not work on empty arrays.
|
| 149 |
+
|
| 150 |
+
:params io_arrValues: The array in which all values will be converted.
|
| 151 |
+
:params i_varValue: The variable to which all values will be converted.
|
| 152 |
+
:type io_arrValues: Array
|
| 153 |
+
:type i_varValue: Variable
|
| 154 |
+
:return: None
|
| 155 |
+
:rtype: N/A
|
| 156 |
+
|
| 157 |
+
.. ven:function:: IsBooleanArray(array i_arrValues)
|
| 158 |
+
|
| 159 |
+
This function checks whether all values in the array are booleans.
|
| 160 |
+
|
| 161 |
+
:params i_arrValues: The array to be checked
|
| 162 |
+
:type i_arrValues: Array
|
| 163 |
+
:return: A boolean of whether the input array is all booleans or not
|
| 164 |
+
:rtype: Boolean
|
| 165 |
+
|
| 166 |
+
.. ven:function:: IsEmpty(array i_arrValues)
|
| 167 |
+
|
| 168 |
+
This function checks whether the input array is empty
|
| 169 |
+
|
| 170 |
+
:params i_arrValues: The array to be checked
|
| 171 |
+
:type i_arrValues: Array
|
| 172 |
+
:return: A boolean of whether the input array is empty or not
|
| 173 |
+
:rtype: Boolean
|
| 174 |
+
|
| 175 |
+
.. ven:function:: IsFloatArray(array i_arrValues)
|
| 176 |
+
|
| 177 |
+
This function checks whether all values in the array are floats.
|
| 178 |
+
|
| 179 |
+
:params i_arrValues: The array to be checked
|
| 180 |
+
:type i_arrValues: Array
|
| 181 |
+
:return: A boolean of whether the input array is all floats or not
|
| 182 |
+
:rtype: Boolean
|
| 183 |
+
|
| 184 |
+
.. ven:function:: IsIntegerArray(array i_arrValues)
|
| 185 |
+
|
| 186 |
+
This function checks whether all values in the array are integers.
|
| 187 |
+
|
| 188 |
+
:params i_arrValues: The array to be checked
|
| 189 |
+
:type i_arrValues: Array
|
| 190 |
+
:return: A boolean of whether the input array is all integers or not
|
| 191 |
+
:rtype: Boolean
|
| 192 |
+
|
| 193 |
+
.. ven:function:: IsStringArray(array i_arrValues)
|
| 194 |
+
|
| 195 |
+
This function checks whether all values in the array are strings.
|
| 196 |
+
|
| 197 |
+
:params i_arrValues: The array to be checked
|
| 198 |
+
:type i_arrValues: Array
|
| 199 |
+
:return: A boolean of whether the input array is all strings or not
|
| 200 |
+
:rtype: Boolean
|
| 201 |
+
|
| 202 |
+
.. ven:function:: Sort(array i_arrValues, variable i_intSortMode, o_bSuccessfulSorted)
|
| 203 |
+
|
| 204 |
+
This function outputs a sorted version of the array using the Shakersort sorting algorithm. All values in the array must share the same type for this function to work. Sort mode can either be 1 or 2, 1 is ascending and 2 is descending.
|
| 205 |
+
|
| 206 |
+
:params i_arrValues: The array containing the values to be sorted
|
| 207 |
+
:params i_intSortMode: Whether the array is to be sorted in ascending (1) or descending (2) order
|
| 208 |
+
:params o_bSuccesfulSorted: A boolean of whether the sort was successful or not
|
| 209 |
+
:type i_arrValues: Array
|
| 210 |
+
:type i_intSortMode: Variable
|
| 211 |
+
:type o_bSuccesfulSorted: Boolean
|
| 212 |
+
:return: A sorted copy of the array
|
| 213 |
+
:rtype: Array
|
VenusLibraryDocumentation-DocsForGPT/docs/source/ArrayTools.rst
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
ArrayTools
|
| 2 |
+
====================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/ArrayTools.pkg
|
| 5 |
+
|
| 6 |
+
The ArrayTools library provides the following functions:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`ArraySeqVLookup`
|
| 9 |
+
- :ven:func:`ArrayVLookup`
|
| 10 |
+
- :ven:func:`ConvertArrayOfNumericIntegersToString`
|
| 11 |
+
- :ven:func:`ConvertArrayOfNumericStringsToInteger`
|
| 12 |
+
- :ven:func:`Lookup`
|
| 13 |
+
- :ven:func:`Sort3ArraysByNumericAscendingOrder`
|
| 14 |
+
- :ven:func:`Update_Value_in_Array`
|
| 15 |
+
- :ven:func:`get_distinct_from_array`
|
| 16 |
+
- :ven:func:`mergeArrays`
|
| 17 |
+
- :ven:func:`removeValueFromArray_basedOnIndex`
|
| 18 |
+
|
| 19 |
+
.. ven:function:: ArraySeqVLookup(array i_arraySequencesA, array i_arrayValuesB, variable i_varCondition, array o_arraySequencesC)
|
| 20 |
+
|
| 21 |
+
Given 2 arrays A (Sequences) and B (Values) with same size
|
| 22 |
+
Retrieve all the sequences in A where B = input value
|
| 23 |
+
A(seq1, seq2, seq3,seq4,seq5, seq6, ...)
|
| 24 |
+
B(1, 2, 3, 1, 2, 3, ...)
|
| 25 |
+
|
| 26 |
+
Get from A all elements where B = 1
|
| 27 |
+
C(seq1, seq4, ...)
|
| 28 |
+
|
| 29 |
+
:param i_arraySequencesA: The input array of sequences to filter
|
| 30 |
+
:param i_arrayValuesB: The input array of variables to act as a filter
|
| 31 |
+
:param i_varCondition: The input value of the variable which is to be selected
|
| 32 |
+
:param o_arraySequencesC: The output array of the sequences whose index matches the indices in which the the value of the variable is equal to the filter
|
| 33 |
+
:type i_arraySequencesA: Array of sequences
|
| 34 |
+
:type i_arrayValuesB: Array of variables
|
| 35 |
+
:type i_varCondition: Variable
|
| 36 |
+
:type o_arraySequencesC: Array of sequences
|
| 37 |
+
:return: None
|
| 38 |
+
:rtype: N/A
|
| 39 |
+
|
| 40 |
+
.. ven:function:: ArrayVLookup(array i_arrayValuesA, array i_arrayValuesB, variable i_varCondition, array o_arrayValuesC)
|
| 41 |
+
|
| 42 |
+
Given 2 arrays of values A and B with same size
|
| 43 |
+
Retrieve all the elements in B where A = input value
|
| 44 |
+
|
| 45 |
+
A(100, 20, 15, 45, 42, 1, ...)
|
| 46 |
+
B(1, 2, 3, 1, 2, 3, ...)
|
| 47 |
+
|
| 48 |
+
Get from A all elements where B = 1
|
| 49 |
+
C(100, 15, ...)
|
| 50 |
+
|
| 51 |
+
:param i_arrayValuesA: The input array of variables to filter
|
| 52 |
+
:param i_arrayValuesB: The input array of variables to act as a filter
|
| 53 |
+
:param i_varCondition: The input value of the variable which is to be selected
|
| 54 |
+
:param o_arrayValuesC: The output array of the variables whose index matches the indices in which the value of the variable is equal to the filter
|
| 55 |
+
:type i_arrayValuesA: Array of variables
|
| 56 |
+
:type i_arrayValuesB: Array of variables
|
| 57 |
+
:type i_varCondition: Variable
|
| 58 |
+
:type o_arrayValuesC: Array of variables
|
| 59 |
+
:return: None
|
| 60 |
+
:rtype: N/A
|
| 61 |
+
|
| 62 |
+
.. ven:function:: ConvertArrayOfNumericIntegersToString(array i_arr1_int, array o_arr1_str)
|
| 63 |
+
|
| 64 |
+
Converts all the numeric integers within an array to strings.
|
| 65 |
+
|
| 66 |
+
:param i_arr1_int: The input array containing the integers to be converted
|
| 67 |
+
:param o_arr1_str: The output array containing the strings
|
| 68 |
+
:type i_arr1_int: Array of variables
|
| 69 |
+
:type o_arr1_str: Array of variables
|
| 70 |
+
:return: None
|
| 71 |
+
:rtype: N/A
|
| 72 |
+
|
| 73 |
+
.. ven:function:: ConvertArrayOfNumericStringsToIntegers(array i_arr1_str, array o_arr1_int)
|
| 74 |
+
|
| 75 |
+
Converts all the numeric strings within an array to integers.
|
| 76 |
+
|
| 77 |
+
:param i_arr1_str: The input array containing the strings to be converted
|
| 78 |
+
:param o_arr1_int: The output array containing the integers
|
| 79 |
+
:type i_arr1_str: Array of variables
|
| 80 |
+
:type o_arr1_int: Array of variables
|
| 81 |
+
:return: None
|
| 82 |
+
:rtype: N/A
|
| 83 |
+
|
| 84 |
+
.. ven:function:: Lookup(array array, variable item)
|
| 85 |
+
|
| 86 |
+
Looks up a value within an array, outputting a 1-based index of the value if found in the array, and a 0 if the value isn't found.
|
| 87 |
+
|
| 88 |
+
:param array: The input array to be searched
|
| 89 |
+
:param item: The variable to be searched for
|
| 90 |
+
:type array: Array
|
| 91 |
+
:type item: Variable
|
| 92 |
+
:return: None
|
| 93 |
+
:rtype: N/A
|
| 94 |
+
|
| 95 |
+
.. ven:function:: Sort3ArraysByNumericAscendingOrder(array io_array1, array io_array2, array io_array3)
|
| 96 |
+
|
| 97 |
+
Sorts 3 arrays by numeric ascending order. io_array1 must contain only numeric values; this one will be sorted and then the other arrays will update to match the new order of io_array1.
|
| 98 |
+
|
| 99 |
+
:param io_array1: The first of the arrays to be sorted, which must contain only numeric values.
|
| 100 |
+
:param io_array2: The second of the arrays to be sorted, which can contain any values.
|
| 101 |
+
:param io_array3: The third of the arrays to be sorted, which can contain any values.
|
| 102 |
+
:type io_array1: Array
|
| 103 |
+
:type io_array2: Array
|
| 104 |
+
:type io_array3: Array
|
| 105 |
+
:return: None
|
| 106 |
+
:rtype: N/A
|
| 107 |
+
|
| 108 |
+
.. ven:function:: Update_Value_in_Array(array i_array, variable i_value, variable i_index)
|
| 109 |
+
|
| 110 |
+
Overwrites a value in the array at a specified index.
|
| 111 |
+
|
| 112 |
+
:param i_array: The array in which the value will be changed.
|
| 113 |
+
:param i_value: The new value to be inserted into the array.
|
| 114 |
+
:param i_index: The 1-based index of the position in the array to be overwritten.
|
| 115 |
+
:type i_array: Array
|
| 116 |
+
:type i_value: Variable
|
| 117 |
+
:type i_index: Variable
|
| 118 |
+
:return: None
|
| 119 |
+
:rtype: N/A
|
| 120 |
+
|
| 121 |
+
.. ven:function:: get_distinct_from_array(array i_arr, array o_arr)
|
| 122 |
+
|
| 123 |
+
Gets all the values in an array that only appear once.
|
| 124 |
+
|
| 125 |
+
:param i_arr: The input array to be searched.
|
| 126 |
+
:param o_arr: The new output array containing the values which only appear once.
|
| 127 |
+
:type i_arr: Array
|
| 128 |
+
:type i_arr: Array
|
| 129 |
+
:return: None
|
| 130 |
+
:rtype: N/A
|
| 131 |
+
|
| 132 |
+
.. ven:function:: mergeArrays(array array1, array array2, array array3)
|
| 133 |
+
|
| 134 |
+
Concatenates two arrays and outputs the result into a third array.
|
| 135 |
+
|
| 136 |
+
:param array1: The first array of interest.
|
| 137 |
+
:param array2: The second array of interest.
|
| 138 |
+
:param array3: The resulting array of values.
|
| 139 |
+
:type array1: Array
|
| 140 |
+
:type array2: Array
|
| 141 |
+
:type array3: Array
|
| 142 |
+
:return: None
|
| 143 |
+
:rtype: N/A
|
| 144 |
+
|
| 145 |
+
.. ven:function:: removeValueFromArray_basedOnIndex(array i_array_elements, variable i_index_to_remove)
|
| 146 |
+
|
| 147 |
+
Removes a value from an array at the specified index.
|
| 148 |
+
|
| 149 |
+
:param i_array_elements: The array from which an item is to be removed.
|
| 150 |
+
:param i_index_to_remove: The 1-based index of the array from which the item is to be removed.
|
| 151 |
+
:type i_array_elements: Array
|
| 152 |
+
:type i_index_to_remove: Variable
|
| 153 |
+
:return: None
|
| 154 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/CheckCarrierPresence_V2.rst
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Check Carrier Presence v2
|
| 2 |
+
=======================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/CheckCarrierPresence.pkg
|
| 5 |
+
|
| 6 |
+
This library adds functions which allow you to check whether one or more carriers are loaded on the deck. It requires the sensor at each carrier position to be present and functional. The functions it adds are:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`CheckCarrierPresenceByArrOfLabIDs`
|
| 9 |
+
- :ven:func:`CheckCarrierPresenceByLabID`
|
| 10 |
+
|
| 11 |
+
.. ven:function:: CheckCarrierPresenceByArrOfLabIDs(variable iInstrument, array iArrLabIDs, array oArrLabIDsNotLoaded)
|
| 12 |
+
|
| 13 |
+
This function checks whether several carriers are loaded on the deck. This is done by checking if the sensor at each carrier is giving a signal. It will output an array of all the not-loaded carriers, as well as returning a boolean to say whether all carriers are loaded (0) or at least one carrier is not loaded properly (1)
|
| 14 |
+
|
| 15 |
+
:params iInstrument: The instrument present, must be ML_STAR
|
| 16 |
+
:params iArrLabIDs: The input array of the Lab IDs for the carriers being checked
|
| 17 |
+
:params oArrLabIDsNotLoaded: The output array of the Lab IDs of any carriers which are not loaded. Empty if every Lab ID is loaded.
|
| 18 |
+
:type iInstrument: Variable
|
| 19 |
+
:type iArrLabIDs: Array
|
| 20 |
+
:type oArrLabIDsNotLoaded: Array
|
| 21 |
+
:return: Boolean of whether all carriers are loaded correctly (0) or at least one carrier is not loaded correctly (1)
|
| 22 |
+
:rtype: Boolean
|
| 23 |
+
|
| 24 |
+
.. ven:function:: CheckCarrierPresenceByLabID(variable iInstrument, variable iLabIDOfCarrier)
|
| 25 |
+
|
| 26 |
+
This function checks whether a carrier is loaded on the deck. This is done by checking if the sensor at the carrier is giving a signal. It will return a boolean to say whether the carrier is not loaded (0) or loaded (1).
|
| 27 |
+
|
| 28 |
+
:params iInstrument: The instrument present, must be ML_STAR
|
| 29 |
+
:params iLabIDOfCarrier: The labware ID of the carrier being checked
|
| 30 |
+
:type iInstrument: Variable
|
| 31 |
+
:type iLabIDOfCarrier: variable
|
| 32 |
+
:return: A boolean determining whether the carrier is loaded (0) or not loaded (1)
|
| 33 |
+
:rtype: Boolean
|
| 34 |
+
|
VenusLibraryDocumentation-DocsForGPT/docs/source/ColourSchemeLibrary.rst
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
ColourSchemeLibrary
|
| 2 |
+
=============================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/ColourSchemeLibrary.pkg
|
| 5 |
+
|
| 6 |
+
The ColourSchemeLibrary allows the user to change the colour scheme of the Hamilton standard dialogues. It adds the following function
|
| 7 |
+
|
| 8 |
+
- :ven:func:`Assign`
|
| 9 |
+
|
| 10 |
+
.. ven:function:: Assign(variable i_str_ColorSchemeCode)
|
| 11 |
+
|
| 12 |
+
This function updates the colour scheme of the Standard Dialogues that will be used in the method where the library is executed. Requires HSLExtensions(File), HSLExtensions(Directory), and ASW Global.
|
| 13 |
+
|
| 14 |
+
:params i_str_ColorSchemeCode: The input color scheme code which is the int KitProviderCode. Hamilton = 0.
|
| 15 |
+
:type i_str_ColorSchemeCode: Variable
|
| 16 |
+
:return: None
|
| 17 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/ConvertFileToASCII.rst
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Convert File To ASCII
|
| 2 |
+
=========================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/ConvertFileToASCII.pkg
|
| 5 |
+
|
| 6 |
+
The Convert File to ASCII library adds the ability to convert Hamilton files to ASCII files. The function it adds is:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`ConvertFileToASCII`
|
| 9 |
+
|
| 10 |
+
.. ven:function:: ConvertFileToASCII(variable i_Str_SourceFile)
|
| 11 |
+
|
| 12 |
+
This function converts files from binary to ASCII. The file must be a Hamilton file.
|
| 13 |
+
|
| 14 |
+
:params i_Str_SourceFile: The path to the file which is being converted.
|
| 15 |
+
:type i_Str_SourceFile: Variable
|
| 16 |
+
:return: None
|
| 17 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/DataManagerInterface - unfinished.rst
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Data Manager Interface - unfinished
|
| 2 |
+
=============================
|
| 3 |
+
|
| 4 |
+
Data Manager Interface provides the following functions:
|
| 5 |
+
|
| 6 |
+
- ven:func:`AddColumn`
|
| 7 |
+
- ven:func:`AddTable`
|
| 8 |
+
- ven:func:`DeleteRows`
|
| 9 |
+
- ven:func:`ExecuteAggregateFunction`
|
| 10 |
+
- ven:func:`ExecuteSelectAllLineByLineCommand`
|
| 11 |
+
- ven:func:`ExecuteSelectCommand`
|
| 12 |
+
- ven:func:`ExportColumnsToCSVFile`
|
| 13 |
+
- ven:func:`ExportColumnsToExcelFile`
|
| 14 |
+
- ven:func:`ExportColumnsToXMLFile`
|
| 15 |
+
- ven:func:`ExportSelectedToCSVFile`
|
| 16 |
+
- ven:func:`ExportSelectedToExcelFile`
|
| 17 |
+
- ven:func:`ExportSelectedToXMLFile`
|
| 18 |
+
- ven:func:`ExportToCSVFile`
|
| 19 |
+
- ven:func:`ExportToExcelFile`
|
| 20 |
+
- ven:func:`ExportToXMLFile`
|
| 21 |
+
- ven:func:`GetRowCount`
|
| 22 |
+
- ven:func:`GetSelectCommandRow`
|
| 23 |
+
- ven:func:`ImportFromCSVFile`
|
| 24 |
+
- ven:func:`ImportFromExcelFile`
|
| 25 |
+
- ven:func:`ImportFromXMLFile`
|
| 26 |
+
- ven:func:`Init`
|
| 27 |
+
- ven:func:`InsertRow`
|
| 28 |
+
- ven:func:`InsertSortedRow`
|
| 29 |
+
- ven:func:`LoadDataManagerContent`
|
| 30 |
+
- ven:func:`RemoveColumn`
|
| 31 |
+
- ven:func:`RemoveTable`
|
| 32 |
+
- ven:func:`RenameColumn`
|
| 33 |
+
- ven:func:`ResetManager`
|
| 34 |
+
- ven:func:`SaveDataManagerContent`
|
| 35 |
+
- ven:func:`Terminate`
|
| 36 |
+
- ven:func:`UpdateRows`
|
| 37 |
+
|
| 38 |
+
.. ven:function:: AddColumn(variable i_strTableName, variable i_strColumnName, variable i_iColumnType, variable i_bAllowDBNull, variable i_oValue)
|
| 39 |
+
|
| 40 |
+
This function adds a column to the specified table.
|
| 41 |
+
|
| 42 |
+
:params i_strTableName: The name of the table
|
| 43 |
+
:params i_strColumnName: The name of the column to be added
|
| 44 |
+
:params i_iColumnType: The type of column as an integer (
|
| 45 |
+
|
| 46 |
+
INPUT:
|
| 47 |
+
i_strTableName : name of the table (string)
|
| 48 |
+
i_strColumnName : name of the column (string)
|
| 49 |
+
i_iColumnType : type of the column (int) (see enum DATAMANAGERINTERFACEBASE::VALUTYPE)
|
| 50 |
+
String = 1, Integer = 2, Double = 3, Boolean = 4
|
| 51 |
+
i_bAllowDBNull : set whether null is allowed for the columns (bool)
|
| 52 |
+
i_oValue : value which shall bes set to all row values of the new column (object, regarding to 'i_iColumnType')
|
VenusLibraryDocumentation-DocsForGPT/docs/source/DebugAssist.rst
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
DebugAssist
|
| 2 |
+
============================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/DebugAssist.pkg
|
| 5 |
+
|
| 6 |
+
The debug assist library adds one function aimed at helping the user identify, understand, and fix runtime errors. The function it adds is:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`FullErrorAnalysis`
|
| 9 |
+
|
| 10 |
+
This function can use the `ASWStandardDialog library <https://github.com/theonetruenerd/VenusPackages/blob/main/ASWStandardDialogs.pkg>`_ which makes the dialog nicer, but is not a requirement.
|
| 11 |
+
|
| 12 |
+
.. ven:function:: FullErrorAnalysis(variable i_PathForErrorDataAnalysis)
|
| 13 |
+
|
| 14 |
+
This function is designed to be called in the "OnAbort" submethod. It will look at the error that caused the abort to be triggered, convert the trace file error code into the more standard form, identify what that error corresponds with and hopefully suggest some initial things to check. In order for the dialogue to pop up, this function requires ASWStandardDialogues to be initialised.
|
| 15 |
+
|
| 16 |
+
:params i_PathForErrorDataAnalysis: A file path for where the error data will be exported. Currently not very important as the main bonus of the library is the dialogue that pops up, although the intention is to add more detail to this exported file.
|
| 17 |
+
:type i_PathForErrorDataAnalysis: Variable
|
| 18 |
+
:return: None
|
| 19 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/Directory_Unfinished.rst
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Directory (from HSLExtensions) - unfinished
|
| 2 |
+
=================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/Directory.pkg
|
| 5 |
+
|
| 6 |
+
The directory library from HSLExtensions adds functions which help interact with directories, files, and subdirectories. The following functions are added:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`Copy`
|
| 9 |
+
- :ven:func:`Create`
|
| 10 |
+
- :ven:func:`Delete`
|
| 11 |
+
- :ven:func:`Exists`
|
| 12 |
+
- :ven:func:`GetDirectoryInformation`
|
| 13 |
+
- :ven:func:`GetFileCount`
|
| 14 |
+
- :ven:func:`GetFileNames`
|
| 15 |
+
- :ven:func:`GetNewestFileName`
|
| 16 |
+
- :ven:func:`GetOldestFileName`
|
| 17 |
+
- :ven:func:`GetSubdirectories`
|
| 18 |
+
- :ven:func:`Move`
|
| 19 |
+
- :ven:func:`Rename`
|
| 20 |
+
|
| 21 |
+
.. ven:function:: Copy(string i_strDirectoryNameSource, string i_strDirectorynameTarget, variable i_bOverwriteExisting)
|
VenusLibraryDocumentation-DocsForGPT/docs/source/EditFileAttributes.rst
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
EditFileAttributes
|
| 2 |
+
===============================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/EditFileAttributes.pkg
|
| 5 |
+
|
| 6 |
+
The Edit File Attributes library adds the following functions:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`Make_Hidden`
|
| 9 |
+
- :ven:func:`Make_ReadOnly`
|
| 10 |
+
- :ven:func:`Remove_Hidden`
|
| 11 |
+
- :ven:func:`Remove_ReadOnly`
|
| 12 |
+
|
| 13 |
+
.. ven:function:: Make_Hidden(variable Filename)
|
| 14 |
+
|
| 15 |
+
Applies the hidden attribute to the file found at the path specified.
|
| 16 |
+
|
| 17 |
+
:params filename: The path to the file that is going to be modified.
|
| 18 |
+
:type filename: Variable
|
| 19 |
+
:return: None
|
| 20 |
+
:rtype: N/A
|
| 21 |
+
|
| 22 |
+
.. ven:function:: Make_ReadOnly(variable Filename)
|
| 23 |
+
|
| 24 |
+
Applies the read only attribute to the file found at the path specified.
|
| 25 |
+
|
| 26 |
+
:params filename: The path to the file that is going to be modified.
|
| 27 |
+
:type filename: Variable
|
| 28 |
+
:return: None
|
| 29 |
+
:rtype: N/A
|
| 30 |
+
|
| 31 |
+
.. ven:function:: Remove_Hidden(variable Filename)
|
| 32 |
+
|
| 33 |
+
Removes the hidden attribute from the file found at the path specified.
|
| 34 |
+
|
| 35 |
+
:params filename: The path to the file that is going to be modified.
|
| 36 |
+
:type filename: Variable
|
| 37 |
+
:return: None
|
| 38 |
+
:rtype: N/A
|
| 39 |
+
|
| 40 |
+
.. ven:function:: Remove_ReadOnly(variable Filename)
|
| 41 |
+
|
| 42 |
+
Removes the read only attribute from the file found at the path specified.
|
| 43 |
+
|
| 44 |
+
:params filename: The path to the file that is going to be modified.
|
| 45 |
+
:type filename: Variable
|
| 46 |
+
:return: None
|
| 47 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/ErrorCodes.rst
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Error Codes & Debugging
|
| 2 |
+
===========================
|
| 3 |
+
|
| 4 |
+
I will try compile as many different error codes and their explanations here, as well as potential causes and solutions to deal with them as and when they pop up. If there are any you wish to add, please message me on my discord "theonetruenerd" or email me at "tarunchapman@hotmail.com". Notably, the error codes that show up in the trace look slightly different to the ones presented here. If the trace error code looks like this: (0x12 - 0x3 - 0x45) [which corresponds to (MinorID - MajorID - SpecificErrorID)], then the translated error code will look like this: 0xa3120045. The error code should always be 10 digits long, with zeroes padding the bit between the 2 and 45.
|
| 5 |
+
|
| 6 |
+
The Major ID is usually assigned in the library which is causing the error; for example in HSLUtilLib2 there is a function called "Error" in which there is a static const variable called MajorID. The minor ID corresponds to the general type of error; in HSLUtilLib2 "0x01" is used to refer to a general runtime error.
|
| 7 |
+
|
| 8 |
+
- :ref:`Runtime Errors <RuntimeErrors>`
|
| 9 |
+
- :ref:`Syntax Errors <SyntaxErrors>`
|
VenusLibraryDocumentation-DocsForGPT/docs/source/ErrorReportLibrary.rst
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Error Report Library
|
| 2 |
+
===================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/ErrorReportLibrary.pkg
|
| 5 |
+
|
| 6 |
+
The error report library generates concise reports on both general errors and pipetting errors that occur during a run, extracting the information from the trace file. It adds the following functions:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`CopyActiveTraceFile`
|
| 9 |
+
- :ven:func:`GenerateGeneralErrorsReport`
|
| 10 |
+
- :ven:func:`GeneratePipettingErrorsReport`
|
| 11 |
+
|
| 12 |
+
.. ven:function:: CopyActiveTraceFile(variable o_strTraceCopyFilePath)
|
| 13 |
+
|
| 14 |
+
Finds the trace file that is currently active (i.e. associated with the current run) and makes a copy of it, which it saves in the location specified.
|
| 15 |
+
|
| 16 |
+
:params o_strTraceCopyFilePath: The location that the copy of the trace file will be created in
|
| 17 |
+
:type o_strTraceCopyFilePath: Variable
|
| 18 |
+
:return: None
|
| 19 |
+
:rtype: N/A
|
| 20 |
+
|
| 21 |
+
.. ven:function:: GenerateGeneralErrorsReport(variable i_strTraceFilePath, variable o_strPDF_FilePath)
|
| 22 |
+
|
| 23 |
+
Reads the active trace file, locates errors found within it and generates an error report on errors found in non-pipetting steps
|
| 24 |
+
|
| 25 |
+
:params i_strTraceFilePath: The path to the current trace file
|
| 26 |
+
:params o_strPDF_FilePath: The file path for the exported PDF of the error report
|
| 27 |
+
:type i_strTraceFilePath: Variable
|
| 28 |
+
:type o_strPDF_FilePath: Variable
|
| 29 |
+
:return: None
|
| 30 |
+
:rtype: N/A
|
| 31 |
+
|
| 32 |
+
.. ven:function:: GeneratePipettingErrorsReport(variable i_strTraceFilePath, variable i_strTemplateFilePath, variable i_intWriteRowStart, o_strPDF_FilePath)
|
| 33 |
+
|
| 34 |
+
Reads the active trace file, locates errors in the pipetting steps within it and generates an error report for the pipetting steps only
|
| 35 |
+
|
| 36 |
+
:params i_strTraceFilePath: The path to the current trace file
|
| 37 |
+
:params i_strTemplateFilePath: The path to the excel file used as a template for generating the report; should be installed when the library is unpacked
|
| 38 |
+
:params i_intWriteRowStart: Which row of the excel file to begin the report on; usually two, can be more than two
|
| 39 |
+
:params o_strPDF_FilePath: The file path for the exported PDF of the error report
|
| 40 |
+
:type i_strTraceFilePath: Variable
|
| 41 |
+
:type i_strTemplateFilePath: Variable
|
| 42 |
+
:type i_intWriteRowStart: Variable
|
| 43 |
+
:type o_strPDF_FilePath: Variable
|
| 44 |
+
:return: None
|
| 45 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/ErrorSimulator.rst
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Error Simulator
|
| 2 |
+
======================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/ErrorSimulator.pkg
|
| 5 |
+
|
| 6 |
+
This library adds the ability to simulate a variety of errors, to assist with debugging or custom error handling. The functions it adds are:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`AA_Abstract`
|
| 9 |
+
- :ven:func:`STEP1_PrepareRegistryAndCfgFile`
|
| 10 |
+
- :ven:func:`STEP2a_SimulateError_Channels`
|
| 11 |
+
- :ven:func:`STEP2b_SimulateError_COREGripper`
|
| 12 |
+
- :ven:func:`STEP2c_SimulateError_iSWAP`
|
| 13 |
+
- :ven:func:`STEP2d_SimulateError_96Head`
|
| 14 |
+
- :ven:func:`STEP2e_SimulateError_384Head`
|
| 15 |
+
- :ven:func:`STEP2f_SimulateError_BarcodeReading`
|
| 16 |
+
- :ven:func:`STEP2g_SimulateError_Autoload`
|
| 17 |
+
- :ven:func:`STEP2h_SimulateError_CRWashstation`
|
| 18 |
+
- :ven:func:`STEP3_Restore_BackupCfgFile`
|
| 19 |
+
- :ven:func:`STEP4_Optional_SwitchChecksum_ON`
|
| 20 |
+
|
| 21 |
+
.. ven:function:: AA_Abstract()
|
| 22 |
+
|
| 23 |
+
This function does nothing. In the submethod library itself it simply lists the changelog.
|
| 24 |
+
|
| 25 |
+
.. ven:function:: STEP1_PrepareRegistryAndCfgFile(device ML_STAR)
|
| 26 |
+
|
| 27 |
+
This function prepares the system files and registry to perform the error simulation. You can put this step at the beginning of your method, and you can disable it after the 1st run, once all registry and configuration settings are done. It switches off the checksum in the registry, asking for confirmation to modify the registry during run. It converts the \Config\ML_STAR_Simulator.cfg file to ASCII. It creates a copy of ML_STAR_Simulator.cfg named ML_STAR_Simulator.cfg.bak for future restoration if needed. It replaces the string reload "0" with reload "1".
|
| 28 |
+
|
| 29 |
+
:params ML_STAR: The instrument being used. Should be ML_STAR.
|
| 30 |
+
:type ML_STAR: Device
|
| 31 |
+
:return: None
|
| 32 |
+
:rtype: N/A
|
| 33 |
+
|
| 34 |
+
.. ven:function:: STEP2a_SimulateError_Channels(variable ChannelNumber, variable WhenSimulateError, variable ErrorToSimulate, device ML_STAR)
|
| 35 |
+
|
| 36 |
+
This function simulates an error in the channels. It can simulate an error of your choice (between errors 1 and 12) in a desired channel at any step of the pipetting process. The error codes are:
|
| 37 |
+
- 1....... Liquid Level not found (error 06/70)
|
| 38 |
+
- 2....... Not enough liquid (error 06/71)
|
| 39 |
+
- 3....... Liquid level not found with Dual LLD ( error 06/73)
|
| 40 |
+
- 4....... Clot error (error 04/81)
|
| 41 |
+
- 5....... Liquid not correctly aspirated (error 06/80)
|
| 42 |
+
- 6.......Tip already present (error 07/00)
|
| 43 |
+
- 7....... No Tip (error 08/00)
|
| 44 |
+
- 8....... Wrong tip type detected (error 08/78)
|
| 45 |
+
- 9....... Syntax / parameter out of range (error 01/00)
|
| 46 |
+
- 10....... Hardware (error 02/00)
|
| 47 |
+
- 11....... Not Executed (error 03/00)
|
| 48 |
+
- 12....... Not Completed (error 10/00)
|
| 49 |
+
|
| 50 |
+
:params ChannelNumber: A string of the channel(s) in which the error is to be simulated, e.g. "1,2,4,7"
|
| 51 |
+
:params WhenSimulateError: The step of the process in which the error is desired to be simulated. 1 = Aspiration, 2 = Dispense, 3 = Tip pickup, 4 = Tip eject
|
| 52 |
+
:params ErrorToSimulate: Integer corresponding to the desired simulated error, key listed in function description.
|
| 53 |
+
:params ML_STAR: The instrument being used. Should be ML_STAR.
|
| 54 |
+
:type ChannelNumber: Variable
|
| 55 |
+
:type WhenSimulateError: Variable
|
| 56 |
+
:type ErrorToSimulate: Variable
|
| 57 |
+
:type ML_STAR: Device
|
| 58 |
+
:return: None
|
| 59 |
+
:rtype: N/A
|
| 60 |
+
|
| 61 |
+
.. ven:function:: STEP2b_SimulateError_COREGripper(variable ChannelNumber, variable WhenSimulateError, variable ErrorToSimulate, device ML_STAR)
|
| 62 |
+
|
| 63 |
+
This function simulates an error in the CO-RE gripper. It can simulate an error of your choice (between errors 1 and 4) in a desired channel at any step of the process. The error codes are:
|
| 64 |
+
- 1....... Can´t get the CORE grippers (error 08/75)
|
| 65 |
+
- 2....... Step lost in Z drive, crash against something (error 02/62)
|
| 66 |
+
- 3....... Hardware (error 02/00)
|
| 67 |
+
- 4....... Read Barcode Error (05/00)
|
| 68 |
+
|
| 69 |
+
:params ChannelNumber: A string of the channel(s) in which the error is to be simulated, e.g. "1,2,4,7"
|
| 70 |
+
:params WhenSimulateError: The step of the process in which the error is desired to be simulated. 1 = Pickup CO-RE, 2 = Get Plate, 3 = Put Plate, 4 = Eject CO-RE gripper
|
| 71 |
+
:params ErrorToSimulate: Integer corresponding to the desired simulated error, key listed in function description.
|
| 72 |
+
:params ML_STAR: The instrument being used. Should be ML_STAR.
|
| 73 |
+
:type ChannelNumber: Variable
|
| 74 |
+
:type WhenSimulateError: Variable
|
| 75 |
+
:type ErrorToSimulate: Variable
|
| 76 |
+
:type ML_STAR: Device
|
| 77 |
+
:return: None
|
| 78 |
+
:rtype: N/A
|
| 79 |
+
|
| 80 |
+
.. ven:function:: STEP2c_SimulateError_iSWAP(variable WhenSimulateError, variable ErrorToSimulate, device ML_STAR)
|
| 81 |
+
|
| 82 |
+
This function simulates an error in the iSWAP. It can simulate an error of your choice (between errors 1 and 4) at any step of the process. The error codes are:
|
| 83 |
+
- 1...... Expected object not found (error 21/94)
|
| 84 |
+
- 2...... Step lost in Z drive, crash against something (error 02/62)
|
| 85 |
+
- 3...... Hardware (error 02/00)
|
| 86 |
+
- 4...... Object lost (error 23/96)
|
| 87 |
+
|
| 88 |
+
:params WhenSimulateError: The step of the process in which the error is desired to be simulated. 1 = Get Plate, 2 = Put Plate
|
| 89 |
+
:params ErrorToSimulate: Integer corresponding to the desired simulated error, key listed in function description.
|
| 90 |
+
:params ML_STAR: The instrument being used. Should be ML_STAR.
|
| 91 |
+
:type WhenSimulateError: Variable
|
| 92 |
+
:type ErrorToSimulate: Variable
|
| 93 |
+
:type ML_STAR: Device
|
| 94 |
+
:return: None
|
| 95 |
+
:rtype: N/A
|
| 96 |
+
|
| 97 |
+
.. ven:function:: STEP2d_SimulateError_96Head(variable WhenSimulateError, variable ErrorToSimulate, device ML_STAR)
|
| 98 |
+
|
| 99 |
+
This function simulates an error in the 96-head. It can simulate an error of your choice (between errors 1 and 12 - not all available) at any step of the process. The error codes are:
|
| 100 |
+
- 1....... Liquid Level not found (error 06/70)
|
| 101 |
+
- 2....... Not enough liquid (error 06/71)
|
| 102 |
+
- 6....... Tip already present (error 07/00)
|
| 103 |
+
- 7....... No Tip (error 08/00)
|
| 104 |
+
- 8....... Wrong tip type detected (error 08/78)
|
| 105 |
+
- 9....... Syntax / parameter out of range (error 01/00)
|
| 106 |
+
- 10...... Hardware (error 02/00)
|
| 107 |
+
- 11...... Not Executed (error 03/00)
|
| 108 |
+
- 12...... Not Completed (error 10/00)
|
| 109 |
+
|
| 110 |
+
:params WhenSimulateError: The step of the process in which the error is desired to be simulated. 1 = Aspiration, 2 = Dispense, 3 = Tip Pickup, 4 = Tip eject, 5 = Wash
|
| 111 |
+
:params ErrorToSimulate: Integer corresponding to the desired simulated error, key listed in function description.
|
| 112 |
+
:params ML_STAR: The instrument being used. Should be ML_STAR.
|
| 113 |
+
:type WhenSimulateError: Variable
|
| 114 |
+
:type ErrorToSimulate: Variable
|
| 115 |
+
:type ML_STAR: Device
|
| 116 |
+
:return: None
|
| 117 |
+
:rtype: N/A
|
| 118 |
+
|
| 119 |
+
.. ven:function:: STEP2e_SimulateError_384head(variable WhenSimulateError, variable ErrorToSimulate, device ML_STAR)
|
| 120 |
+
|
| 121 |
+
This function simulates an error in the 384-head. It can simulate an error of your choice (between errors 1 and 12 - not all available) at any step of the process. The error codes are:
|
| 122 |
+
- 1....... Liquid Level not found (error 06/70)
|
| 123 |
+
- 2....... Not enough liquid (error 06/71)
|
| 124 |
+
- 6....... Tip already present (error 07/00)
|
| 125 |
+
- 7....... No Tip (error 08/00)
|
| 126 |
+
- 8....... Wrong tip type detected (error 08/78)
|
| 127 |
+
- 9....... Syntax / parameter out of range (error 01/00)
|
| 128 |
+
- 10...... Hardware (error 02/00)
|
| 129 |
+
- 11...... Not Executed (error 03/00)
|
| 130 |
+
- 12...... Not Completed (error 10/00)
|
| 131 |
+
|
| 132 |
+
:params WhenSimulateError: The step of the process in which desired error is to be simulated. 1 = Aspiration, 2 = Dispense, 3 = Tip Pickup, 4 = Tip eject, 5 = Wash.
|
| 133 |
+
:params ErrorToSimulate: Integer corresponding to the desired simulated error, key listed in function definition.
|
| 134 |
+
:params ML_STAR: The instrument being used. Should be ML_STAR
|
| 135 |
+
:type WhenSimulatedError: Variable
|
| 136 |
+
:type ErrorToSimulate: Variable
|
| 137 |
+
:type ML_STAR: Device
|
| 138 |
+
:return: None
|
| 139 |
+
:rtype: N/A
|
| 140 |
+
|
| 141 |
+
.. ven:function:: STEP2f_SimulateError_BarcodeReading(variable WhenSimulateError, device ML_STAR)
|
| 142 |
+
|
| 143 |
+
This function simulates an error during the barcode reading step. It can simulate the error as though it was either the CO-RE grips or the iSWAP involved.
|
| 144 |
+
|
| 145 |
+
:params WhenSimulateError: Poorly labelled variable, likely copied and pasted. This is not when the error is simulated; it is instead whether the barcode is being read with CO-RE grips (1) or the iSWAP (2)
|
| 146 |
+
:param ML_STAR: The instrument being used. Should be ML_STAR
|
| 147 |
+
:type WhenSimulateError: Variable
|
| 148 |
+
:type ML_STAR: Device
|
| 149 |
+
:return: None
|
| 150 |
+
:rtype: N/A
|
| 151 |
+
|
| 152 |
+
.. ven:function:: STEP2g_SimulateError_Autoload(variable notReadPosition_Str, variable notPresentPosition_Str, device ML_STAR)
|
| 153 |
+
|
| 154 |
+
This submethod simulates the "Barcode not read" and "Labware not Present Errors".you can enter positions with errors separated by a comma
|
| 155 |
+
|
| 156 |
+
:params notReadPosition_Str: A string of comma separated values with the positions in which you want to simulate barcode errors
|
| 157 |
+
:params notPresentPosition_Str: A string of comma separated values with the positions in which you want to simulate labware not present errors.
|
| 158 |
+
:params ML_STAR: The instrument being used. Should be ML_STAR.
|
| 159 |
+
:type notReadPosition_Str: Variable
|
| 160 |
+
:type notPresentPosition_Str: Variable
|
| 161 |
+
:type ML_STAR: Device
|
| 162 |
+
:return: None
|
| 163 |
+
:rtype: N/A
|
| 164 |
+
|
| 165 |
+
.. ven:function:: STEP2h_SimulateError_CRWashstation(variable errorToSimulate, device ML_STAR)
|
| 166 |
+
|
| 167 |
+
This function simulates an error when starting the washing with the CR washstation
|
| 168 |
+
|
| 169 |
+
:params errorToSimulate: The error being simulated. 1 = Not washing liquid error, 2 = hardware error.
|
| 170 |
+
:params ML_STAR: The instrument being used. Should be ML_STAR.
|
| 171 |
+
:type errorToSimulate: Variable
|
| 172 |
+
:type ML_STAR: Device
|
| 173 |
+
:return: None
|
| 174 |
+
:rtype: N/A
|
| 175 |
+
|
| 176 |
+
.. ven:function:: STEP3_Restore_BackupCfgFile(device ML_STAR)
|
| 177 |
+
|
| 178 |
+
This function restores the backup configuration file created in function STEP1_PrepareRegistryAndCfgFile
|
| 179 |
+
|
| 180 |
+
:params ML_STAR: The instrument being used. Should be ML_STAR.
|
| 181 |
+
:type ML_STAR: Device
|
| 182 |
+
:return: None
|
| 183 |
+
:rtype: N/A
|
| 184 |
+
|
| 185 |
+
.. ven:function:: STEP4_Optional_SwitchChecksum_ON()
|
| 186 |
+
|
| 187 |
+
This function is optional. Use it at the end of your method if you want to Switch the File Checksum ON in the registry
|
| 188 |
+
|
| 189 |
+
:return: None
|
| 190 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/Framework.txt
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Framework (from HSLExtensions)
|
| 2 |
+
=========================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/Framework.pkg
|
| 5 |
+
|
| 6 |
+
The framework library from HSLExtensions provides two visible functions, but is also required for a few of the other HSLExtension libraries. It uses the functionality of the ASW Standard TraceLevel library. The functions it adds are:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`GetVersion`
|
| 9 |
+
- :ven:func:`SetTraceLevel`
|
| 10 |
+
|
| 11 |
+
.. ven:function:: GetVersion()
|
| 12 |
+
|
| 13 |
+
This function gets the framework version
|
| 14 |
+
|
| 15 |
+
:return: The framework version
|
| 16 |
+
:rtype: String
|
| 17 |
+
|
| 18 |
+
.. ven:function:: SetTraceLevel(variable i_intTraceLevel)
|
| 19 |
+
|
| 20 |
+
This function sets the trace level of the framework.
|
| 21 |
+
|
| 22 |
+
:params i_intTraceLevel: The trace level, for the ASWStandard::TraceLevel library. 0 = TRACE_LEVEL_NONE, 1 = TRACE_LEVEL_RELEASE, 2 = TRACE_LEVEL_DEBUG.
|
| 23 |
+
:type i_intTraceLevel: Variable
|
| 24 |
+
:return: None
|
| 25 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/HSLDeckVisualize.rst
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
HSLDeckVisualize
|
| 2 |
+
======================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/HSLDeckVisualize.pkg
|
| 5 |
+
|
| 6 |
+
The HSLDeckVisualize library adds functions which will update the layout shown in the run control to account for manually performed actions or cause specific effects to occur. The functions it adds are:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`UpdateUsedPositions`
|
| 9 |
+
- :ven:func:`UpdateUsedLabware`
|
| 10 |
+
- :ven:func:`UpdateLoadedLabware`
|
| 11 |
+
|
| 12 |
+
.. ven:function:: UpdateUsedPositions(device dev, sequence positions, variable action, variable description)
|
| 13 |
+
|
| 14 |
+
This function updates the list of used positions and updates the view.
|
| 15 |
+
|
| 16 |
+
:params dev: The instrument for which the associated deck view will be updated. ML_STAR should be the only option visible in the dropdown.
|
| 17 |
+
:params positions: The sequence of labware and positions IDs to be updated.
|
| 18 |
+
:params action: The action to be performed on the specified positions. The same action will be performed for all positions. Action can be an integer from 0-6, with the values each representing a different event. 0 = Position is selected, 1 = Processing, 2 = Reserved, 3 = Error, 4 = Processed, 5 = Reset action state to none, 6 = Position selected and flashing.
|
| 19 |
+
:params description: The description displayed in the first section of the status bar in the deck view.
|
| 20 |
+
:type dev: Device
|
| 21 |
+
:type positions: Sequence
|
| 22 |
+
:type action: Variable
|
| 23 |
+
:type description: Variable
|
| 24 |
+
:return: None
|
| 25 |
+
:rtype: N/A
|
| 26 |
+
|
| 27 |
+
.. ven:function:: UpdateUsedLabware(device dev, array labware, array action, variable description)
|
| 28 |
+
|
| 29 |
+
This function updates the list of used labware and updates the view accordingly. The labware and action arrays must be the same size.
|
| 30 |
+
|
| 31 |
+
:params dev: The instrument for which the associated deck view will be updated. ML_STAR should be the only option visible in the dropdown.
|
| 32 |
+
:params labware: The array of labware IDs for updating
|
| 33 |
+
:params action: The array of actions which will be applied to the associated labware at the same index in the labware array. Action can be an integer from 0-6, with the values each representing a different event. 0 = Position is seleccted, 1 = Processing, 2 = Reserved, 3 = Error, 4 = Processed, 5 = Reset action state to none, 6 = Position selected and flashing.
|
| 34 |
+
:params description: The description displayed in the first section of the status bar in the deck view.
|
| 35 |
+
:type dev: Device
|
| 36 |
+
:type labware: Array
|
| 37 |
+
:type action: Array
|
| 38 |
+
:type description: Variable
|
| 39 |
+
:return: None
|
| 40 |
+
:rtype: N/A
|
| 41 |
+
|
| 42 |
+
.. ven:function:: UpdateLoadedLabware(device dev, array labware, array state, variable description)
|
| 43 |
+
|
| 44 |
+
This function updates the list of loaded labware and updates the view accordingly. The labware and action arrays must be the same size.
|
| 45 |
+
|
| 46 |
+
:params dev: The instrument for which the associated deck view will be updated. ML_STAR should be the only option visible in the dropdown.
|
| 47 |
+
:params labware: The array of labware IDs for updating
|
| 48 |
+
:params state: The array of load state which will be applied to the associated labware at the same index in the labware array. State can be an integer from 0-5, with the values each representing a different state. 0 = unload the labware and make not visible, 1 = load the labware, 2 = preparing to unload, 3 = preparing to load, 4 = labware will flash, 5 = labware will flash
|
| 49 |
+
:params description: The description displayed in the first section of the status bar in the deck view.
|
| 50 |
+
:type dev: Device
|
| 51 |
+
:type labware: Array
|
| 52 |
+
:type state: Array
|
| 53 |
+
:type description: Variable
|
| 54 |
+
:return: None
|
| 55 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/HSLFilLib.rst
ADDED
|
@@ -0,0 +1,215 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
HSLFilLib
|
| 2 |
+
================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/HSLFilLib.pkg
|
| 5 |
+
|
| 6 |
+
This library allows interaction with and manipulation of files present on the host computer. It adds the following functions:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`FilEof`
|
| 9 |
+
- :ven:func:`FilFindFile`
|
| 10 |
+
- :ven:func:`FilFindNextFile`
|
| 11 |
+
- :ven:func:`FilFormatBarcodeFile`
|
| 12 |
+
- :ven:func:`FilGetBinPath`
|
| 13 |
+
- :ven:func:`FilGetCommState`
|
| 14 |
+
- :ven:func:`FilGetCommTimeouts`
|
| 15 |
+
- :ven:func:`FilGetConfigPath`
|
| 16 |
+
- :ven:func:`FilGetLabwarePath`
|
| 17 |
+
- :ven:func:`FilGetLibraryPath`
|
| 18 |
+
- :ven:func:`FilGetLogFilesPath`
|
| 19 |
+
- :ven:func:`FilGetMethodsPath`
|
| 20 |
+
- :ven:func:`FilGetSystemPath`
|
| 21 |
+
- :ven:func:`FilIsNull`
|
| 22 |
+
- :ven:func:`FilReadString`
|
| 23 |
+
- :ven:func:`FilRemoveFields`
|
| 24 |
+
- :ven:func:`FilSearchPath`
|
| 25 |
+
- :ven:func:`FilSetCommState`
|
| 26 |
+
- :ven:func:`FilSetCommTimeouts`
|
| 27 |
+
- :ven:func:`FilUpdateRecord`
|
| 28 |
+
- :ven:func:`FilWriteString`
|
| 29 |
+
|
| 30 |
+
.. ven:function:: FilEof(variable filObj)
|
| 31 |
+
|
| 32 |
+
This function checks whether the current position in the specified file is the final line
|
| 33 |
+
|
| 34 |
+
:params filObj: The opened file to be checked
|
| 35 |
+
:type filObj: Variable (file)
|
| 36 |
+
:return: Boolean as to whether the position is the end of the file or not
|
| 37 |
+
:rtype: Boolean
|
| 38 |
+
|
| 39 |
+
.. ven:function:: FilFindFile(variable filName)
|
| 40 |
+
|
| 41 |
+
This function starts searching the specified path for a file. This function is obsolete, and :ven:func:`FilSearchPath` should be used instead.
|
| 42 |
+
|
| 43 |
+
:params filName: The directory or path and file name to be searched for. Can contain wildcard characters such as * or ?
|
| 44 |
+
:type filName: Variable
|
| 45 |
+
:return: If successful, the path name of the first file found that matches the input
|
| 46 |
+
:rtype: Variable
|
| 47 |
+
|
| 48 |
+
.. ven:function:: FilFindNextFile()
|
| 49 |
+
|
| 50 |
+
Continues the search from :ven:func:`FilFindFile` to the next file.
|
| 51 |
+
|
| 52 |
+
:return: If successful, the path name of the next file found that matches the input from the most recent FilFindFile command
|
| 53 |
+
:rtype: Variable
|
| 54 |
+
|
| 55 |
+
.. ven:function:: FilFormatBarcodeFile(variable dataSource, variable dataTarget)
|
| 56 |
+
|
| 57 |
+
This function takes the barcode ASCII text file written during LoadCarrier and converts it into a strongly formatted barcode file. This strongly formatted file can be an ASCII text file, a Microsoft Excel file, or a Microsoft Access file. Will contain the following columns:
|
| 58 |
+
|
| 59 |
+
- ID (record ID, integer)
|
| 60 |
+
- Specifier (string, P = position, C = carrier)
|
| 61 |
+
- Position (position, integer)
|
| 62 |
+
- Barcode (barcode, string)
|
| 63 |
+
- Timestamp (timestamp, YYYY-MM-DD hh:mm:ss, string)
|
| 64 |
+
|
| 65 |
+
:params dataSource: The name of the barcode ASCII file generated during the load carrier step
|
| 66 |
+
:params dataTarget: The name of the barcode ASCII text file, Microsoft Excel file or Microsoft Access file generated by the function. The name must include a table name for a Microsoft Excel file or a Microsoft Access Database.
|
| 67 |
+
:type dataSource: Variable
|
| 68 |
+
:type dataTarget: Variable
|
| 69 |
+
:return: Boolean showing if the function was successful or not
|
| 70 |
+
:rtype: Boolean
|
| 71 |
+
|
| 72 |
+
.. ven:function:: FilGetBinPath()
|
| 73 |
+
|
| 74 |
+
This function retrieves the vector binary path
|
| 75 |
+
|
| 76 |
+
:return: The vectory binary path (usually C:\Program Files (x86)\Hamilton\Bin)
|
| 77 |
+
:rtype: Variable
|
| 78 |
+
|
| 79 |
+
.. ven:function:: FilGetCommState(file port)
|
| 80 |
+
|
| 81 |
+
This function retrieves the configuration information for the specified communication resource. The entries of the structure that retrieves the configuration information must be accessible in the global scope.
|
| 82 |
+
|
| 83 |
+
:params port: The communication resource opened during the file-Open operation
|
| 84 |
+
:type: Port
|
| 85 |
+
:return: Boolean showing if the function was successful or not
|
| 86 |
+
:rtype: Boolean
|
| 87 |
+
|
| 88 |
+
.. ven:function:: GetCommTimeouts(file port)
|
| 89 |
+
|
| 90 |
+
This function retrieves the time-out parameters for all read and write operations for the specified communication resource. The entries of the structure that contains the configuration information must be accessible in the global scope.
|
| 91 |
+
|
| 92 |
+
:params port: The communication resource opened during the file-Open operation
|
| 93 |
+
:type port: Port
|
| 94 |
+
:return: Boolean showing if the function was successful or not
|
| 95 |
+
:rtype: Boolean
|
| 96 |
+
|
| 97 |
+
.. ven:function:: FilGetConfigPath()
|
| 98 |
+
|
| 99 |
+
This function retrieves the vector configuration path
|
| 100 |
+
|
| 101 |
+
:return: The vector configuration path (usually C:\Program Files (x86)\Hamilton\Config)
|
| 102 |
+
:rtype: Variable
|
| 103 |
+
|
| 104 |
+
.. ven:function:: FilGetLabwarePath()
|
| 105 |
+
|
| 106 |
+
This function retrieves the vector labware path
|
| 107 |
+
|
| 108 |
+
:return: The vector labware path (usually C:\Program Files (x86)\Hamilton\Labware)
|
| 109 |
+
:rtype: Variable
|
| 110 |
+
|
| 111 |
+
.. ven:function:: FilGetLibraryPath()
|
| 112 |
+
|
| 113 |
+
This function retrieves the vector library path
|
| 114 |
+
|
| 115 |
+
:return: The vector library path (usually C:\Program Files (x86)\Hamilton\Library)
|
| 116 |
+
:rtype: Variable
|
| 117 |
+
|
| 118 |
+
.. ven:function:: FilGetLogFilesPath()
|
| 119 |
+
|
| 120 |
+
This function retrieves the vector log files path
|
| 121 |
+
|
| 122 |
+
:return: The vector log files path (usually C:\Program Files (x86)\Hamilton\LogFiles)
|
| 123 |
+
:rtype: Variable
|
| 124 |
+
|
| 125 |
+
.. ven:function:: FilGetMethodsPath()
|
| 126 |
+
|
| 127 |
+
This function retrieves the vector methods path
|
| 128 |
+
|
| 129 |
+
:return: The vector methods path (usually C:\Program Files (x86)\Hamilton\Methods)
|
| 130 |
+
:rtype: Variable
|
| 131 |
+
|
| 132 |
+
.. ven:function:: FilGetSystemPath()
|
| 133 |
+
|
| 134 |
+
This function retrieves the vector system path
|
| 135 |
+
|
| 136 |
+
:return: The vector system path (usually C:\Program Files (x86)\Hamilton\System)
|
| 137 |
+
:rtype: Variable
|
| 138 |
+
|
| 139 |
+
.. ven:function:: FilIsNull(variable value)
|
| 140 |
+
|
| 141 |
+
This function returns a non-zero if the variable is a null value (SQL style Null).
|
| 142 |
+
|
| 143 |
+
:params value: The variable being checked
|
| 144 |
+
:type value: Variable
|
| 145 |
+
:return: A boolean determining if the variable is SQL style Null or not
|
| 146 |
+
:rtype: Boolean
|
| 147 |
+
|
| 148 |
+
.. ven:function:: FilReadString(file fileObj)
|
| 149 |
+
|
| 150 |
+
This function reads the next record from the input file as string-valued data. Row data, but no schema data, is saved to the string. After you call FilReadString, the next unread record becomes the current record, or Eof is set to hslTrue if there are no more records.
|
| 151 |
+
|
| 152 |
+
:params fileObj: The file being looked at
|
| 153 |
+
:type fileObj: File
|
| 154 |
+
:return: The contents of the line being looked at as string-valued data, or the specific run-time error
|
| 155 |
+
:rtype: String
|
| 156 |
+
|
| 157 |
+
.. ven:function:: FilRemoveFields(file fileObj)
|
| 158 |
+
|
| 159 |
+
This function removes all fields from a record definition
|
| 160 |
+
|
| 161 |
+
:params fileObj: The file containing the record which is having its fields removed
|
| 162 |
+
:type fileObj: File
|
| 163 |
+
:return: None
|
| 164 |
+
:rtype: N/A
|
| 165 |
+
|
| 166 |
+
.. ven:function:: FilSearchPath(variable fileName)
|
| 167 |
+
|
| 168 |
+
This function searches for the specified file, and outputs the path and filename of the file if found, or an empty string if not found. Will search the current directory, the methods directory, the library directory, and any directories in the PATH environment variable.
|
| 169 |
+
|
| 170 |
+
:params fileName: The file name to be searched for
|
| 171 |
+
:type fileName: Variable
|
| 172 |
+
:return: The path name of the first file found, or an empty string if no files were found
|
| 173 |
+
:rtype: Variable
|
| 174 |
+
|
| 175 |
+
.. ven:function:: FilSetCommState(file port, variable cfgFile)
|
| 176 |
+
|
| 177 |
+
This function configures a communication resource according to the specifications in a structure that contains the configuration information. The structure that contains the configuration information must be structured as shown below. Each entry in the structure is optional and overwrites the default value in parentheses.
|
| 178 |
+
|
| 179 |
+
:params port: The communication resource opened during the file-Open operation
|
| 180 |
+
:params cfgFile: The name of the file containing the configuration information. If this parameter is empty, the entries in the structure that contains the configuration information must be accessible in the global scope.
|
| 181 |
+
:type port: File
|
| 182 |
+
:type cfgFile: Variable
|
| 183 |
+
:return: Boolean showing whether the function succeeded or not
|
| 184 |
+
:rtype: Boolean
|
| 185 |
+
|
| 186 |
+
.. ven:function:: FilSetCommTimeouts(file port, variable cfgFile)
|
| 187 |
+
|
| 188 |
+
This function sets the time-out parameters for all read and write operations on a specified communication resource. The structure that contains the time-out information is as shown below. Each entry in the structure is optional and overwrites the default value in parentheses.
|
| 189 |
+
|
| 190 |
+
:params port: The communication resource opened during the file-Open operation
|
| 191 |
+
:params cfgFile: The name of the file that contains the time-out information. If this parameter is empty, the entries in the structure that contains the time-out information must be accessible in the global scope.
|
| 192 |
+
:type port: File
|
| 193 |
+
:type cfgFile: Variable
|
| 194 |
+
:return: Boolean showing whether the function succeeded or not
|
| 195 |
+
:rtype: Boolean
|
| 196 |
+
|
| 197 |
+
.. ven:function:: FilUpdateRecord(file fileObj)
|
| 198 |
+
|
| 199 |
+
Updates the current record of the file object with the values of the variable objects specified in the record definition. The current record remains current after you call the FilUpdateRecord function. The provider must support UPDATE.
|
| 200 |
+
|
| 201 |
+
:params fileObj: The file object being updated
|
| 202 |
+
:type fileObj: File
|
| 203 |
+
:return: Boolean showing whether the function succeeded or not
|
| 204 |
+
:rtype: Boolean
|
| 205 |
+
|
| 206 |
+
.. ven:function:: FilWriteString(file fileObj, variable stringObj)
|
| 207 |
+
|
| 208 |
+
Writes a string to the end of the file data source. After you call the FilWriteString function, the new record becomes the current record.
|
| 209 |
+
|
| 210 |
+
:params fileObj: The file which is being written in
|
| 211 |
+
:params stringObj: The string to be written
|
| 212 |
+
:type fileObj: File
|
| 213 |
+
:type stringObj: Variable
|
| 214 |
+
:return: Boolean showing whether the function succeeded or not
|
| 215 |
+
:rtype: Boolean
|
VenusLibraryDocumentation-DocsForGPT/docs/source/HSLFilLibEx.rst
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
HSLFileLibEx
|
| 2 |
+
=============================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/HSLFilLibEx.pkg
|
| 5 |
+
|
| 6 |
+
HSLFilLibEx allows you to manipulate files. It adds the following functions:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`FilCopyFileEx`
|
| 9 |
+
- :ven:func:`FilDeleteFileEx`
|
| 10 |
+
- :ven:func:`FilFormatReportFileEx`
|
| 11 |
+
|
| 12 |
+
.. ven:function:: FilCopyFileEx(variable SourceFilePathName, variable DestinationFilePathName)
|
| 13 |
+
|
| 14 |
+
This function creates a copy of the specified file, which will be placed in the specified new location
|
| 15 |
+
|
| 16 |
+
:params SourceFilePathName: The path to the file which you wish to copy, including the file name and extension
|
| 17 |
+
:params DestinationFilePathName: The path to which you would like to copy the file, including the file name and extension
|
| 18 |
+
:type SourceFilePathName: Variable
|
| 19 |
+
:type DestinationFilePathName: Variable
|
| 20 |
+
:return: None
|
| 21 |
+
:rtype: N/A
|
| 22 |
+
|
| 23 |
+
.. ven:function:: FilDeleteFileEx(variable FilePathName)
|
| 24 |
+
|
| 25 |
+
This function deletes the file at the specified location
|
| 26 |
+
|
| 27 |
+
:params FilePathName: The path to the file which you wish to delete, including file name and extension
|
| 28 |
+
:type FilePathName: Variable
|
| 29 |
+
:return: None
|
| 30 |
+
:rtype: N/A
|
| 31 |
+
|
| 32 |
+
.. ven:function:: FilFormatReportFileEx(variable SourceFilePathName, variable DestinationFilePathName)
|
| 33 |
+
|
| 34 |
+
This function creates a formatted/filtered copy of the specified report file. It searches the file for the string "Element Name" and copies any subsequent lines to the new file.
|
| 35 |
+
|
| 36 |
+
:params SourceFilePathName: The path to the file which you wish to format, including file name and extension
|
| 37 |
+
:params DestinationFilePathName: The path to the file you would like to create the formatted report in, including file name and extension.
|
| 38 |
+
:type SourceFilePathName: Variable
|
| 39 |
+
:type DestinationFilePathName: Variable
|
| 40 |
+
:return: None
|
| 41 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/HSLStatistics.rst
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
HSLStatistics
|
| 2 |
+
===================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/HSLStatistics.pkg
|
| 5 |
+
|
| 6 |
+
The HSLStatistics library is designed to easily allow the user to perform basic statistical functions easily. It adds the following functions:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`Stat_Average`
|
| 9 |
+
- :ven:func:`Stat_StdDeviation`
|
| 10 |
+
- :ven:func:`Stat_CorrelationCoefficent`
|
| 11 |
+
- :ven:func:`Stat_RSQ`
|
| 12 |
+
- :ven:func:`Stat_Slope`
|
| 13 |
+
- :ven:func:`Stat_Intercept`
|
| 14 |
+
- :ven:func:`Stat_Min`
|
| 15 |
+
- :ven:func:`Stat_Max`
|
| 16 |
+
|
| 17 |
+
.. ven:function:: Stat_Average(array DataArray)
|
| 18 |
+
|
| 19 |
+
This function returns the average of a data set input as an array
|
| 20 |
+
|
| 21 |
+
:params DataArray: The input array of data from which the average is calculated
|
| 22 |
+
:type DataArray: Array
|
| 23 |
+
:return: The calculated average of the array
|
| 24 |
+
:rtype: Variable
|
| 25 |
+
|
| 26 |
+
.. ven:function:: Stat_StdDeviation(array DataArray)
|
| 27 |
+
|
| 28 |
+
This function returns the standard deviation of a data set input as an array
|
| 29 |
+
|
| 30 |
+
:params DataArray: The input array of data from which the standard deviation is calculated
|
| 31 |
+
:type DataArray: Array
|
| 32 |
+
:return: The calculated standard deviation of the array
|
| 33 |
+
:rtype: Variable
|
| 34 |
+
|
| 35 |
+
.. ven:function:: Stat_CorrelationCoefficient(array XArray, array YArray)
|
| 36 |
+
|
| 37 |
+
This function returns the correlation coefficient (r-value) of a paired data set
|
| 38 |
+
|
| 39 |
+
:params XArray: The array of X data values in the paired set
|
| 40 |
+
:params YArray: The array of Y data values in the paired set
|
| 41 |
+
:type XArray: Array
|
| 42 |
+
:type YArray: Array
|
| 43 |
+
:return: The r-value of the paired data set
|
| 44 |
+
:rtype: Variable
|
| 45 |
+
|
| 46 |
+
.. ven:function:: Stat_RSQ(array XArray, array YArray)
|
| 47 |
+
|
| 48 |
+
This function returns the pearson coefficient (r^2) of a paired data set
|
| 49 |
+
|
| 50 |
+
:params XArray: The array of X data values in the paired set
|
| 51 |
+
:params YArray: The array of Y data values in the paired set
|
| 52 |
+
:type XArray: Array
|
| 53 |
+
:type YArray: Array
|
| 54 |
+
:return: The pearson coefficient of the paired data set
|
| 55 |
+
:rtype: Variable
|
| 56 |
+
|
| 57 |
+
.. ven:function:: Stat_Slope(array XArray, array YArray)
|
| 58 |
+
|
| 59 |
+
This function returns the slope of the best fit line of a paired data set
|
| 60 |
+
|
| 61 |
+
:params XArray: The array of X data values in the paired set
|
| 62 |
+
:params YArray: The array of Y data values in the paired set
|
| 63 |
+
:type XArray: Array
|
| 64 |
+
:type YArray: Array
|
| 65 |
+
:return: The slope of the best fit line
|
| 66 |
+
:rtype: Variable
|
| 67 |
+
|
| 68 |
+
.. ven:function:: Stat_Intercept(array XArray, array YArray)
|
| 69 |
+
|
| 70 |
+
This function returns the intercept of the best fit line of a paired data set
|
| 71 |
+
|
| 72 |
+
:params XArray: The array of X data values in the paired set
|
| 73 |
+
:params YArray: The array of Y data values in the paired set
|
| 74 |
+
:type XArray: Array
|
| 75 |
+
:type YArray: Array
|
| 76 |
+
:return: The intercept of the line of best fit
|
| 77 |
+
:rtype: Variable
|
| 78 |
+
|
| 79 |
+
.. ven:function:: Stat_Min(array DataArray)
|
| 80 |
+
|
| 81 |
+
This function returns the lowest value of a dataset
|
| 82 |
+
|
| 83 |
+
:params DataArray: The array for the minimum to be searched in
|
| 84 |
+
:type DataArray: Array
|
| 85 |
+
:return: The lowest value of the dataset
|
| 86 |
+
:rtype: Variable
|
| 87 |
+
|
| 88 |
+
.. ven:functions:: Stat_Max(array DataArray)
|
| 89 |
+
|
| 90 |
+
This function returns the hgihest value of a dataset
|
| 91 |
+
|
| 92 |
+
:params DataArray: The array for the minimum to be searched in
|
| 93 |
+
:type DataArray: Array
|
| 94 |
+
:return: The lowest value of the dataset
|
| 95 |
+
:rtype: Variable
|
VenusLibraryDocumentation-DocsForGPT/docs/source/HSLStrLib.rst
ADDED
|
@@ -0,0 +1,395 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
HSLStrLib
|
| 2 |
+
==========================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/HSLStrLib.pkg
|
| 5 |
+
|
| 6 |
+
HSL String Library provides the following functions:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`StrAsciiToStr`
|
| 9 |
+
- :ven:func:`StrConcat2`
|
| 10 |
+
- :ven:func:`StrConcat4`
|
| 11 |
+
- :ven:func:`StrConcat8`
|
| 12 |
+
- :ven:func:`StrConcat12`
|
| 13 |
+
- :ven:func:`StrEvaluateExpr`
|
| 14 |
+
- :ven:func:`StrFillLeft`
|
| 15 |
+
- :ven:func:`StrFillRight`
|
| 16 |
+
- :ven:func:`StrFind`
|
| 17 |
+
- :ven:func:`StrFStr`
|
| 18 |
+
- :ven:func:`StrFStrEx`
|
| 19 |
+
- :ven:func:`StrFVal`
|
| 20 |
+
- :ven:func:`StrGetLength`
|
| 21 |
+
- :ven:func:`StrGetType`
|
| 22 |
+
- :ven:func:`StrHexIStr`
|
| 23 |
+
- :ven:func:`StrIsDigit`
|
| 24 |
+
- :ven:func:`StrIStr`
|
| 25 |
+
- :ven:func:`StrIVal`
|
| 26 |
+
- :ven:func:`StrLeft`
|
| 27 |
+
- :ven:func:`StrMakeLower`
|
| 28 |
+
- :ven:func:`StrMakeLowerCopy`
|
| 29 |
+
- :ven:func:`StrMakeUpper`
|
| 30 |
+
- :ven:func:`StrMakeUpperCopy`
|
| 31 |
+
- :ven:func:`StrMid`
|
| 32 |
+
- :ven:func:`StrReplace`
|
| 33 |
+
- :ven:func:`StrReverseFind`
|
| 34 |
+
- :ven:func:`StrRight`
|
| 35 |
+
- :ven:func:`StrSpanExcluding`
|
| 36 |
+
- :ven:func:`StrStrToAscii`
|
| 37 |
+
- :ven:func:`StrTrimLeft`
|
| 38 |
+
- :ven:func:`StrTrimRight`
|
| 39 |
+
|
| 40 |
+
.. ven:function:: StrAsciiToStr(variable asciiCode)
|
| 41 |
+
|
| 42 |
+
Converts the given ASCII Code (an integer) to a character (string).
|
| 43 |
+
|
| 44 |
+
:param asciiCode: The ASCII code to convert
|
| 45 |
+
:type asciiCode: Integer
|
| 46 |
+
:return: The ASCII code as a string
|
| 47 |
+
:rtype: String
|
| 48 |
+
|
| 49 |
+
.. ven:function:: StrConcat2(variable Var1, variable Var2)
|
| 50 |
+
|
| 51 |
+
Combines two strings into a new string
|
| 52 |
+
|
| 53 |
+
:param Var1: The first string to be combined
|
| 54 |
+
:param Var2: The second string to be combined
|
| 55 |
+
:type Var1: String
|
| 56 |
+
:type Var2: String
|
| 57 |
+
:return: The combined string of Var1 + Var2
|
| 58 |
+
:rtype: String
|
| 59 |
+
|
| 60 |
+
.. ven:function:: StrConcat4(variable Var1, variable Var2, variable Var3, variable Var4)
|
| 61 |
+
|
| 62 |
+
Combines four strings into a new string
|
| 63 |
+
|
| 64 |
+
:param Var1: The first string to be combined
|
| 65 |
+
:param Var2: The second string to be combined
|
| 66 |
+
:param Var3: The third string to be combined
|
| 67 |
+
:param Var4: The fourth string to be combined
|
| 68 |
+
:type Var1: String
|
| 69 |
+
:type Var2: String
|
| 70 |
+
:type Var3: String
|
| 71 |
+
:type Var4: String
|
| 72 |
+
:return: The combined string of Var1 + Var2 + Var3 + Var4
|
| 73 |
+
:rtype: String
|
| 74 |
+
|
| 75 |
+
.. ven:function:: StrConcat8(variable Var1, variable Var2, variable Var3, variable Var4, variable Var5, variable Var6, variable Var7, variable Var8)
|
| 76 |
+
|
| 77 |
+
Combines eight strings into a new string
|
| 78 |
+
|
| 79 |
+
:param Var1: The first string to be combined
|
| 80 |
+
:param Var2: The second string to be combined
|
| 81 |
+
:param Var3: The third string to be combined
|
| 82 |
+
:param Var4: The fourth string to be combined
|
| 83 |
+
:param Var5: The fifth string to be combined
|
| 84 |
+
:param Var6: The sixth string to be combined
|
| 85 |
+
:param Var7: The seventh string to be combined
|
| 86 |
+
:param Var8: The eighth string to be combined
|
| 87 |
+
:type Var1: Variable
|
| 88 |
+
:type Var2: Variable
|
| 89 |
+
:type Var3: Variable
|
| 90 |
+
:type Var4: Variable
|
| 91 |
+
:type Var5: Variable
|
| 92 |
+
:type Var6: Variable
|
| 93 |
+
:type Var7: Variable
|
| 94 |
+
:type Var8: Variable
|
| 95 |
+
:return: The combined string of Var1 + Var2 + Var3 + Var4 + Var5 + Var6 + Var7 + Var8
|
| 96 |
+
:rtype: String
|
| 97 |
+
|
| 98 |
+
.. ven:function:: StrConcat12(variable Var1, variable Var2, variable Var3, variable Var4, variable Var5, variable Var6, variable Var7, variable Var8, variable Var9, variable var10, variable var11, variable var12)
|
| 99 |
+
|
| 100 |
+
Combines twelve strings into a new string
|
| 101 |
+
|
| 102 |
+
:param Var1: The first string to be combined
|
| 103 |
+
:param Var2: The second string to be combined
|
| 104 |
+
:param Var3: The third string to be combined
|
| 105 |
+
:param Var4: The fourth string to be combined
|
| 106 |
+
:param Var5: The fifth string to be combined
|
| 107 |
+
:param Var6: The sixth string to be combined
|
| 108 |
+
:param Var7: The seventh string to be combined
|
| 109 |
+
:param Var8: The eighth string to be combined
|
| 110 |
+
:param Var9: The ninth string to be combined
|
| 111 |
+
:param Var10: The tenth string to be combined
|
| 112 |
+
:param Var11: The eleventh string to be combined
|
| 113 |
+
:param Var12: The twelfth string to be combined
|
| 114 |
+
:type Var1: Variable
|
| 115 |
+
:type Var2: Variable
|
| 116 |
+
:type Var3: Variable
|
| 117 |
+
:type Var4: Variable
|
| 118 |
+
:type Var5: Variable
|
| 119 |
+
:type Var6: Variable
|
| 120 |
+
:type Var7: Variable
|
| 121 |
+
:type Var8: Variable
|
| 122 |
+
:type Var9: Variable
|
| 123 |
+
:type Var10: Variable
|
| 124 |
+
:type Var11: Variable
|
| 125 |
+
:type Var12: Variable
|
| 126 |
+
:return: The combined string of Var1 + Var2 + Var3 + Var4 + Var5 + Var6 + Var7 + Var8 + Var9 + Var10 + Var11 + Var12
|
| 127 |
+
:rtype: Variable
|
| 128 |
+
|
| 129 |
+
.. ven:function:: StrEvaluateExpr(variable expression)
|
| 130 |
+
|
| 131 |
+
This function evaluates an expression within a string. All variables involved must have global scope.
|
| 132 |
+
|
| 133 |
+
:params expression: The expression to evaluate as a string
|
| 134 |
+
:type expression: Variable
|
| 135 |
+
:return: The value of the expression if the function succeeds, otherwise a runtime error
|
| 136 |
+
:rtype: Variable
|
| 137 |
+
|
| 138 |
+
.. ven:function:: StrFillLeft(variable str, variable character, variable width)
|
| 139 |
+
|
| 140 |
+
This function fills leading characters to the string
|
| 141 |
+
|
| 142 |
+
:params str: The string to be modified
|
| 143 |
+
:params character: The user-defined character to be filled
|
| 144 |
+
:params width: The width to be filled
|
| 145 |
+
:type str: Variable
|
| 146 |
+
:type character: Variable
|
| 147 |
+
:type width: Integer
|
| 148 |
+
:return: The modified string
|
| 149 |
+
:rtype: Variable
|
| 150 |
+
|
| 151 |
+
.. ven:function:: StrFillRight(variable str, variable character, variable width)
|
| 152 |
+
|
| 153 |
+
This function fills trailing characters to the string
|
| 154 |
+
|
| 155 |
+
:params str: The string to be modified
|
| 156 |
+
:params character: The user-defined character to be filled
|
| 157 |
+
:params width: The width to be filled
|
| 158 |
+
:type str: Variable
|
| 159 |
+
:type character: Variable
|
| 160 |
+
:type width: Integer
|
| 161 |
+
:return: The modified string
|
| 162 |
+
:rtype: Variable
|
| 163 |
+
|
| 164 |
+
.. ven:function:: StrFind(variable str, variable subStr)
|
| 165 |
+
|
| 166 |
+
This function searches the string for the first match of the sub-string.
|
| 167 |
+
|
| 168 |
+
:params str: The string to be searched
|
| 169 |
+
:params subStr: The substring to be searched for
|
| 170 |
+
:type str: Variable
|
| 171 |
+
:type subStr: Variable
|
| 172 |
+
:return: The zero-based index of the first character in this string object that matches the requested sub-string or characters. -1 if the sub-string is not found.
|
| 173 |
+
:rtype: Integer
|
| 174 |
+
|
| 175 |
+
.. ven:function:: StrFStr(variable number)
|
| 176 |
+
|
| 177 |
+
This function converts the floating point number input into the corresponding character string.
|
| 178 |
+
|
| 179 |
+
:params number: The float to be converted into a string
|
| 180 |
+
:type number: Float
|
| 181 |
+
:return: The string form of the float
|
| 182 |
+
:rtype: Variable
|
| 183 |
+
|
| 184 |
+
.. ven:function:: StrFStrEx(variable number, variable languageSpecific, variable precision)
|
| 185 |
+
|
| 186 |
+
This function converts the floating point number input into the corresponding character string
|
| 187 |
+
|
| 188 |
+
:params number: The float to be converted into a string.
|
| 189 |
+
:params languageSpecific: Boolean which specifies whether the decimal symbol in the Regional Settings should be used to write the string representation of the floating point number.
|
| 190 |
+
:params precision: The total number of significant digits to be used for the floating-point display
|
| 191 |
+
:type number: Float
|
| 192 |
+
:type languageSpecific: Boolean
|
| 193 |
+
:type precision: Integer
|
| 194 |
+
:return: The string representation of the floating point number
|
| 195 |
+
:rtype: Variable
|
| 196 |
+
|
| 197 |
+
.. ven:function:: StrFVal(variable str)
|
| 198 |
+
|
| 199 |
+
Converts the sequence of digits, contained in the character string str, into the corresponding floating point number. Conversion aborts at the first character in str, which is not a digit or not one of the characters +, -, e, E.
|
| 200 |
+
|
| 201 |
+
:params str: The string to be converted
|
| 202 |
+
:type str: Variable
|
| 203 |
+
:return: THe float representation of the input string. Null if the string cannot be converted. DBL_MAX if the conversion results in an overflow. DBL_MIN if the conversion results in an underflow.
|
| 204 |
+
:rtype: Float or variable
|
| 205 |
+
|
| 206 |
+
.. ven:function:: StrGetLength(variable str)
|
| 207 |
+
|
| 208 |
+
Returns the number of characters in a string object (without '\0').
|
| 209 |
+
|
| 210 |
+
:params str: The string being read
|
| 211 |
+
:type str: Variable
|
| 212 |
+
:return: The length of the string
|
| 213 |
+
:rtype: Integer
|
| 214 |
+
|
| 215 |
+
.. ven:function:: StrGetType(variable var)
|
| 216 |
+
|
| 217 |
+
This function retrieves the type of the value of a variable
|
| 218 |
+
|
| 219 |
+
:params var: A reference to a variable (int, float or string)
|
| 220 |
+
:type var: Variable
|
| 221 |
+
:return: One of the following string-valued constants that indicates the type of the value of a variable. i = hslInteger, f = hslFloat, s = hslString, null = no type
|
| 222 |
+
:rtype: Variable
|
| 223 |
+
|
| 224 |
+
.. ven:function:: StrHexIStr(variable number)
|
| 225 |
+
|
| 226 |
+
Converts the input integer into the corresponding hexadecimal character string
|
| 227 |
+
|
| 228 |
+
:params number: The integer to be converted
|
| 229 |
+
:type: Integer
|
| 230 |
+
:return: The hexadecimal string representation of the integer
|
| 231 |
+
:rtype: String
|
| 232 |
+
|
| 233 |
+
.. ven:function:: StrIsDigit(variable character)
|
| 234 |
+
|
| 235 |
+
The StrIsDigit function determines if the specified input string (which should be a character) is a digit or not.
|
| 236 |
+
|
| 237 |
+
:params character: The input character to be a tested, as a string
|
| 238 |
+
:type character: Variable
|
| 239 |
+
:return: Boolean showing whether the character is a digit (1) or not (0)
|
| 240 |
+
:rtype: Boolean
|
| 241 |
+
|
| 242 |
+
.. ven:function:: StrIsStr(variable number)
|
| 243 |
+
|
| 244 |
+
The StrIStr function converts the input integer into the corresponding character string
|
| 245 |
+
|
| 246 |
+
:params number: The integer to be converted
|
| 247 |
+
:type number: Variable
|
| 248 |
+
:return: The string representation of the integer number
|
| 249 |
+
:rtype: Variable
|
| 250 |
+
|
| 251 |
+
.. ven:function:: StrIVal(variable str)
|
| 252 |
+
|
| 253 |
+
The StrIVal function converts the input sequence of digits into the corresponding integer. The input string is treated as a decimal, unless it begins with an 0x in which case it is interpreted as hexadecimal. Conversion aborts at the first character in the input which is neither a digit nor one of the characters "+" or "-".
|
| 254 |
+
|
| 255 |
+
:params str: The input sequence of digits to be converted
|
| 256 |
+
:type str: Variable
|
| 257 |
+
:return: The numeric value of the sequence of digits contained in the character string, as an integer. Null if the character string cannot be converted into a number. LONG_MAX = 2147483647 if the conversion results in an overflow. LONG_MIN = -2147483647 - 1 if the conversion results in an underflow.
|
| 258 |
+
:rtype: Variable
|
| 259 |
+
|
| 260 |
+
.. ven:function:: StrLeft(variable str, variable count)
|
| 261 |
+
|
| 262 |
+
The StrLeft function extracts the first (leftmost) characters of a string and returns a copy of the extracted substring. The number of characters extracted is equal to the input variable "count". If "count" is longer than the string, the entire string is returned.
|
| 263 |
+
|
| 264 |
+
:params str: The input string from which the substring is to be extracted
|
| 265 |
+
:params count: The number of characters to be extracted
|
| 266 |
+
:type str: Variable
|
| 267 |
+
:type count: Variable
|
| 268 |
+
:return: A string containing a copy of the specified range of characters. Can be an empty string.
|
| 269 |
+
:rtype: Variable
|
| 270 |
+
|
| 271 |
+
.. ven:function:: StrMakeLower(variable str)
|
| 272 |
+
|
| 273 |
+
The StrMakeLower function converts the original string to its lowercase form.
|
| 274 |
+
|
| 275 |
+
:params str: The string to be converted
|
| 276 |
+
:type str: Variable
|
| 277 |
+
:return: The original string converted to lowercase
|
| 278 |
+
:rtype: Variable
|
| 279 |
+
|
| 280 |
+
.. ven:function:: StrMakeLowerCopy(variable str)
|
| 281 |
+
|
| 282 |
+
The StrMakeLowerCopy function returns a copy of the original string converted to lowercase.
|
| 283 |
+
|
| 284 |
+
:params str: The string to be copied
|
| 285 |
+
:type str: Variable
|
| 286 |
+
:return: A copy of the original string converted to lowercase
|
| 287 |
+
:rtype: Variable
|
| 288 |
+
|
| 289 |
+
.. ven:function:: StrMakeUpper(variable str)
|
| 290 |
+
|
| 291 |
+
The StrMakeUpper function converts the original string to its uppercase form.
|
| 292 |
+
|
| 293 |
+
:params str: The string to be converted
|
| 294 |
+
:type str: Variable
|
| 295 |
+
:return: The original string converted to uppercase
|
| 296 |
+
:rtype: Variable
|
| 297 |
+
|
| 298 |
+
.. ven:function:: StrMakeUpperCopy(variable str)
|
| 299 |
+
|
| 300 |
+
The StrMakeUpperCopy function returns a copy of the original string converted to uppercase.
|
| 301 |
+
|
| 302 |
+
:params str: The string to be copied
|
| 303 |
+
:type str: Variable
|
| 304 |
+
:return: A copy of the original string converted to uppercase
|
| 305 |
+
:rtype: Variable
|
| 306 |
+
|
| 307 |
+
.. ven:function:: StrMid(variable str, variable first, variable count)
|
| 308 |
+
|
| 309 |
+
The StrMid function extracts a substring of length "count" characters from the input variable "str", starting at position "first" which is 0-based. The function returns a copy of the extracted substring.
|
| 310 |
+
|
| 311 |
+
:params str: The string from which the substring is to be extracted
|
| 312 |
+
:params first: The first character to be extracted (0-based)
|
| 313 |
+
:params count: The number of characters to be extracted
|
| 314 |
+
:type str: Variable
|
| 315 |
+
:type first: Variable
|
| 316 |
+
:type count: Variable
|
| 317 |
+
:return: A string containing a copy of the specified range of characters, can be empty
|
| 318 |
+
:rtype: Variable
|
| 319 |
+
|
| 320 |
+
.. ven:function:: StrReplace(variable str, variable oldSubStr, variable newSubStr)
|
| 321 |
+
|
| 322 |
+
The StrReplace function searches a string for a specified substring and replaces it with another specified substring.
|
| 323 |
+
|
| 324 |
+
:params str: The string to be edited
|
| 325 |
+
:params oldSubStr: The substring to be replaced by newSubStr
|
| 326 |
+
:params newSubStr: The substring to replace oldSubStr
|
| 327 |
+
:type str: Variable
|
| 328 |
+
:type oldSubStr: Variable
|
| 329 |
+
:type newSubStr: Variable
|
| 330 |
+
:return: The number of replaced instances of oldSubStr. Zero if the string is unchanged.
|
| 331 |
+
:rtype: Variable
|
| 332 |
+
|
| 333 |
+
.. ven:function:: StrReverseFind(variable str, variable subStr)
|
| 334 |
+
|
| 335 |
+
The StrReverseFind function searches a string object for the last match of a sub-string
|
| 336 |
+
|
| 337 |
+
:params str: The string to be searched
|
| 338 |
+
:params subStr: The substring to be searched for
|
| 339 |
+
:type str: Variable
|
| 340 |
+
:type subStr: Variable
|
| 341 |
+
:return: The zero-based index of the last character in this string that matches the requested substring or characters. -1 if the substring is not found.
|
| 342 |
+
:rtype: Variable
|
| 343 |
+
|
| 344 |
+
.. ven:function:: StrRight(variable str, variable count)
|
| 345 |
+
|
| 346 |
+
The StrRight function extracts the last (rightmost) characters of a string and returns a copy of the extracted substring. The number of characters extracted is equal to the input variable "count". If "count" is longer than the string, the entire string is returned.
|
| 347 |
+
|
| 348 |
+
:params str: The input string from which the substring is to be extracted
|
| 349 |
+
:params count: The number of characters to be extracted
|
| 350 |
+
:type str: Variable
|
| 351 |
+
:type count: Variable
|
| 352 |
+
:return: A string containing a copy of the specified range of characters. Can be an empty string.
|
| 353 |
+
:rtype: Variable
|
| 354 |
+
|
| 355 |
+
.. ven:function:: StrSpanExcluding(variable str, variable subStr)
|
| 356 |
+
|
| 357 |
+
The StrSpanExcluding function can be used to search the string for the first occurrence of any character in the specified set subStr. StrSpanExcluding extracts and returns all characters preceding the first occurrence of a character from subStr (in other words, the character from subStr and all characters following it in the string, are not returned). If no character from subStr is found in the string, then StrSpanExcluding returns the entire string.
|
| 358 |
+
|
| 359 |
+
:params str: The string to be searched
|
| 360 |
+
:params subStr: A string containing the set of characters to be searched for
|
| 361 |
+
:type str: Variable
|
| 362 |
+
:type subStr: Variable
|
| 363 |
+
:return: A sub-string containing characters in the string that are not in subStr, beginning with the first character in the string and ending with the first character found in the string that is also in subStr (that is, starting with the first character in the string and up to but excluding the first character in the string that is found subStr). It returns the entire string if no character in subStr is found in the string.
|
| 364 |
+
:rtype: Variable
|
| 365 |
+
|
| 366 |
+
.. ven:function:: StrStrToAscii(variable character)
|
| 367 |
+
|
| 368 |
+
The StrStrToAscii function converts the given character (as a string) into an ASCII code (as an integer)
|
| 369 |
+
|
| 370 |
+
:params character: The character to convert, inputted as a string
|
| 371 |
+
:type character: Variable
|
| 372 |
+
:return: The ASCII code for the given character as an integer, -1 if the function fails
|
| 373 |
+
:rtype: Variable
|
| 374 |
+
|
| 375 |
+
.. ven:function:: StrTrimLeft(variable str, variable character)
|
| 376 |
+
|
| 377 |
+
The StrTrimLeft function trims leading whitespace characters from the string (removes newline, space, tab, and user-defined characters)
|
| 378 |
+
|
| 379 |
+
:params str: The string to trim
|
| 380 |
+
:params character: A string containing user-defined characters to be trimmed (may be empty, in which case only newline, space and tabs will be trimmed)
|
| 381 |
+
:type str: Variable
|
| 382 |
+
:type character: Variable
|
| 383 |
+
:return: None
|
| 384 |
+
:rtype: N/A
|
| 385 |
+
|
| 386 |
+
.. ven:function:: StrTrimRight(variable str, variable character)
|
| 387 |
+
|
| 388 |
+
The StrTrimRight function trims lagging whitespace characters from the string (removes newline, space, tab, and user-defined characters)
|
| 389 |
+
|
| 390 |
+
:params str: The string to trim
|
| 391 |
+
:params character: A string containing user-defined characters to be trimmed (may be empty, in which case only newline, space and tabs will be trimmed)
|
| 392 |
+
:type str: Variable
|
| 393 |
+
:type character: Variable
|
| 394 |
+
:return: None
|
| 395 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/HSLZipLib.rst
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
HSLZipLib
|
| 2 |
+
================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/HSLZipLib.pkg
|
| 5 |
+
|
| 6 |
+
HSLZipLib is a library that allows you to create zip folders, as well as unzip and extract folders from them. It adds the following four functions:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`UnpackArchive`
|
| 9 |
+
- :ven:func:`AddItemToArchive`
|
| 10 |
+
- :ven:func:`InitializeArchive`
|
| 11 |
+
- :ven:func:`PackArchive`
|
| 12 |
+
|
| 13 |
+
.. ven:function:: UnpackArchive(variable i_strArchiveName, variable i_strPathOutput)
|
| 14 |
+
|
| 15 |
+
The unpack archive function unzips a zip folder and extracts the contents to the specified location.
|
| 16 |
+
|
| 17 |
+
:params i_strArchiveName: The full name and path to the zip folder you wish to unzip, including the .zip file extension
|
| 18 |
+
:params i_strPathOutput: The full name and path of the folder you would like to create when extracting the zip file, with no extension
|
| 19 |
+
:type i_strArchiveName: Variable
|
| 20 |
+
:type i_strPathOutput: Variable
|
| 21 |
+
:return: Boolean confirming whether unzipping the archive was successful or not
|
| 22 |
+
:rtype: Boolean
|
| 23 |
+
|
| 24 |
+
.. ven:function:: AddItemToArchive(variable i_strFileOrDirectoryName, variable i_strDirectoryPathInArchive)
|
| 25 |
+
|
| 26 |
+
This function specifies a file or directory which will be added to the zip file which will be generated with the :ven:func:`PackArchive` function.
|
| 27 |
+
|
| 28 |
+
:params i_strFileOrDirectoryName: The path to the file or directory that you wish to include in the zip folder. File extension required for files, no extension required for folders.
|
| 29 |
+
:params i_strDirectoryPathInArchive: The path to the desired location of the file within the zip folder.
|
| 30 |
+
:type i_strFileOrDirectoryName: Variable
|
| 31 |
+
:type i_strDirectoryPathInArchive: Variable
|
| 32 |
+
:return: Boolean confirming whether adding the file or directory to the archive was successful
|
| 33 |
+
:rtype: Boolean
|
| 34 |
+
|
| 35 |
+
.. ven:function:: InitializeArchive(variable i_strArchiveName)
|
| 36 |
+
|
| 37 |
+
This function initializes whatever archive is specified. It is required to call this function for each archive you are interacting with, in advance of calling any of the otehr functions.
|
| 38 |
+
|
| 39 |
+
:params i_strArchiveName: The name of the desired zip file; can be a file that already exists or one that doesn't exist yet and will be created
|
| 40 |
+
:type i_strArchiveName: Variable
|
| 41 |
+
:return: None
|
| 42 |
+
:rtype: N/A
|
| 43 |
+
|
| 44 |
+
.. ven:function:: PackArchive()
|
| 45 |
+
|
| 46 |
+
This function zips/packs whichever archive was most recently initialized.
|
| 47 |
+
|
| 48 |
+
:return: Boolean confirming whether zipping the archive was successful or not
|
| 49 |
+
:rtype: Boolean
|
VenusLibraryDocumentation-DocsForGPT/docs/source/HSL_SeqDailyTools.rst
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
HSL_SeqDailyTools
|
| 2 |
+
=======================================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/HSL_SeqDailyTools.pkg
|
| 5 |
+
|
| 6 |
+
The HSL_SeqDailyTools library adds four functions aimed at making some parts of sequence handling slightly easier. The four functions it adds are:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`CopyPlatePattern96ToTipRack`
|
| 9 |
+
- :ven:func:`CopyPlatePatternToPlate`
|
| 10 |
+
- :ven:func:`GetNumberOfPositionsLeft`
|
| 11 |
+
- :ven:func:`SeqEasyEdit`
|
| 12 |
+
|
| 13 |
+
.. ven:function:: CopyPlatePattern96ToTipRack(sequence plateSource, sequence tipRack)
|
| 14 |
+
|
| 15 |
+
This function copies the sequence pattern on a 96 well plate and applies it to a tip rack. It is used to ensure that the 96 head only picks up tips in the wells that the plate is going to be interacting with.
|
| 16 |
+
|
| 17 |
+
:params plateSource: The sequence pattern on the plate to be copied
|
| 18 |
+
:params tipRack: The sequence of the tip rack which will have the template applied to it
|
| 19 |
+
:type plateSource: Sequence
|
| 20 |
+
:type tipRack: Sequence
|
| 21 |
+
:return: None
|
| 22 |
+
:rtype: N/A
|
| 23 |
+
|
| 24 |
+
.. ven:function:: CopyPlatePatternToPlate(sequence plateSource, sequence plateTarget)
|
| 25 |
+
|
| 26 |
+
This function copies the pattern of wells from one plate to another plate. It is useful when a plate is being moved around on deck, or when reagents are being pipetted from one plate into the same locations on another plate.
|
| 27 |
+
|
| 28 |
+
:params plateSource: The sequence pattern from the plate to be copied
|
| 29 |
+
:params plateTarget: The sequence of the second plate which is having the template applied to it
|
| 30 |
+
:type plateSource: Sequence
|
| 31 |
+
:type plateTarget: Sequence
|
| 32 |
+
:return: None
|
| 33 |
+
:rtype: N/A
|
| 34 |
+
|
| 35 |
+
.. ven:function:: GetNumberOfPositionsLeft(sequence seq, variable numberOfPositionsLeft)
|
| 36 |
+
|
| 37 |
+
This function calculates the number of positions left in a sequence
|
| 38 |
+
|
| 39 |
+
:params seq: The sequence which is being checked
|
| 40 |
+
:params numberOfPositionsLeft: The output value of how many positions are left in the sequence
|
| 41 |
+
:type seq: Sequence
|
| 42 |
+
:type numberOfPositionsLeft: Variable
|
| 43 |
+
:return: None
|
| 44 |
+
:rtype: N/A
|
| 45 |
+
|
| 46 |
+
.. ven:function:: SeqEasyEdit(sequence seq, variable timeout, variable dialog_title, variable dialog_msg, device ML_STAR)
|
| 47 |
+
|
| 48 |
+
This function is a simplified version of SeqEdit, with only the parameters that are regularly used. It opens a dialog box from which the user can edit whichever sequence is specified in the input.
|
| 49 |
+
|
| 50 |
+
:params seq: The sequence which is being edited
|
| 51 |
+
:params timeout: How long the dialog window will stay open by itself before it closes and continues the method without editing the sequence
|
| 52 |
+
:params dialog_title: The title of the dialog window which pops up
|
| 53 |
+
:params dialog_message: The text within the dialog window which pops up
|
| 54 |
+
:params ML_STAR: The device used. Should be ML_STAR from the dropdown
|
| 55 |
+
:type seq: Sequence
|
| 56 |
+
:type timeout: Variable
|
| 57 |
+
:type dialog_title: Variable
|
| 58 |
+
:type dialog_message: Variable
|
| 59 |
+
:type ML_STAR: Device
|
| 60 |
+
:return: None
|
| 61 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/If_And_If_Or.rst
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
If_And_If_Or
|
| 2 |
+
===================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/If_And_If_Or.pkg
|
| 5 |
+
|
| 6 |
+
The if_and_if_or library adds two functions:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`if_and`
|
| 9 |
+
- :ven:func:`if_or`
|
| 10 |
+
|
| 11 |
+
.. ven:function:: if_and(variable iVar1, variable iVar2, variable iVar3, variable iVar4)
|
| 12 |
+
|
| 13 |
+
This function checks variable iVar1 against iVar2 and iVar3 against iVar4; if both statements are true then the function returns a 1, otherwise it returns a 0
|
| 14 |
+
|
| 15 |
+
:params iVar1: Variable to be checked against iVar2
|
| 16 |
+
:params iVar2: Variable to be checked against iVar1
|
| 17 |
+
:params iVar3: Variable to be checked against iVar4
|
| 18 |
+
:params iVar4: Variable to be checked against iVar3
|
| 19 |
+
:type iVar1: Variable
|
| 20 |
+
:type iVar2: Variable
|
| 21 |
+
:type iVar3: Variable
|
| 22 |
+
:type iVar4: Variable
|
| 23 |
+
:return: 1 if both true, 0 otherwise
|
| 24 |
+
:rtype: Variable
|
| 25 |
+
|
| 26 |
+
.. ven:function:: if_or(variable iVar1, variable iVar2, variable iVar3, variable iVar4)
|
| 27 |
+
|
| 28 |
+
This function checks variable iVar1 against iVar2 and iVar3 against iVar4; if at least one of the statements is true then the function will return a 1, otherwise it will return a 0
|
| 29 |
+
|
| 30 |
+
:params iVar1: Variable to be checked against iVar2
|
| 31 |
+
:params iVar2: Variable to be checked against iVar1
|
| 32 |
+
:params iVar3: Variable to be checked against iVar4
|
| 33 |
+
:params iVar4: Variable to be checked against iVar3
|
| 34 |
+
:type iVar1: Variable
|
| 35 |
+
:type iVar2: Variable
|
| 36 |
+
:type iVar3: Variable
|
| 37 |
+
:type iVar4: Variable
|
| 38 |
+
:return: 1 if at least one is true, 0 if false
|
| 39 |
+
:rtype: Variable
|
VenusLibraryDocumentation-DocsForGPT/docs/source/Inheco ODTC - unfinished.rst
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Inheco ODTC
|
| 2 |
+
==========================================
|
| 3 |
+
|
| 4 |
+
The Inheco ODTC library is used to operate up to 4 Inheco ODTC devices, adding both "Standard" and "Advanced" functions to manipulate them. The functions added are:
|
| 5 |
+
|
| 6 |
+
Standard Functions
|
| 7 |
+
-----------------------------------------
|
| 8 |
+
|
| 9 |
+
- :ven:func:`Connect`
|
| 10 |
+
- :ven:func:`GetStatus`
|
| 11 |
+
- :ven:func:`Reset`
|
| 12 |
+
- :ven:func:`Initialize`
|
| 13 |
+
- :ven:func:`SetTraceLevel`
|
| 14 |
+
- :ven:func:`OpenDoor`
|
| 15 |
+
- :ven:func:`CloseDoor`
|
| 16 |
+
- :ven:func:`DownloadProtocol`
|
| 17 |
+
- :ven:func:`ExecuteMethod`
|
| 18 |
+
- :ven:func:`WaitForEndOfExecuteMethod`
|
| 19 |
+
- :ven:func:`StopMethod`
|
| 20 |
+
- :ven:func:`Abort`
|
| 21 |
+
- :ven:func:`ReadActualTemperature`
|
| 22 |
+
- :ven:func:`Terminate`
|
| 23 |
+
- :ven:func:`EvaluateError`
|
| 24 |
+
- :ven:func:`AddAllowedReturnCode`
|
| 25 |
+
|
| 26 |
+
Advanced Functions
|
| 27 |
+
-----------------------------------------
|
| 28 |
+
|
| 29 |
+
- :ven:func:`LockDevice`
|
| 30 |
+
- :ven:func:`UnlockDevice`
|
| 31 |
+
- :ven:func:`SetCSVSeparator`
|
| 32 |
+
- :ven:func:`SetDateTime`
|
| 33 |
+
- :ven:func:`SetNetWorkConfig`
|
| 34 |
+
- :ven:func:`GetParameters`
|
| 35 |
+
- :ven:func:`GetDeviceIdentification`
|
| 36 |
+
- :ven:func:`GetConfiguration`
|
| 37 |
+
- :ven:func:`Pause`
|
| 38 |
+
- :ven:func:`DoContinue`
|
| 39 |
+
- :ven:func:`SetParameters`
|
| 40 |
+
- :ven:func:`SetLogLevel`
|
| 41 |
+
- :ven:func:`RegisterStatusEventURL`
|
| 42 |
+
- :ven:func:`UnregisterStatusEventURL`
|
| 43 |
+
- :ven:func:`GetLastData`
|
| 44 |
+
- :ven:func:`DisableTemperatureEvent`
|
| 45 |
+
|
| 46 |
+
.. ven:function:: Connect(variable i_strLocalIP, variable i_strDeviceIP, variable i_strDevicePort, variable i_blnSimulationMode, variable o_intDeviceID, variable o_strMessage)
|
| 47 |
+
|
| 48 |
+
This function is used to connect to the Inheco ODTC device.
|
| 49 |
+
|
| 50 |
+
:params i_strLocalIP: The IP address of the computer. If this parameter is set to an empty string, the library will try to retrieve the computer's IP address automatically. If automatic IP address configuration doesn't work (i.e. two or more network cards in the system have close IP addresses), configure the IP address to a fixed one and supply this address.
|
| 51 |
+
:params i_strDeviceIP: The IP address of the ODTC device. This must be in the format of "xxx.xxx.xxx.xxx". The IP address of the device can be retrieved using the Inhecodevice finder tool located in the library directory. Start the application 'DeviceFinder (xxxxx).exe' where xxxxx represents a five-digit revision number, wait at least 20 seconds to see the retrieved ip address. If address is not found automatically, click button 'Find Device via Name/IP' and supply the string ODTC_XXXXXX where XXXXXX represents the last 6 characters of the device's MAC address. The string to provide may be found on the label SiLA Service Configuration located on the device controller.
|
| 52 |
+
:params i_strDevicePort: The port used by the ODTC device. Should be set to "". This parameter should only be set to a specific port on official request as the device has to be configured to use this special port.
|
| 53 |
+
:params i_blnSimulationMode: Simulation mode for the library. Set to either 0 (device is not simulated) or 1 (device is simulated).
|
| 54 |
+
:params o_intDeviceID: The unique identifier for this device. Use this number as input for all subsequent function calls.
|
| 55 |
+
:params o_strMessage: Informational message
|
| 56 |
+
:type i_strLocalIP: Variable
|
| 57 |
+
:type i_strDeviceIP: Variable
|
| 58 |
+
:type i_strDevicePort: Variable
|
| 59 |
+
:type i_blnSimulationMode: Boolean
|
| 60 |
+
:type o_intDeviceID: Variable
|
| 61 |
+
:type o_strMessage: Variable
|
| 62 |
+
:return: A boolean as to whether the function returned successfully (1) or not (0).
|
| 63 |
+
:rtype: Boolean
|
| 64 |
+
|
| 65 |
+
.. ven:function:: GetStatus(variable i_intDeviceID, variable o_strDeviceID, variable o_strState, variable o_blnLocked, variable o_strPMSId, variable o_strCurrentTime, variable o_intSILAReturnValue, variable o_strSILAMessage)
|
| 66 |
+
|
| 67 |
+
This function is used to retrieve the status of the device.
|
| 68 |
+
|
| 69 |
+
:params i_intDeviceID: The unique identifier for the device as returned by the :ven:func:`Connect` function.
|
| 70 |
+
:params o_strDeviceID: Internal information of the device
|
| 71 |
+
:params o_strState: State as reported by the device. One of the following values:'startup', 'resetting', 'standby', 'idle', 'busy', 'paused', 'errorhandling', 'inerror', 'asynchpaused', 'pauserequested', 'processing', 'responsewaiting'
|
| 72 |
+
:params o_blnLocked: Lock state of the device
|
| 73 |
+
:params o_strPMSId: Name of the PMS connected to the device
|
| 74 |
+
:params o_strCurrentTime: Time as reported by the device
|
| 75 |
+
:params o_intSILAReturnValue: The SILA return code of the device
|
| 76 |
+
:params o_strSILAMessage: The SILA message returned by the device
|
| 77 |
+
:type i_intDeviceID: Variable
|
| 78 |
+
:type o_strDeviceID: Variable
|
| 79 |
+
:type o_strState: Variable
|
| 80 |
+
:type o_blnLocked: Variable
|
| 81 |
+
:type o_strPMSId: Variable
|
| 82 |
+
:type o_strCurrentTime: Variable
|
| 83 |
+
:type o_intSILAReturnValue: Variable
|
| 84 |
+
:type o_strSILAMessage: Variable
|
| 85 |
+
:return: A boolean as to whether the function returned succesfully (1) or not (0).
|
| 86 |
+
:rtype: Boolean
|
VenusLibraryDocumentation-DocsForGPT/docs/source/Labware_Properties.rst
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Labware Properties
|
| 2 |
+
=========================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/Labware_Properties.pkg
|
| 5 |
+
|
| 6 |
+
The labware properties library adds a variety of functions which assist with obtaining the physical data of the labware, as well as things like its ID. The functions it adds are:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`GetCarrierIDandSiteID_FromLabID`
|
| 9 |
+
- :ven:func:`Get_ContainerBaseOffset`
|
| 10 |
+
- :ven:func:`Get_ContainerBaseThickness`
|
| 11 |
+
- :ven:func:`Get_Height`
|
| 12 |
+
- :ven:func:`Get_NameAndFileName`
|
| 13 |
+
- :ven:func:`Get_NumberOfColumns`
|
| 14 |
+
- :ven:func:`Get_NumberOfRows`
|
| 15 |
+
- :ven:func:`Get_RackBaseToCoverBase`
|
| 16 |
+
- :ven:func:`Get_StackHeight`
|
| 17 |
+
- :ven:func:`Get_XYZ_deckPosition`
|
| 18 |
+
- :ven:func:`Get_XY_dimensions`
|
| 19 |
+
|
| 20 |
+
.. ven:function:: GetCarrierIDandSiteID_FromLabID(device io_instrument, variable i_labware_ID, variable o_carrier_ID, variable o_site_ID)
|
| 21 |
+
|
| 22 |
+
This function takes outputs the carrier ID and site ID which are associated with the given labware ID. It works on both the Nimbus and the STAR.
|
| 23 |
+
|
| 24 |
+
:params io_instrument: The instrument being used. Will either be ML_STAR or Nimbus.
|
| 25 |
+
:params i_labware_ID: The labware ID from which the other IDs are being pulled.
|
| 26 |
+
:params o_carrier_ID: The carrier ID associated with the given labware ID.
|
| 27 |
+
:params o_site_ID: The site ID associated with the given labware ID.
|
| 28 |
+
:type io_instrument: Device
|
| 29 |
+
:type i_labware_ID: Variable
|
| 30 |
+
:type o_carrier_ID: Variable
|
| 31 |
+
:type o_site_ID: Variable
|
| 32 |
+
:return: A boolean determining whether the labware ID exists (1) or not (0)
|
| 33 |
+
:rtype: Boolean
|
| 34 |
+
|
| 35 |
+
.. ven:function:: Get_ContainerBaseOFfset(device io_instrument, sequence i_sequenceLabware, variable i_sequencePosition, variable o_ContainerBaseOffset)
|
| 36 |
+
|
| 37 |
+
This function outputs the distance from the rack base to the container base for the labware at the given sequence position.
|
| 38 |
+
|
| 39 |
+
:params io_instrument: The instrument being used. Will either be ML_STAR or Nimbus.
|
| 40 |
+
:params i_sequenceLabware: The sequence associated with the labware being checked.
|
| 41 |
+
:params i_sequencePosition: The position ID or index of the sequence being checked. Can be either int or str. An input of 0 will auto-select the first position.
|
| 42 |
+
:params o_ContainerBaseOFfset: The distance from the rack base to the container base at the specified position
|
| 43 |
+
:type io_instrument: Device
|
| 44 |
+
:type i_sequenceLabware: Sequence
|
| 45 |
+
:type i_sequencePosition: Variable
|
| 46 |
+
:type o_ContainerBaseOFfset: Variable
|
| 47 |
+
:return: None
|
| 48 |
+
:rtype: N/A
|
| 49 |
+
|
| 50 |
+
.. ven:function:: Get_ContainerBaseThickness(device io_instrument, sequence i_sequenceLabware, variable o_containerBaseThickness)
|
| 51 |
+
|
| 52 |
+
This function outputs the base thickness of the container at the first position of a given sequence.
|
| 53 |
+
|
| 54 |
+
:params io_instrument: The instrument being used. Will be either ML_STAR or Nimbus.
|
| 55 |
+
:params i_sequenceLabware: The sequence asspciated with the labware being checked.
|
| 56 |
+
:params o_containerBaseThickness: The thickness of the base of the container being checked.
|
| 57 |
+
:type io_instrument: Device
|
| 58 |
+
:type i_sequenceLabware: Sequence
|
| 59 |
+
:type o_containerBaseThickness: Variable
|
| 60 |
+
:return: None
|
| 61 |
+
:rtype: N/A
|
| 62 |
+
|
| 63 |
+
.. ven:function:: Get_Height(device io_instrument, sequence i_sequenceLabware, variable o_labwareHeight)
|
| 64 |
+
|
| 65 |
+
This function outputs the height of the labware at the first position of a given sequence. This value is only the labware height, not the absolute Z position.
|
| 66 |
+
|
| 67 |
+
:params io_instrument: The instrument being used. Will be either ML_STAR or Nimbus.
|
| 68 |
+
:params i_sequenceLabware: The sequence associated with the labware being checked.
|
| 69 |
+
:params o_labwareHeight: The height of the labware being checked.
|
| 70 |
+
:type io_instrument: Device
|
| 71 |
+
:type i_sequenceLabware: Sequence
|
| 72 |
+
:type o_labwareHeight: Variable
|
| 73 |
+
:return: None
|
| 74 |
+
:rtype: N/A
|
| 75 |
+
|
| 76 |
+
.. ven:function:: Get_NameAndFileName(device io_instrument, sequence i_sequenceLabware, variable o_viewName, variable o_fileName)
|
| 77 |
+
|
| 78 |
+
This function outputs the labware view name and the file name associated with it (with path)
|
| 79 |
+
|
| 80 |
+
:params io_instrument: The instrument being used. Will be either ML_STAR or Nimbus.
|
| 81 |
+
:params i_sequenceLabware: The sequence associated with the labware of interest.
|
| 82 |
+
:params o_viewName: The view name of the labware being checked.
|
| 83 |
+
:params o_fileName: The file name (with path) of the labware being checked.
|
| 84 |
+
:return: None
|
| 85 |
+
:rtype: N/A
|
| 86 |
+
|
| 87 |
+
.. ven:function:: Get_NumberOfColumns(device io_instrument, sequence i_sequenceLabware, variable o_labwareColumns)
|
| 88 |
+
|
| 89 |
+
This function outputs the number of columns defined in the labware from the first position of a given sequence.
|
| 90 |
+
|
| 91 |
+
:params io_instrument: The instrument being used. Will be either ML_STAR or Nimbus.
|
| 92 |
+
:params i_sequenceLabware: The sequence associated with the labware of interest.
|
| 93 |
+
:params o_labwareColumns: The number of columns defined in the labware being checked.
|
| 94 |
+
:type io_instrument: Device
|
| 95 |
+
:type i_sequenceLabware: Sequence
|
| 96 |
+
:type o_labwareColumns: Variable
|
| 97 |
+
:return: None
|
| 98 |
+
:rtype: N/A
|
| 99 |
+
|
| 100 |
+
.. ven:function:: Get_NumberOfRows(device io_instrument, sequence i_sequenceLabware, variable o_labwareColumns)
|
| 101 |
+
|
| 102 |
+
This function outputs the number of rows defined in the labware at the first position of a given sequence. The variable and function description both say columns; this is incorrect.
|
| 103 |
+
|
| 104 |
+
:params io_instrument: The instrument being used. Will be either ML_STAR or Nimbus.
|
| 105 |
+
:params i_sequenceLabware: The sequence associated with the labware being checked.
|
| 106 |
+
:params o_labwareColumns: The number of rows defined in the labware being checked.
|
| 107 |
+
:type io_instrument: Device
|
| 108 |
+
:type i_sequenceLabware: Sequence
|
| 109 |
+
:type o_labwareColumns: Variable
|
| 110 |
+
:return: None
|
| 111 |
+
:rtype: N/A
|
| 112 |
+
|
| 113 |
+
.. ven:function:: Get_RackBaseToCoverBase(device io_instrument, sequence i_sequenceLabware, variable o_RackBaseToCoverBase_Height)
|
| 114 |
+
|
| 115 |
+
This function outputs the height from the base of the rack to the base of the cover/lid of the labware at the first position of a given sequence.
|
| 116 |
+
|
| 117 |
+
:params io_instrument: The instrument being used. Will be either ML_STAR or Nimbus.
|
| 118 |
+
:params i_sequenceLabware: The sequence associated with the labware being checked.
|
| 119 |
+
:params o_RackBaseToCoverBase_Height: The distance from the rack base to the cover base.
|
| 120 |
+
:type io_instrument: Device
|
| 121 |
+
:type i_sequenceLabware: Sequence
|
| 122 |
+
:type o_RackBaseToCoverBase_Height: Variable
|
| 123 |
+
:return: None
|
| 124 |
+
:rtype: N/A
|
| 125 |
+
|
| 126 |
+
.. ven:function:: Get_StackHeight(device io_instrument, sequence i_sequenceLabware, variable o_labwareStackHeight)
|
| 127 |
+
|
| 128 |
+
This function outputs the stack height of the specified labware at the first position of a given sequence.
|
| 129 |
+
|
| 130 |
+
:params io_instrument: The instrument being used. Will be either ML_STAR or Nimbus.
|
| 131 |
+
:params i_sequenceLabware: The sequence associated with the labware being checked.
|
| 132 |
+
:params o_labwareStackHeight: The stack height of the labware being checked, or the covered stack height if the labware is lidded.
|
| 133 |
+
:type io_instrument: Device
|
| 134 |
+
:type i_sequenceLabware: Sequence
|
| 135 |
+
:type o_labwareStackHeight: Variable
|
| 136 |
+
:return: None
|
| 137 |
+
:rtype: N/A
|
| 138 |
+
|
| 139 |
+
.. ven:function:: Get_XYZ_deckPosition(device io_instrument, sequence i_sequenceLabware, variable o_labware_deckPosition_X, variable o_labware_deckPosition_Y, variable o_labware_deckPosition_Z)
|
| 140 |
+
|
| 141 |
+
This function returns the X, Y and Z coordinates of the upper left well of the specified labware at the first position of a given sequence. The description of this function says it only does the X and Y coordinates, this is incorrect.
|
| 142 |
+
|
| 143 |
+
:params io_instrument: The instrument being used. Will be either ML_STAR or Nimbus.
|
| 144 |
+
:params i_sequenceLabware: The sequence associated with the labware being checked.
|
| 145 |
+
:params o_labware_deckPosition_X: The X coordinate of the labware on the deck.
|
| 146 |
+
:params o_labware_deckPosition_Y: The Y coordinate of the labware on the deck.
|
| 147 |
+
:params o_labware_deckPosition_Z: The Z coordinate of the labware on the deck.
|
| 148 |
+
:type io_instrument: Device
|
| 149 |
+
:type i_sequenceLabware: Sequence
|
| 150 |
+
:type o_labware_deckPosition_X: Variable
|
| 151 |
+
:type o_labware_deckPosition_Y: Variable
|
| 152 |
+
:type o_labware_deckPosition_Z: Variable
|
| 153 |
+
:return: None
|
| 154 |
+
:rtype: N/A
|
| 155 |
+
|
| 156 |
+
.. ven:function:: Get_XY_dimensions(device io_instrument, sequence i_sequenceLabware, variable o_X_width, variable o_Y_depth)
|
| 157 |
+
|
| 158 |
+
This function outputs the X (width) and Y (depth) dimensions of the specified labware at the first position of a given sequence.
|
| 159 |
+
|
| 160 |
+
:params io_instrument: The instrument being used. Will be either ML_STAR or Nimbus.
|
| 161 |
+
:params i_sequenceLabware: The sequence associated with the labware being checked.
|
| 162 |
+
:params o_X_width: The width of the labware being checked.
|
| 163 |
+
:params o_Y_depth: The depth of the labware being checked.
|
| 164 |
+
:type io_instrument: Device
|
| 165 |
+
:type i_sequenceLabware: Sequence
|
| 166 |
+
:type o_X_width: Variable
|
| 167 |
+
:type o_Y_depth: Variable
|
| 168 |
+
:return: None
|
| 169 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/Lookup.rst
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Lookup
|
| 2 |
+
================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/Lookup.pkg
|
| 5 |
+
|
| 6 |
+
The lookup library provides one function which allows you to locate items in an array and get their index.
|
| 7 |
+
|
| 8 |
+
- :ven:func:`Lookup`
|
| 9 |
+
|
| 10 |
+
.. ven:function:: Lookup(array array, variable item)
|
| 11 |
+
|
| 12 |
+
Input an array and a value to look up. If the value occurs in the array, it will return the 1-based index. If it doesn't occur in the array, it will return a 0.
|
| 13 |
+
|
| 14 |
+
:params array: The array to search
|
| 15 |
+
:params item: The variable to search for
|
| 16 |
+
:type array: Array
|
| 17 |
+
:type item: Variable
|
| 18 |
+
:return: 1-based index if found, 0 if not found
|
| 19 |
+
:rtype: Variable
|
| 20 |
+
|
VenusLibraryDocumentation-DocsForGPT/docs/source/Pipetting.rst
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Pipetting (from HSLExtensions)
|
| 2 |
+
======================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/Pipetting.pkg
|
| 5 |
+
|
| 6 |
+
The pipetting library from HSL Extensions adds functions related to pipetting, primarily to do with sequences and channel patterns. The functions it adds are:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`CreateMixedChannelPattern`
|
| 9 |
+
- :ven:func:`CreateOrderedChannelPattern`
|
| 10 |
+
- :ven:func:`ParseChannelPattern`
|
| 11 |
+
- :ven:func:`Plate384PositionNumberToPositionText`
|
| 12 |
+
- :ven:func:`Plate384PositionTextToPositionNumber`
|
| 13 |
+
- :ven:func:`Plate96PositionNumberToPositionText`
|
| 14 |
+
- :ven:func:`Plate96PositionTextToPositionNumber`
|
| 15 |
+
|
| 16 |
+
.. ven:function:: CreateMixedChannelPattern(array i_arrUseChannel, variable i_intTotalNumberOfChannels)
|
| 17 |
+
|
| 18 |
+
This function generates a "mixed" channel pattern. The channel pattern generated will be based on the input array, and then will be filled with "0"s up to the total number of channels (normally 8). If the array size is greater than the total number of channels inputted, the channel pattern will be limited to whatever the total number of channels inputted is. E.g. if the array is [1,1,1,1,0,0,1,0,0,0,1] and the input channel number is 8, the channel pattern generated will be "11110010".
|
| 19 |
+
|
| 20 |
+
:params i_arrUseChannel: A boolean array of which channels should be used.
|
| 21 |
+
:params i_intTotalNumberOfChannels: The total number of channels being used.
|
| 22 |
+
:type i_arrUseChannel: Array
|
| 23 |
+
:type i_intTotalNumberOfChannels: Variable
|
| 24 |
+
:return: The channel pattern generated by the function
|
| 25 |
+
:rtype: String
|
| 26 |
+
|
| 27 |
+
.. ven:function:: CreateOrderedChannelPattern(variable i_intNumberOfUsedChannels, variable i_intTotalNumberOfChannels)
|
| 28 |
+
|
| 29 |
+
This function creates an ordered channel pattern, generating a string with as many "1"s in it as the inputted number of used channels, and adding "0"s until the total length of the channel pattern is equal to the total number of channels inputted. If the total number of used channels is greater than the total number of channels, the channel pattern will be truncated to the total number of channels. E.g. if the number of used channels is 3 and the total number of channels is 8, the channel pattern generated will be "11100000". If these numbers were reversed, the channel pattern generated would simply be "111".
|
| 30 |
+
:params i_intNumberOfUsedChannels: The number of "active" channels wishing to be used in the channel pattern
|
| 31 |
+
:params i_intTotalNumberOfChannels: The max number of channels available (usually 8 on a STAR)
|
| 32 |
+
:type i_intNumberOfUsedChannels: Variable
|
| 33 |
+
:type i_intTotalNumberOfChannels: Variable
|
| 34 |
+
:return: The channel pattern generated by the function
|
| 35 |
+
:rtype: String
|
| 36 |
+
|
| 37 |
+
.. ven:function:: ParseChannelPattern(variable i_strChannelPattern)
|
| 38 |
+
|
| 39 |
+
This function parses a channel pattern given as a string and creates a boolean array of the channels being used. If the input has the wrong type, or contains not allowed characters, the result is an empty array.
|
| 40 |
+
|
| 41 |
+
:params i_strChannelPattern: The channel pattern to be parsed
|
| 42 |
+
:type i_strChannelPattern: Variable
|
| 43 |
+
:return: The array of booleans with the channels being used in the channel pattern
|
| 44 |
+
:rtype: Array
|
| 45 |
+
|
| 46 |
+
.. ven:function:: Plate384PositionNumberToPositionText(variable i_intPositionNumber, variable o_strPositionText)
|
| 47 |
+
|
| 48 |
+
This function converts position number to position text for a 384 well plate. E.g. if given a 1 it will convert it to A1, if given a 16 it will convert it to P1, etc.
|
| 49 |
+
|
| 50 |
+
:params i_intPositionNumber: The position number to be converted. Any int in the range of 1-384.
|
| 51 |
+
:params o_strPositionText: The position text which will be the output. Will be a string of any of the well identifiers on a 384 well plate (i.e. A1-P24)
|
| 52 |
+
:type i_intPositionNumber: Variable
|
| 53 |
+
:type o_strPositionText: Variable
|
| 54 |
+
:return: A boolean of whether the conversion was successful
|
| 55 |
+
:rtype: Boolean
|
| 56 |
+
|
| 57 |
+
.. ven:function:: Plate384PositionNumberToPositionText(variable i_strPositionText, variable o_intPositionNumber)
|
| 58 |
+
|
| 59 |
+
This function converts position text to position number for a 384 well plate. E.g. if given A1 it will convert it to a 1, if given P1 it will convert it to a 16, etc.
|
| 60 |
+
|
| 61 |
+
:params i_strPositionText: The position text to be converted. Will be a string of any of the well identifiers on a 384 well plate (i.e. A1-P24)
|
| 62 |
+
:params o_intPositionNumber: The position number which will be the output. Any int in the range of 1-384.
|
| 63 |
+
:type i_intPositionNumber: Variable
|
| 64 |
+
:type o_strPositionText: Variable
|
| 65 |
+
:return: A boolean of whether the conversion was successful
|
| 66 |
+
:rtype: Boolean
|
| 67 |
+
|
| 68 |
+
.. ven:function:: Plate96PositionNumberToPositionText(variable i_intPositionNumber, variable o_strPositionText)
|
| 69 |
+
|
| 70 |
+
This function converts position number to position text for a 96 well plate. E.g. if given a 1 it will convert it to A1, if given an 8 it will convert it to H1, etc.
|
| 71 |
+
|
| 72 |
+
:params i_intPositionNumber: The position number to be converted. Any int in the range of 1-96.
|
| 73 |
+
:params o_strPositionText: The position text which will be the output. Will be a string of any of the well identifiers on a 96 well plate (i.e. A1-H12)
|
| 74 |
+
:type i_intPositionNumber: Variable
|
| 75 |
+
:type o_strPositionText: Variable
|
| 76 |
+
:return: A boolean of whether the conversion was successful
|
| 77 |
+
:rtype: Boolean
|
| 78 |
+
|
| 79 |
+
.. ven:function:: Plate96PositionNumberToPositionText(variable i_strPositionText, variable o_intPositionNumber)
|
| 80 |
+
|
| 81 |
+
This function converts position text to position number for a 96 well plate. E.g. if given A1 it will convert it to a 1, if given H1 it will convert it to a 8, etc.
|
| 82 |
+
|
| 83 |
+
:params i_strPositionText: The position text to be converted. Will be a string of any of the well identifiers on a 96 well plate (i.e. A1-H12)
|
| 84 |
+
:params o_intPositionNumber: The position number which will be the output. Any int in the range of 1-96.
|
| 85 |
+
:type i_intPositionNumber: Variable
|
| 86 |
+
:type o_strPositionText: Variable
|
| 87 |
+
:return: A boolean of whether the conversion was successful
|
| 88 |
+
:rtype: Boolean
|
VenusLibraryDocumentation-DocsForGPT/docs/source/PlateEditor96 - unfinished.rst
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
PlateEditor96
|
| 2 |
+
==========================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/PlateEditor96.pkg
|
| 5 |
+
|
| 6 |
+
This library adds functions which help edit the sequences on a plate dynamically during a method, either with a dialogue or from a csv file. The functions it adds are:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`EditPlate96_Custom`
|
| 9 |
+
- :ven:func:`EditPlate96`
|
| 10 |
+
- :ven:func:`EditPlate96_with_BarcodesFromCsv`
|
| 11 |
+
- :ven:func:`EditPlate96_with_BarcodesFromExcelAccess`
|
| 12 |
+
|
| 13 |
+
.. ven:function:: EditPlate96_Custom(sequence o_SeqEdit, sequence i_OriginalPlateSeq, variable i_message, variable fixed_number, sequence i_forbiddenWellsSeq, sequence i_preSelectionSeq, variable i_Editable)
|
| 14 |
+
|
| 15 |
+
This function shows a GUI to select wells in a 96 plate, and returns a sequence sorted A1,B1,C1... with the selection with addtional options.
|
| 16 |
+
|
| 17 |
+
:params o_SeqEdit: The returned plate sequence with the newly selected wells
|
| 18 |
+
:params i_OriginalPlateSeq: The original input plate sequence which isn't modified
|
| 19 |
+
:params i_message: Message to be shown in the GUI
|
| 20 |
+
:params fixed_number: Set this to 0 if you want a free choice of the number of wells, or to >0 if you want a set value of wells to be chosen
|
| 21 |
+
:params i_forbiddenWellsSeq: Any wells which are unable to be selected
|
| 22 |
+
:params i_preSelectionSeq: Any wells which are automatically selected
|
| 23 |
+
:params i_Editable: A boolean determining whether the user is able to (1) select or deselect wells or not (0). With this at 0, the plate editor effectively becomes a GUI displaying updates of which wells are selected.
|
| 24 |
+
:type o_SeqEdit: Sequence
|
| 25 |
+
:type i_OriginalPlateSeq: Sequence
|
| 26 |
+
:type i_message: Variable
|
| 27 |
+
:type fixed_number: Variable
|
| 28 |
+
:type i_forbiddenWellsSeq: Sequence
|
| 29 |
+
:type i_preSelectionSeq: Sequence
|
| 30 |
+
:type i_Editable: Boolean
|
| 31 |
+
:return: None
|
| 32 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/RemoveTextDelimitersFromAcsiiTextFile.rst
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
RemoveTextDelimitersFromAsciiTextFile
|
| 2 |
+
===============================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/RemoveTextDelimitersFromAsciiTextFile.pkg
|
| 5 |
+
|
| 6 |
+
The RemoveTextDelimitersFromAsciiFile library adds a single function which edits a file to remove all delimiters from the Ascii file at the given file path.
|
| 7 |
+
|
| 8 |
+
- :ven:func:`RemoveTextDelimitersFromAsciiTextFile`
|
| 9 |
+
|
| 10 |
+
.. ven:function:: RemoveTextDelimitersFromAsciiTextFile(variable fileName)
|
| 11 |
+
|
| 12 |
+
This function removes any text delimiters from the Ascii text file at the specified file path. It edits the file rather than outputting a copy.
|
| 13 |
+
|
| 14 |
+
:params fileName: The file path of the text file to be edited
|
| 15 |
+
:type fileName: Variable
|
| 16 |
+
:return: Boolean of whether the text file was found (hslTrue) or not found (hslFalse)
|
| 17 |
+
:rtype: Boolean
|
| 18 |
+
|
VenusLibraryDocumentation-DocsForGPT/docs/source/RuntimeErrors.rst
ADDED
|
@@ -0,0 +1,752 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Runtime Errors
|
| 2 |
+
========================
|
| 3 |
+
|
| 4 |
+
.. _RuntimeErrors:
|
| 5 |
+
|
| 6 |
+
Venus errors
|
| 7 |
+
--------------------
|
| 8 |
+
|
| 9 |
+
- :ref:`0xa0220001 : No memory <0xa0220001>`
|
| 10 |
+
- :ref:`0xa1230002 : Inserting identifier failed <0xa1230002>`
|
| 11 |
+
- :ref:`0xa1230003 : Identifier not found <0xa1230003>`
|
| 12 |
+
- :ref:`0xa2230004 : L-value not a number <0xa2230004>`
|
| 13 |
+
- :ref:`0xa2230005 : R-value not a number <0xa2230005>`
|
| 14 |
+
- :ref:`0xa1230006 : Not an identifier <0xa1230006>`
|
| 15 |
+
- :ref:`0xa1220007 : Unrecognized token <0xa1220007>`
|
| 16 |
+
- :ref:`0xa1230008 : R-value not bound <0xa1230008>`
|
| 17 |
+
- :ref:`0xa2230009 : Bad number <0xa2230009>`
|
| 18 |
+
- :ref:`0xa123000a : Bad tree <0xa123000a>`
|
| 19 |
+
- :ref:`0xa123000b : Invalid entry <0xa123000b>`
|
| 20 |
+
- :ref:`0xa122000c : Function identifier is protected <0xa122000c>`
|
| 21 |
+
- :ref:`0xa223000d : Underspecified <0xa223000d>`
|
| 22 |
+
- :ref:`0xa2230037 : Overspecified <0xa2230037>`
|
| 23 |
+
- :ref:`0xa123000e : Setting value failed <0xa123000e>`
|
| 24 |
+
- :ref:`0xa123000f : Function identifier not found <0xa123000f>`
|
| 25 |
+
- :ref:`0xa1230010 : Bindings not found <0xa1230010>`
|
| 26 |
+
- :ref:`0xa1230011 : Temporary variable not found <0xa1230011>`
|
| 27 |
+
- :ref:`0xa1230012 : Unknown function type <0xa1230012>`
|
| 28 |
+
- :ref:`0xa2230013 : Unable to find file <0xa2230013>`
|
| 29 |
+
- :ref:`0xa1230014 : Type mismatch <0xa1230014>`
|
| 30 |
+
- :ref:`0xa2230015 : Bad L-value <0xa2230015>`
|
| 31 |
+
- :ref:`0xa2230016 : Bad R-value <0xa2230016>`
|
| 32 |
+
- :ref:`0xa2220017 : Unrecognised type <0xa2220017>`
|
| 33 |
+
- :ref:`0xa1230018 : Bad memory type <0xa1230018>`
|
| 34 |
+
- :ref:`0xa1230019 : Array reference out of bound <0xa1230019>`
|
| 35 |
+
- :ref:`0xa123001a : Bad array identifier type <0xa123001a>`
|
| 36 |
+
- :ref:`0xa123001b : Tag insert failed <0xa123001b>`
|
| 37 |
+
- :ref:`0xa123001c : Dynamic memory identifier not bound <0xa123001c>`
|
| 38 |
+
- :ref:`0xa123001d : Tag identifier not bound <0xa123001d>`
|
| 39 |
+
- :ref:`0xa123001e : Structure reference out of bound <0xa123001e>`
|
| 40 |
+
- :ref:`0xa123001f : Bad tag identifier type <0xa123001f>`
|
| 41 |
+
- :ref:`0xa1230020 : L-value is not a structure identifier <0xa1230020>`
|
| 42 |
+
- :ref:`0xa1230021 : L-value is not an array identifier <0xa1230021>`
|
| 43 |
+
- :ref:`0xa1230022 : Failed to lookup tag identifier in tag table <0xa1230022>`
|
| 44 |
+
- :ref:`0xa1230023 : Signal break <0xa1230023>`
|
| 45 |
+
- :ref:`0xa1230024 : Copy out of bound <0xa1230024>`
|
| 46 |
+
- :ref:`0xa1230025 : Signal return <0xa1230025>`
|
| 47 |
+
- :ref:`0xa2230026 : Array size is not an integer <0xa2230026>`
|
| 48 |
+
- :ref:`0xa1230027 : Failed to copy tag table <0xa1230027>`
|
| 49 |
+
- :ref:`0xa1230029 : Function has not been defined <0xa1230029>`
|
| 50 |
+
- :ref:`0xa123002a : Unable to enter nesting level <0xa123002a>`
|
| 51 |
+
- :ref:`0xa123002b : Unable to exit nesting level <0xa123002b>`
|
| 52 |
+
- :ref:`0xa122002c : No context <0xa122002c>`
|
| 53 |
+
- :ref:`0xa123002d : Failed to read file <0xa123002d>`
|
| 54 |
+
- :ref:`0xa123002e : Failed to create timer <0xa123002e>`
|
| 55 |
+
- :ref:`0xa123002f : Failed to set timer <0xa123002f>`
|
| 56 |
+
- :ref:`0xa1230030 : Failed to wait timer <0xa1230030>`
|
| 57 |
+
- :ref:`0xa1230031 : Failed to create event <0xa1230031>`
|
| 58 |
+
- :ref:`0xa1230032 : Failed to set event <0xa1230032>`
|
| 59 |
+
- :ref:`0xa1230033 : Failed to wait event <0xa1230033>`
|
| 60 |
+
- :ref:`0xa1230034 : Bad argument <0xa1230034>`
|
| 61 |
+
- :ref:`0xa2230035 : Syntax error <0xa2230035>`
|
| 62 |
+
- :ref:`0xa2230036 : Integer divide by zero <0xa2230036>`
|
| 63 |
+
- :ref:`0xa2230038 : Returning address of local variable or temporary <0xa2230038>`
|
| 64 |
+
- :ref:`0xa2230039 <0xa2230039>`
|
| 65 |
+
- :ref:`0xa223003a : Unable to find file <0xa223003a>`
|
| 66 |
+
- :ref:`0xa223003b : File not updatable <0xa223003b>`
|
| 67 |
+
- :ref:`0xa223003c : Recursive call <0xa223003c>`
|
| 68 |
+
- :ref:`0xa223003d : Failed to wait for threads <0xa223003d>`
|
| 69 |
+
- :ref:`0xa223003e : Time-out interval elapsed <0xa223003e>`
|
| 70 |
+
- :ref:`0xa2220044 : Automation type not supported <0xa2220044>`
|
| 71 |
+
- :ref:`0xa1230046 : Bad argument parameter <0xa1230046>`
|
| 72 |
+
- :ref:`0xa123004d : Sequence property not found <0xa123004d>`
|
| 73 |
+
- :ref:`0xa123004e : int64 not supported <0xa123004e>`
|
| 74 |
+
|
| 75 |
+
HSLUtilLib Errors
|
| 76 |
+
-----------------------------
|
| 77 |
+
|
| 78 |
+
- :ref:`0xa0000001 : The parameter is incorrect <0x00000001>`
|
| 79 |
+
|
| 80 |
+
HSLUtilLib2 Errors
|
| 81 |
+
-----------------------------
|
| 82 |
+
|
| 83 |
+
- :ref:`0xa1630001 : Unexpected error <0xa1630001>`
|
| 84 |
+
- :ref:`0xa1630002 : Create object failed or Invalid parameter <0xa1630002>`
|
| 85 |
+
- :ref:`0xa1630003 : Value check failed: Invalid type <0xa1630003>`
|
| 86 |
+
- :ref:`0xa1630004 : Value check failed: Invalid range <0xa1630004>`
|
| 87 |
+
- :ref:`0xa1630005 : Labware error <0xa1630005>`
|
| 88 |
+
- :ref:`0xa1630006 : Array index not a number <0xa1630006>`
|
| 89 |
+
- :ref:`0xa1630007 : Array index not an integer <0xa1630007>`
|
| 90 |
+
- :ref:`0xa1630008 : Array index must not be negative <0xa1630008>`
|
| 91 |
+
- :ref:`0xa1630009 : Array index must not be greater than array size <0xa1630009>`
|
| 92 |
+
|
| 93 |
+
Error explanations and advice
|
| 94 |
+
-----------------------------
|
| 95 |
+
|
| 96 |
+
.. _0xa0220001:
|
| 97 |
+
|
| 98 |
+
**0xa0220001: No memory**
|
| 99 |
+
|
| 100 |
+
This error means that the system cannot allocate or access enough memory or disk space for whatever operation causes the error to arise. To fix this, try:
|
| 101 |
+
|
| 102 |
+
- Opening task manager and closing down other programs that are using a lot of RAM
|
| 103 |
+
- Modify the operation to optimise for less memory usage
|
| 104 |
+
- Increase the amount of RAM that Venus has been allocated
|
| 105 |
+
- In task manager, go to details, right click the hamilton software and assign priority high
|
| 106 |
+
|
| 107 |
+
.. _0xa1230002:
|
| 108 |
+
|
| 109 |
+
**0xa1230002: Inserting identifier failed**
|
| 110 |
+
|
| 111 |
+
This error means that the parser or executer could not insert the specified identifier into the symbol table. Some examples of how this error can arise are: if the table is corrupted, if the identifier being read causes issues for the parser, or similar. To fix this, try:
|
| 112 |
+
|
| 113 |
+
- Replace the identifier with something else temporarily, to determine whether it is the identifier causing the issue or something else
|
| 114 |
+
- Check to make sure the identifier has all the data associated with it that the symbol table needs. Typically this includes name, type and attributes
|
| 115 |
+
- Check to make sure the identifier doesn't include any symbols that might interfere with the parser. These can include anything outside of standard ASCII characters from range 0xa0 - 0x7F.
|
| 116 |
+
|
| 117 |
+
.. _0xa1230003:
|
| 118 |
+
|
| 119 |
+
**0xa1230003: Identifier not found**
|
| 120 |
+
|
| 121 |
+
This error means that the parser or executer could not find the specified identifier in the symbol table. This usually means something like a sequence or variable has either not been added or has been added but misspelt. To fix this, try:
|
| 122 |
+
|
| 123 |
+
- Check what the error says. It should be an error which tells you the name of what it fails to lookup, which is useful for debugging purposes.
|
| 124 |
+
- Check whether the name given in the error is spelt correctly; if not then that needs correcting
|
| 125 |
+
- Check whether the name given in the error has been initialised or defined. It may be there, it may be there but misspelt, it may not be there at all. If it isn't there, add it and try again. If it is there but misspelt, rename it to the correct item.
|
| 126 |
+
- If the name is there and spelt correctly, make sure that the correct symbol table is being called during the method
|
| 127 |
+
|
| 128 |
+
.. _0xa2230004:
|
| 129 |
+
|
| 130 |
+
**0xa2230004: L-value not a number**
|
| 131 |
+
|
| 132 |
+
This error means that the executor has detected that the left hand side of the expression at the specified line is not a number. The error thrown will usually include the line number from which the error arose; this will be the line number in the HSL code. Look up the error to find whereabouts in the Venus code it corresponds to, but don't fix it in the HSL method editor; otherwise you can only use HSL method editor from that point onwards as Venus only compiles one way med --> hsl. This usually occurs when two values are being added and one of them is not a number but instead a string. To fix this, try:
|
| 133 |
+
|
| 134 |
+
- Checking whether you are trying to add two numbers or concatenate two strings, both have similar syntax.
|
| 135 |
+
- If trying to add two numbers, check which one is on the left e.g. s in the equation v = s + 1
|
| 136 |
+
- Make sure the selected number is a number and not a string or similar. You can either convert it to a number manually, or you can input a step into the method which automatically converts strings to their float or int equivalents. This can be performed by the StrFVal function from HSLStrLib.
|
| 137 |
+
- If trying to concatenate two strings, then the leftmost value is still being stored as a number rather than a string
|
| 138 |
+
- Use the StrFStr function from HSLStrLib to convert a floating point number into the correpsponding character string before concatenating.
|
| 139 |
+
|
| 140 |
+
.. _0xa2230005:
|
| 141 |
+
|
| 142 |
+
**0xa2230005: R-value not a number**
|
| 143 |
+
|
| 144 |
+
This error means that the executor has detected that the right hand side of the expression at the specified line is not a number. The error thrown will usually include the line number from which the error arose; this will be the line number in the HSL code. Look up the error to find whereabouts in the Venus code it corresponds to, but don't fix it in the HSL method editor; otherwise you can only use HSL method editor from that point onwards as Venus only compiles one way med --> hsl. This usually occurs when two values are being added and one of them is not a number but instead a string. To fix this, try:
|
| 145 |
+
|
| 146 |
+
- Checking whether you are trying to add two numbers or concatenate two strings, both have similar syntax.
|
| 147 |
+
- If trying to add two numbers, check which one is on the right e.g. 1 in the equation v = s + 1
|
| 148 |
+
- Make sure the selected number is a number and not a string or similar. You can either convert it to a number manually, or you can input a step into the method which automatically converts strings to their float or int equivalents. This can be performed by the StrFVal function from HSLStrLib.
|
| 149 |
+
- If trying to concatenate two strings, then the leftmost value is still being stored as a number rather than a string
|
| 150 |
+
- Use the StrFStr function from HSLStrLib to convert a floating point number into the correpsponding character string before concatenating.
|
| 151 |
+
|
| 152 |
+
.. _0xa1230006:
|
| 153 |
+
|
| 154 |
+
**0xa1230006: Not an identifier**
|
| 155 |
+
|
| 156 |
+
This error means that the symbol table entry of the identifier at the specified line is not an identifier. To fix this, try:
|
| 157 |
+
|
| 158 |
+
- Changing the name of the identifier being used. You can also look through the method to confirm that the identifier is being used and that you are not misspelling anything
|
| 159 |
+
|
| 160 |
+
.. _0xa1220007:
|
| 161 |
+
|
| 162 |
+
**0xa1220007: Unrecognized token**
|
| 163 |
+
|
| 164 |
+
This error means that the executor detected an unrecognized token. This usually means that what it is trying to parse contains characters that are not allowed. A typical example of this is when a JSON Parser tries to parse HTML, and encounters the \"<\" character. To fix this, try:
|
| 165 |
+
|
| 166 |
+
- Identify what code line the error comes from via the HSL code, and then look at that code in Venus.
|
| 167 |
+
- Look through the code that the executor is trying to manage and try identify any characters that might not be standard. This includes anything outside of the normal ASCII range of 0xa0 - 0x7F. Remove or replace those characters
|
| 168 |
+
- Check that any special characters that are part of strings have backslashes in front of them.
|
| 169 |
+
|
| 170 |
+
.. _0xa1230008:
|
| 171 |
+
|
| 172 |
+
**0xa1230008: R-value not bound**
|
| 173 |
+
|
| 174 |
+
This error occurs when the R-value in a line is not bound to a valid value. An example would be v = a + b, where b has not been assigned to any value, or has been assigned to a sequence rather than a variable and thus cannot take part in this operation. To fix this, try:
|
| 175 |
+
|
| 176 |
+
- Identify what code line the error comes from via the HSL code, and identify what variable is on the right hand side of that line
|
| 177 |
+
- Check to see what the type of that variable is. If not obvious from reading the code, you can use the StrGetType function from HSLStrLib, or CheckValueType from HSLUtilLib2, or go through and try specific ones such as IsBoolean from HSLUtilLib.
|
| 178 |
+
- If the variable is the correct type, check to see that it has been assigned to the right value. An easy way to do this is just to add in a step which traces the variable value immediately before the error.
|
| 179 |
+
- If the variable is the right type and the correct value, check to see what value the line is expecting --> could it be mistakenly expecting a string concatenation instead of a summation.
|
| 180 |
+
|
| 181 |
+
.. _0xa2230009:
|
| 182 |
+
|
| 183 |
+
**0xa2230009: Bad number**
|
| 184 |
+
|
| 185 |
+
This error means that the executor detected an error in a number at the specific line. This often occurs if a number is of the wrong format e.g. int rather than flt. To fix this, try:
|
| 186 |
+
|
| 187 |
+
- Check what number is causing the error to occur by looking at the line given in the error code.
|
| 188 |
+
- Work out what type the line is expecting the number to be --> for example, a loop counter will be expecting an integer rather than a float
|
| 189 |
+
- Check what type the number causing the error is. This can be done using the CheckValueType from HSLUtilLib2, or the IsFloat or IsInteger functions from HSLUtilLib.
|
| 190 |
+
- If unsure, just toggle the number type and see if swapping it from int to flt or vice versa helps.
|
| 191 |
+
|
| 192 |
+
.. _0xa123000a:
|
| 193 |
+
|
| 194 |
+
**0xa123000a: Bad tree**
|
| 195 |
+
|
| 196 |
+
This error means that the executor detected an error in the structure of the syntax tree.
|
| 197 |
+
|
| 198 |
+
.. _0xa123000b:
|
| 199 |
+
|
| 200 |
+
**0xa123000b: Invalid entry**
|
| 201 |
+
|
| 202 |
+
This error means that the executor has detected an invalid symbol table entry. This error usually occurs if there is a non-ASCII character present in the symbol table, and the executor was not the one who inserted the value into the symbol table in the first place. To fix this, try:
|
| 203 |
+
|
| 204 |
+
- Work out which characters in the symbol table are invalid
|
| 205 |
+
- Try to replace those characters with their ASCII equivalents, as well as work out where or why they were added in teh first place
|
| 206 |
+
|
| 207 |
+
.. _0xa122000c:
|
| 208 |
+
|
| 209 |
+
**0xa122000c: Function identifier is protected**
|
| 210 |
+
|
| 211 |
+
This error means that the parser or executor detected a protected function identifier in the symbol table at the specified line. This happens if a device is declared in the local scope, for example. To fix this, try:
|
| 212 |
+
|
| 213 |
+
- Checking to make sure nothing is in the local scope which shouldn't be
|
| 214 |
+
|
| 215 |
+
.. _0xa223000d:
|
| 216 |
+
|
| 217 |
+
**0xa223000d: Underspecified**
|
| 218 |
+
|
| 219 |
+
This error means that the executor detected underspecified formal parameters of a function at the specific line. To fix this, try:
|
| 220 |
+
|
| 221 |
+
- Check what line the error gives as the function going wrong, look at that line in HSL and work out the correct location in Venus code
|
| 222 |
+
- Look at whatever functions are present on that line and check how many input parameters the functions are meant to have vs how many they actually have
|
| 223 |
+
- Make sure all input parameters exist and are not just empty variables or arrays or sequences.
|
| 224 |
+
|
| 225 |
+
.. _0xa2230037:
|
| 226 |
+
|
| 227 |
+
**0xa2230037: Overspecified**
|
| 228 |
+
|
| 229 |
+
This error means that the executor detected overspecified formal parameters ofa function at the specific line. To fix this, try:
|
| 230 |
+
|
| 231 |
+
- Check what line the error gives as the function going wrong, look at that line in HSL and work out the correct location in Venus code
|
| 232 |
+
- Look at whatever functions are present on that line and check how many input parameters the functions are meant to have vs how many they actually have
|
| 233 |
+
- Make sure all input parameters exist and are not just empty variables or arrays or sequences.
|
| 234 |
+
|
| 235 |
+
.. _0xa123000e:
|
| 236 |
+
|
| 237 |
+
**0xa123000e: Setting value failed**
|
| 238 |
+
|
| 239 |
+
This error means that the executor failed to set the value of a symbol table entry at the specified line. To fix this, try:
|
| 240 |
+
|
| 241 |
+
- Check what line the error gives as the function going wrong, look at that line in HSL and work out the correct location in Venus code
|
| 242 |
+
- See what value is trying to be set within the symbol table; make sure it has no special characters, the correct type and attributes
|
| 243 |
+
|
| 244 |
+
.. _0xa123000f:
|
| 245 |
+
|
| 246 |
+
**0xa123000f: Function identifier not found**
|
| 247 |
+
|
| 248 |
+
This error occurs when the executor failed to lookup a function identifier in the symbol table at the specified line. This usually means the function has not been defined properly or has failed to import into the symbol table properly. It can also be the result of a misspelt name at any steps involving it. To fix this, try:
|
| 249 |
+
|
| 250 |
+
- See what the name of the function is that isn't being found
|
| 251 |
+
- Check to see if the function name is spelt correctly
|
| 252 |
+
- Check to see earlier in the method that the function has been defined and imported successfully into the symbol table
|
| 253 |
+
- Check to see if this happens everytime this function is called or just this one step. If it happens every time then it is likely a definition or import issue, if only once then it is likely a naming or exporting issue.
|
| 254 |
+
|
| 255 |
+
.. _0xa1230010:
|
| 256 |
+
|
| 257 |
+
**0xa1230010: Bindings not found**
|
| 258 |
+
|
| 259 |
+
This error occurs when the executor failed to lookup the value bound to a formal parameter in the symbol table at the line specified.
|
| 260 |
+
|
| 261 |
+
.. _0xa1230011:
|
| 262 |
+
|
| 263 |
+
**0xa1230011: Temporary variable not found**
|
| 264 |
+
|
| 265 |
+
This error occurs when the executor failed to delete the identifier of a temporary variable in the symbol table at the line specified.
|
| 266 |
+
|
| 267 |
+
.. _0xa1230012:
|
| 268 |
+
|
| 269 |
+
**0xa1230012: Unknown function type**
|
| 270 |
+
|
| 271 |
+
This error occurs when the executor detects a function which hasn't been defined at the specific line. To fix this, try:
|
| 272 |
+
|
| 273 |
+
- Work out which function hasn't been defined based on the line of code which throws the error
|
| 274 |
+
- Check whether function name is misspelt
|
| 275 |
+
- Check whether function is defined post calling rather than pre calling
|
| 276 |
+
- Check whether function has been defined at all
|
| 277 |
+
|
| 278 |
+
.. _0xa2230013:
|
| 279 |
+
|
| 280 |
+
**0xa2230013: Unable to find file**
|
| 281 |
+
|
| 282 |
+
This error occurs when the executor can't find the file specified. To fix this, try:
|
| 283 |
+
|
| 284 |
+
- Check the line of code to determine what the path of the file is that is nonexistent
|
| 285 |
+
- Determine whether the path was computer specific and the method has been ported across computers e.g. was the file in C:\\Users\\tchapman and should be in C:\\Users\\Hamilton. To avoid this in the first place, save things in the Hamilton folder of the C:\\Program Files x86 instead.
|
| 286 |
+
- Check whether the file has been moved since the path was created
|
| 287 |
+
- Check whether the file name has been misspelt
|
| 288 |
+
- If file name is a variable, check to see it has been defined correctly
|
| 289 |
+
|
| 290 |
+
.. _0xa1230014:
|
| 291 |
+
|
| 292 |
+
**0xa1230014: Type mismatch**
|
| 293 |
+
|
| 294 |
+
This error occurs when the executor detects a mismatch between the types of variable fed into a function compared to the defined parameter that the function is meant to have an as input. To fix this, try:
|
| 295 |
+
|
| 296 |
+
- Check which function is causing the error
|
| 297 |
+
- Check what type of input the function is expecting; will hopefully be in the documentation, if not you can delve into the HSL code for that function and see directly
|
| 298 |
+
- Check what type of variable you are feeding in to the function and confirm it matches the type the function is expecting
|
| 299 |
+
|
| 300 |
+
.. _0xa2230015:
|
| 301 |
+
|
| 302 |
+
**0xa2230015: Bad L-value**
|
| 303 |
+
|
| 304 |
+
This error occurs when the left hand side value for an operation is incorrect for the operation. To fix this, try:
|
| 305 |
+
|
| 306 |
+
- Check what type of variable the operator is expecting
|
| 307 |
+
- Check what type of variable you are feeding into the operator equation
|
| 308 |
+
- This error could be using the wrong operator e.g. & rather than +, or by using the wrong variable type e.g. float rather than int
|
| 309 |
+
|
| 310 |
+
.. _0xa2230016:
|
| 311 |
+
|
| 312 |
+
**0xa2230016: Bad R-value**
|
| 313 |
+
|
| 314 |
+
This error occurs when the right hand side value for an operation is incorrect for the operation. To fix this, try:
|
| 315 |
+
|
| 316 |
+
- Check what type of variable the operator is expecting
|
| 317 |
+
- Check what type of variable you are feeding into the operator equation
|
| 318 |
+
- This error could be using the wrong operator e.g. & rather than +, or by using the wrong variable type e.g. float rather than int
|
| 319 |
+
|
| 320 |
+
.. _0xa2220017:
|
| 321 |
+
|
| 322 |
+
**0xa2220017: Unrecognized type**
|
| 323 |
+
|
| 324 |
+
This error occurs when the executor detects an unrecognized storage type at the specified line.
|
| 325 |
+
|
| 326 |
+
.. _0xa1230018:
|
| 327 |
+
|
| 328 |
+
**0xa1230018: Bad memory type**
|
| 329 |
+
|
| 330 |
+
This error occurs when the executor detects a bad memory type for an array at the specified line.
|
| 331 |
+
|
| 332 |
+
.. _0xa1230019:
|
| 333 |
+
|
| 334 |
+
**0xa1230019: Array reference out of bound**
|
| 335 |
+
|
| 336 |
+
This error occurs when the executor detects an invalid index for an array at a specified line. To fix this, try:
|
| 337 |
+
|
| 338 |
+
- Check the size of the array that is being queried
|
| 339 |
+
- Check which value from the array you are expecting to call and check what index that value has
|
| 340 |
+
- Potentially add a step into the method to find that index on a dynamic basis so that you can change the array earlier in the method without messing up that step
|
| 341 |
+
|
| 342 |
+
.. _0xa123001a:
|
| 343 |
+
|
| 344 |
+
**0xa123001a: Bad array identifier type**
|
| 345 |
+
|
| 346 |
+
This error occurs when the executor detects an unrecognized storage type for an array identifier at the specified line.
|
| 347 |
+
|
| 348 |
+
.. _0xa123001b:
|
| 349 |
+
|
| 350 |
+
**0xa123001b: Tag insert failed**
|
| 351 |
+
|
| 352 |
+
This error occurs when the executor fails to insert an identifier into the tag table of a structure definition at the specified line.
|
| 353 |
+
|
| 354 |
+
.. _0xa123001c:
|
| 355 |
+
|
| 356 |
+
**0xa123001c: Dynamic memory identifier not bound**
|
| 357 |
+
|
| 358 |
+
This error occurs when the executor detected at the specified line an identifier of a dynamic memory object that was not bound to a valid value. This is when a variable or data structures has been allocated at runtime, and has been assigned an incorrect value, such as binding an identifier that is meant to be a variable to a submethod instead. As far as I'm aware, this is only possible to do by editing the HSL code, I don't think the method editor has any functions that allow you to bind identifiers incorrectly, I'm not 100% certain on that though. To fix this, try:
|
| 359 |
+
|
| 360 |
+
- Locate the identifier that is causing the error (should be possible in either the method editor or the hsl method editor)
|
| 361 |
+
- Confirm what kind of object the identifier is meant to be
|
| 362 |
+
- Work out what method editor step corresponds to the incorrect HSL code, which is likely to be a block of HSL code inserted directly into the method editor
|
| 363 |
+
- Correct that code (if you have knowledge of HSL) or replace it with method editor steps that have the same functionality. If you're really attached to the HSL block of code but aren't proficient with HSL, try to make the same function with method editor steps in a separate method, look at the HSL code that generates, and copy that HSL code into the original method as an inserted block of HSL.
|
| 364 |
+
|
| 365 |
+
.. _0xa123001d:
|
| 366 |
+
|
| 367 |
+
**0xa123001d: Tag identifier not bound**
|
| 368 |
+
|
| 369 |
+
This error occurs when the executor detected at the specified line an identifier of a structure tag object that was not bound to a valid value. A structure tag object is a piece of metadata associated with a variable. In this error, a variable is expected to have some sort of tag, but the tag doesn't exist. To fix this, try:
|
| 370 |
+
|
| 371 |
+
- Determine which variable the tag is meant to be associated with based on the specified line
|
| 372 |
+
- From that, work out what kind of tag is meant to be present. This is doable by looking at the HSL code. In the HSL Method Editor Help section, you can go to HSL Reference \> Declaration of Objects \> Declaration of Structure Objects to see what the format of tag declaration is meant to be, and therefore can compare this to the code in the method associated with the object declaration
|
| 373 |
+
- Add the assignment of the tag in the method editor code, confirming via the HSL that the tag has been assigned correctly. You can also assign the tag via an HSL code insert step.
|
| 374 |
+
|
| 375 |
+
.. _0xa123001e:
|
| 376 |
+
|
| 377 |
+
**0xa123001e: Structure reference out of bound**
|
| 378 |
+
|
| 379 |
+
This error occurs when the executor detects a reference to an element of a structure which is outside the allowed range. A few examples of this are integers which are too large or too small, or strings which are too long. To fix this, try:
|
| 380 |
+
|
| 381 |
+
- Determine which reference is out of bounds. This should be doable by looking at the HSL code; the error message in the trace file should show you which line is the one causing the problems.
|
| 382 |
+
- Locate in the HSL code where the bounds of the identifier have been set; this can usually be done by searching the HSL file for "struct" functions, and then seeing what character(s) follow the "}" character.
|
| 383 |
+
- Depending on the requirements of the reference, either adjust the reference bounds assignment to include the target value, or adjust the function which is causing the error to ensure the reference is always within the specified bounds (e.g. splitting or truncating strings, editing loops to only contain correct integers)
|
| 384 |
+
|
| 385 |
+
.. _0xa123001f:
|
| 386 |
+
|
| 387 |
+
**0xa123001f: Bad tag identifier type**
|
| 388 |
+
|
| 389 |
+
This error occurs when the identifier of a structure tag object has been assigned to an incorrect type, such as a being assigned a string rather than an integer. To fix this, try:
|
| 390 |
+
|
| 391 |
+
- Determine what tag is causing the problem by looking at the HSL code associated with the line specified in the trace file
|
| 392 |
+
- Identify what type of data the tag is expecting
|
| 393 |
+
- If the tag is expecting a string rather than an int, locate the assignment and add quotation marks around the assignment
|
| 394 |
+
- If the tag is expecting an int rather than a string, locate the assignment and either use a function to convert the string to an int or remove the quotation marks around the assignment
|
| 395 |
+
- If the tag is expecting an int rather than a float or vice versa, locate the assignment and use a function to convert one to the other.
|
| 396 |
+
- Functions to convert the variable type are present in the HSLExtensions:Core library
|
| 397 |
+
|
| 398 |
+
.. _0xa1230020:
|
| 399 |
+
|
| 400 |
+
**0xa1230020: L-value is not a structure identifier**
|
| 401 |
+
|
| 402 |
+
This error occurs when the executor detects a data reference which is not a structure at the specified line, in the left hand side of the assignment.
|
| 403 |
+
|
| 404 |
+
.. _0xa1230021:
|
| 405 |
+
|
| 406 |
+
**0xa1230021: L-value is not an array identifier**
|
| 407 |
+
|
| 408 |
+
This error occurs when the executor detects a data reference which is not an array at the specified line, in the left hand side of the assignment.
|
| 409 |
+
|
| 410 |
+
.. _0xa1230022:
|
| 411 |
+
|
| 412 |
+
**0xa1230022: Failed to lookup tag identifier in the tag table**
|
| 413 |
+
|
| 414 |
+
This error occurs when the executor detects a tag identifier which is not a member of the tag table. To fix this, try:
|
| 415 |
+
|
| 416 |
+
- Checking whether your tag is correctly spelled
|
| 417 |
+
- Attempt to add your tag to the tag table
|
| 418 |
+
- Change your tag to be one which is present in the tag table already
|
| 419 |
+
|
| 420 |
+
.. _0xa1230023:
|
| 421 |
+
|
| 422 |
+
**0xa1230023: Signal break**
|
| 423 |
+
|
| 424 |
+
This error occurs when the executor detects an invalid break statement at the specified line.
|
| 425 |
+
|
| 426 |
+
.. _0xa1230024:
|
| 427 |
+
|
| 428 |
+
**0xa1230024: Copy out of bound**
|
| 429 |
+
|
| 430 |
+
This error occurs when the executor detects a structure copy which is out of bound.
|
| 431 |
+
|
| 432 |
+
.. _0xa1230025:
|
| 433 |
+
|
| 434 |
+
**0xa1230025: Signal return**
|
| 435 |
+
|
| 436 |
+
This error occurs when the executor detects an invalid return-statement.
|
| 437 |
+
|
| 438 |
+
.. _0xa2230026:
|
| 439 |
+
|
| 440 |
+
**0xa2230026: Array size is not an integer**
|
| 441 |
+
|
| 442 |
+
This error occurs when the executer detects an error in the size of an array at the specified line. This is usually if an array is assigned to a float or string by accident. To fix this, try:
|
| 443 |
+
|
| 444 |
+
- Check where the size of the array was assigned. If it was done via a calculation (especially a division), it is often assigned a float even when the numbers divide exactly.
|
| 445 |
+
- If the assignment of size was done via a variable, check to ensure the variable was written as an integer and not as a string
|
| 446 |
+
- If you can't identify where the mistake is in assignment type, you can try use one of the convert-to-integer functions and see whether that works or whether it throws up a fresh error.
|
| 447 |
+
- Make sure the array size is positive
|
| 448 |
+
- Try assigning the array size dynamically, i.e. when declaring the array make it empty, and then add items to it at the end of the array rather than at specific locations
|
| 449 |
+
|
| 450 |
+
.. _0xa1230027:
|
| 451 |
+
|
| 452 |
+
**0xa1230027: Failed to copy tag table**
|
| 453 |
+
|
| 454 |
+
This error occurs when the executor fails to copy the tag table.
|
| 455 |
+
|
| 456 |
+
.. _0xa1230029:
|
| 457 |
+
|
| 458 |
+
**0xa1230029: Function has not been defined**
|
| 459 |
+
|
| 460 |
+
This error occurs when a function has not been defined in the library it is being called from. To fix this, try:
|
| 461 |
+
|
| 462 |
+
- If you are the author of the target library, open the code in HSL and check whether the function has been defined at all, or if it is only defined in one namespace, or if it has been misspelled, or if it has been incorrectly commented out
|
| 463 |
+
- If you are not the author of the library but are proficient in HSL, you can do as above, but would be worth making a copy of the library and editing that instead
|
| 464 |
+
- Otherwise, remove the function from your method and find an alternative way of doing whatever you were aiming to do
|
| 465 |
+
|
| 466 |
+
.. _0xa123002a:
|
| 467 |
+
|
| 468 |
+
**0xa123002a: Unable to enter nesting level**
|
| 469 |
+
|
| 470 |
+
This error occurs when the executor failed to enter the nesting level at the specified line.
|
| 471 |
+
|
| 472 |
+
.. _0xa123002b:
|
| 473 |
+
|
| 474 |
+
**0xa123002b: Unable to exit nesting level**
|
| 475 |
+
|
| 476 |
+
This error occurs when the executor failed to exit the nesting level at the specified line.
|
| 477 |
+
|
| 478 |
+
.. _0xa122002c:
|
| 479 |
+
|
| 480 |
+
**0xa122002c: No context**
|
| 481 |
+
|
| 482 |
+
This error occurs when the executor fails to create a new symbol table at the specified line.
|
| 483 |
+
|
| 484 |
+
.. _0xa123002d:
|
| 485 |
+
|
| 486 |
+
**0xa123002d: Failed to read file**
|
| 487 |
+
|
| 488 |
+
This error occurs when the executor fails to read a specific file. To fix this, try:
|
| 489 |
+
|
| 490 |
+
- Ensure the file path specified is a correct and valid path
|
| 491 |
+
- Ensure the file you are trying to read exists
|
| 492 |
+
- Check whether the file has the hidden attribute. If so, you can use the File Handling library to remove that property dynamically during the run, or do it manually in file explorer
|
| 493 |
+
- Ensure that the file is in a location that Venus has access to
|
| 494 |
+
|
| 495 |
+
.. _0xa123002e:
|
| 496 |
+
|
| 497 |
+
**0xa123002e: Failed to create timer**
|
| 498 |
+
|
| 499 |
+
This error occurs when the executor or parser fails to create a timer at the specified line
|
| 500 |
+
|
| 501 |
+
.. _0xa123002f:
|
| 502 |
+
|
| 503 |
+
**0xa123002f: Failed to set timer**
|
| 504 |
+
|
| 505 |
+
This error occurs when the executor fails to set a timer at the specified line
|
| 506 |
+
|
| 507 |
+
.. _0xa1230030:
|
| 508 |
+
|
| 509 |
+
**0xa1230030: Failed to wait timer**
|
| 510 |
+
|
| 511 |
+
This error occurs when the executor fails to wait for at timer to be signaled at the specified line
|
| 512 |
+
|
| 513 |
+
.. _0xa1230031:
|
| 514 |
+
|
| 515 |
+
**0xa1230031: Failed to create event**
|
| 516 |
+
|
| 517 |
+
This error occurs when the parser or executor fails to create an event at the specified line
|
| 518 |
+
|
| 519 |
+
.. _0xa1230032:
|
| 520 |
+
|
| 521 |
+
**0xa1230032: Failed to set event**
|
| 522 |
+
|
| 523 |
+
This error occurs when the executor fails to set an event at the specified line
|
| 524 |
+
|
| 525 |
+
.. _0xa1230033:
|
| 526 |
+
|
| 527 |
+
**0xa1230033: Failed to wait event**
|
| 528 |
+
|
| 529 |
+
This error occurs when the executor fails to wait for an event to be signaled
|
| 530 |
+
|
| 531 |
+
.. _0xa1230034:
|
| 532 |
+
|
| 533 |
+
**0xa1230034: Bad argument**
|
| 534 |
+
|
| 535 |
+
This error occurs when the executor detects an error in the function argument at the specified line. An example of this would be having a File:Set Position command with a non-integer value as the input; as positions can only take integer values. To fix this, try:
|
| 536 |
+
|
| 537 |
+
- Determine from the trace file which line and function are causing these errors
|
| 538 |
+
- Determine the type of input the function is expecting (e.g. int, str, var)
|
| 539 |
+
- Determine any bounds the function input has (e.g. max 300uL volume for 300uL tips)
|
| 540 |
+
- Check your input and see which of the above it doesn't meet
|
| 541 |
+
- If your input is the right value but the wrong type, there are various functions that can convert variables from one type to another - for example in HSLMthLib you can convert floats to ints, ints to strings, etc.
|
| 542 |
+
|
| 543 |
+
.. _0xa2230035:
|
| 544 |
+
|
| 545 |
+
**0xa2230035: Syntax error**
|
| 546 |
+
|
| 547 |
+
This error occurs when the parser detects syntax errors in the method
|
| 548 |
+
|
| 549 |
+
.. _0xa2230036:
|
| 550 |
+
|
| 551 |
+
**0xa2230036: Integer divide by zero**
|
| 552 |
+
|
| 553 |
+
This error occurs when the executor detects an integer divide by zero at a specified line. To fix this, try:
|
| 554 |
+
|
| 555 |
+
- Determine which variable or integer is being treated as a zero in the calculation
|
| 556 |
+
- Check that that variable or integer has an assignment step associated with it; without one it will default to zero
|
| 557 |
+
- Check that the variable is correctly spelled; if incorrectly spelled (compared to its assignment) it will default to zero
|
| 558 |
+
|
| 559 |
+
.. _0xa2230038:
|
| 560 |
+
|
| 561 |
+
**0xa2230038: Returning address of local variable or temporary**
|
| 562 |
+
|
| 563 |
+
This error occurs when the executor detects a function returning the address of a local or temporary variable. This causes problems as local variables and temporary variables are destroyed upon function return, so the address returned becomes invalid. To fix this, try:
|
| 564 |
+
|
| 565 |
+
- Converting the variable that is being returned to global or task local
|
| 566 |
+
- Removing the function return value if it isn't essentially
|
| 567 |
+
|
| 568 |
+
.. _0xa2230039:
|
| 569 |
+
|
| 570 |
+
**0xa2230039**
|
| 571 |
+
|
| 572 |
+
This error occurs when a library requires an installer to be run before use and the installer hasn't yet been run. An example of this would be the Dynamic Liquid Classes library. To fix this, try:
|
| 573 |
+
|
| 574 |
+
- Contact me directly as there is a reasonable chance I have the installer and can send it over
|
| 575 |
+
- Contact your Hamilton apps specialist
|
| 576 |
+
- Go into the hsl file for the library, find the author (usually in the final line or at the top commented out) and contact them directly
|
| 577 |
+
|
| 578 |
+
.. _0xa223003a:
|
| 579 |
+
|
| 580 |
+
**0xa223003a: Unable to find file**
|
| 581 |
+
|
| 582 |
+
This error occurs when the executor couldn't find the file at the specified line. To fix this, try:
|
| 583 |
+
|
| 584 |
+
- Checking that the file isn't a hidden file
|
| 585 |
+
- Checking that the file exists
|
| 586 |
+
- Checking that the file is in the location specified in the path
|
| 587 |
+
- Checking that the path is correct with no spelling mistakes and has double backslashes instead of single
|
| 588 |
+
- Check that the file is in a location that Venus has access to
|
| 589 |
+
|
| 590 |
+
.. _0xa223003b:
|
| 591 |
+
|
| 592 |
+
**0xa223003b: File not updatable**
|
| 593 |
+
|
| 594 |
+
This error occurs when the executor is asked to update a non-updatable file. To fix this, try:
|
| 595 |
+
|
| 596 |
+
- Removing the read-only tag of the file, which can either be done manually in file explorer or using the File Handling library
|
| 597 |
+
- Moving the file to a location that Venus has edit access in (such as to documents instead of Program Files section)
|
| 598 |
+
- Giving venus the appropriate permissions to edit files in that area
|
| 599 |
+
- Making sure the file isn't in use by another program or open separately
|
| 600 |
+
|
| 601 |
+
.. _0xa223003c:
|
| 602 |
+
|
| 603 |
+
**0xa223003c: Recursive call**
|
| 604 |
+
|
| 605 |
+
This error occurs when the executor detects a recursive or concurrent funtion call. To fix this, try:
|
| 606 |
+
|
| 607 |
+
- If the function is one from an HSL library, remove the function from your method and find an alternative way of doing whatever you were trying to do, or edit the HSL file to fix it if you are proficient in HSL
|
| 608 |
+
- If the recursion is caused by function parameter input, change the parameters to be not that function. If need be you can create two copies of a function and call one from within the other.
|
| 609 |
+
- If the concurrency is caused by a method fork in which both call the same function, you can either stop the fork or add in a "wait for event" clause to ensure that they trigger sequentially rather than concurrently
|
| 610 |
+
|
| 611 |
+
.. _0xa223003d:
|
| 612 |
+
|
| 613 |
+
**0xa223003d: Failed to wait for thread(s)**
|
| 614 |
+
|
| 615 |
+
This error occurs when the executor fails to wait for one or more threads to be signaled.
|
| 616 |
+
|
| 617 |
+
.. _0xa223003e:
|
| 618 |
+
|
| 619 |
+
**0xa223003e: Time-out interval elapsed**
|
| 620 |
+
|
| 621 |
+
This error occurs when the time-out window for a specific function or error elapses without user response. To fix this, try:
|
| 622 |
+
|
| 623 |
+
- Ensure that the user is present at the STAR or that there is a way of notifying the user when a time-out dialog pops up
|
| 624 |
+
- If the dialog is one caused by a function, increase the time-out period of the dialog, or set it to an infinite timeout (usually by setting the timeout to 0)
|
| 625 |
+
|
| 626 |
+
.. _0xa2220044:
|
| 627 |
+
|
| 628 |
+
**0xa2220044: Automation type not supported**
|
| 629 |
+
|
| 630 |
+
This error occurs when there is a reference to an automation function which has a parameter that is not supported.
|
| 631 |
+
|
| 632 |
+
.. _0xa1230046:
|
| 633 |
+
|
| 634 |
+
**80xa1230046: Bad argument parameter**
|
| 635 |
+
|
| 636 |
+
This error occurs when the executor detects an error in a function argument at the specified line. To fix this, try:
|
| 637 |
+
|
| 638 |
+
- Determine which argument within the function is causing the error
|
| 639 |
+
- Confirm that the argument is the correct type (e.g. a string of 0 vs an int of 0)
|
| 640 |
+
- Check that the argument has not been misspelled if it is a variable
|
| 641 |
+
- Check that the function being called is the correct one
|
| 642 |
+
|
| 643 |
+
.. _0xa123004d:
|
| 644 |
+
|
| 645 |
+
**0xa123004d: Sequence property not found**
|
| 646 |
+
|
| 647 |
+
This error occurs when the sequence property being referenced is not found. To fix this, try:
|
| 648 |
+
|
| 649 |
+
- If the sequence is one which is defined in the layout file, go into the layout file and view or edit the sequence properties there
|
| 650 |
+
- If the sequence is one which is defined during the method, confirm that the step defining the referenced property exists
|
| 651 |
+
- Confirm that the step defining the referenced property is not commented out, is called in advance of the sequence property being referenced, and is not misspelled
|
| 652 |
+
|
| 653 |
+
.. _0xa123004e:
|
| 654 |
+
|
| 655 |
+
**0xa123004e: Int64 not supported**
|
| 656 |
+
|
| 657 |
+
This error occurs when a 64 bit integer is used on certain platforms. To fix this, try:
|
| 658 |
+
|
| 659 |
+
- Moving off a windows 2000 platform
|
| 660 |
+
- Changing the integer to a 32 bit integer
|
| 661 |
+
|
| 662 |
+
.. _0x00000001:
|
| 663 |
+
|
| 664 |
+
**0x00000001: The parameter is incorrect**
|
| 665 |
+
|
| 666 |
+
This error occurs when the parameter input into a function is incorrect. To fix this, try:
|
| 667 |
+
|
| 668 |
+
- Check that the variable type inputted into a function is correct, for example not an integer instead of a string or float.
|
| 669 |
+
- Check that the parameter value is within the acceptable range; either length for string or upper and lower limits for int or float or bool
|
| 670 |
+
|
| 671 |
+
.. _0xa1630001:
|
| 672 |
+
|
| 673 |
+
**0xa1630001: Unexpected error**
|
| 674 |
+
|
| 675 |
+
This error occurs when there is an error in an HSLUtilLib2 step which is not covered by any of the other error messages.
|
| 676 |
+
|
| 677 |
+
.. _0xa1630002:
|
| 678 |
+
|
| 679 |
+
**0xa1630002: Create object failed or Invalid parameter**
|
| 680 |
+
|
| 681 |
+
This error is listed as Create Object Failed in the index of HSLUtilLib2, but described as invalid parameter. I'm assuming that the latter is correct, in which case the error occurs when one or more parameters for an HSLUtilLib2 step is invalid. To fix this, try:
|
| 682 |
+
|
| 683 |
+
- Check what parameters the function called is expecting and compare to the ones you're feeding in
|
| 684 |
+
- Check whether you are feeding in the correct number of parameters
|
| 685 |
+
|
| 686 |
+
.. _0xa1630003:
|
| 687 |
+
|
| 688 |
+
**0xa1630003: Value Check Failed Invalid Type**
|
| 689 |
+
|
| 690 |
+
This error occurs when the executor finds a function parameter or read from file that is not of the expected type. To fix this, try:
|
| 691 |
+
|
| 692 |
+
- Check what type of parameter you're feeding in to the function or file and make sure it is the expected type. The expected type should be findable in the documentation, if not then it should be findable in the raw HSL code.
|
| 693 |
+
- Check that the parameter is actually being fed into the function and that it hasn't been misspelt
|
| 694 |
+
- Check that the file is present in the right location and hasn't been corrupted or moved to the incorrect place
|
| 695 |
+
|
| 696 |
+
.. _0xa1630004:
|
| 697 |
+
|
| 698 |
+
**0xa1630004: Value Check Failed Invalid Range**
|
| 699 |
+
|
| 700 |
+
This error occurs when the executor finds a function parameter or read from file that is not within the expected range. To fix this, try:
|
| 701 |
+
|
| 702 |
+
- Check what the expected range of the function or file read. This should be findable in the documentation, but will be in the raw HSL code if not.
|
| 703 |
+
- Check what the value of the parameter being fed in is.
|
| 704 |
+
- Check whether the range is due to the parameter being mistakenly high or the function range being mistakenly low.
|
| 705 |
+
|
| 706 |
+
.. _0xa1630005:
|
| 707 |
+
|
| 708 |
+
**0xa1630005: Labware Error**
|
| 709 |
+
|
| 710 |
+
This error occurs when the access of labware based on LabwareID and PositionID causes an error. To fix this, try:
|
| 711 |
+
|
| 712 |
+
- Check that the labware or position IDs have been spelt correctly
|
| 713 |
+
- Check that the layout file for the method is the correct one
|
| 714 |
+
- Check that the labware still exists on the system deck and hasn't been deleted
|
| 715 |
+
- Check that the labware file still exists in the system database and hasn't been moved or deleted
|
| 716 |
+
|
| 717 |
+
.. _0xa1630006:
|
| 718 |
+
|
| 719 |
+
**0xa006: Array Index Not A Number**
|
| 720 |
+
|
| 721 |
+
This error occurs when the index of the specified array is not a positive integer. To fix this, try:
|
| 722 |
+
|
| 723 |
+
- Identify what the index of the array is e.g. is it a float, a negative integer, a string
|
| 724 |
+
- If the identifier is a numeric string or a float that ends in .0, use a convert to int function
|
| 725 |
+
- If the array index is something other than that, try to assign it to a positive integer as a key code or unique identifier
|
| 726 |
+
|
| 727 |
+
.. _0xa1630007:
|
| 728 |
+
|
| 729 |
+
**0xa1630007: Array Index Not An Integer**
|
| 730 |
+
|
| 731 |
+
This error occurs when the index of the specified array is a float rather than an integer. To fix this, try:
|
| 732 |
+
|
| 733 |
+
- If the index is at a .0, use a convert to int function
|
| 734 |
+
- If the index is at a non .0, either use a floor or ceiling function, or assign a positive integer as a key code or unique identifier
|
| 735 |
+
|
| 736 |
+
.. _0xa1630008:
|
| 737 |
+
|
| 738 |
+
**0xa1630008: Array Index Must Not Be Negative**
|
| 739 |
+
|
| 740 |
+
This error occurs when the index of the specified array is less than 1. To fix this, try:
|
| 741 |
+
|
| 742 |
+
- If the index is less than 0, perhaps take the absolute value of the index, provided that doesn't clash with another identifier.
|
| 743 |
+
- If the index is between 0 and 1, or the abs value of the index would clash, work out where you want the value to be within the array. If it needs inserting, use an insert function from one of the array libraries. If it doesn't need inserting, get the length of the array and append the value and assign it that as the index.
|
| 744 |
+
|
| 745 |
+
.. _0xa1630009:
|
| 746 |
+
|
| 747 |
+
**0xa1630009: Array Index Must Not Be Greater Than Array Size**
|
| 748 |
+
|
| 749 |
+
This error occurs when the index of the specified array is greater than the size of the array. To fix this, try:
|
| 750 |
+
|
| 751 |
+
- Check what the index of the value in the array that you are intending to call is and assign it to that
|
| 752 |
+
- If the value is not within the array correctly, adjust the size of the array to be one larger and append the value at the end of the array or use an insert function from an array library.
|
VenusLibraryDocumentation-DocsForGPT/docs/source/STAR_Channel_Tools.rst
ADDED
|
@@ -0,0 +1,595 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
STAR_Channel_Tools
|
| 2 |
+
==================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/STAR_Channel_Tools.pkg
|
| 5 |
+
|
| 6 |
+
The STAR_Channel_Tools submethod library adds a variety of functions which are related to the use of the 8 channels. The following functions are added:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`CHAN_ACCESS_Sort1Sequence`
|
| 9 |
+
- :ven:func:`CHAN_ACCESS_Sort1Sequence1Array`
|
| 10 |
+
- :ven:func:`CHAN_ACCESS_Sort1Sequence2Arrays`
|
| 11 |
+
- :ven:func:`CHAN_ACCESS_Sort2Sequences`
|
| 12 |
+
- :ven:func:`CHAN_ACCESS_Sort2Sequences1Array`
|
| 13 |
+
- :ven:func:`CHAN_ACCESS_Sort2Sequences2Arrays`
|
| 14 |
+
- :ven:func:`LIQUID_LEVEL_GetLiquidLevelHeight`
|
| 15 |
+
- :ven:func:`LIQUID_LEVEL_MeasureLiquidMulti`
|
| 16 |
+
- :ven:func:`LIQUID_LEVEL_MeasureLiquidSingle`
|
| 17 |
+
- :ven:func:`LIQUID_LEVEL_ReturnVolumesFromLiquidLevel`
|
| 18 |
+
- :ven:func:`MOVE_ChannelsToSequencePosition`
|
| 19 |
+
- :ven:func:`MOVE_ChannelsToSequencePosition_5mL`
|
| 20 |
+
- :ven:func:`MOVE_CheckPlateWithTwoChannels`
|
| 21 |
+
- :ven:func:`MOVE_InitDispenseDrive`
|
| 22 |
+
- :ven:func:`MOVE_InitDispenseDrive_5mL`
|
| 23 |
+
- :ven:func:`PLATE_STACK_CountPlateStacks`
|
| 24 |
+
- :ven:func:`QUERY_GetChannelPosition`
|
| 25 |
+
- :ven:func:`QUERY_GetChannelPosition_5mL`
|
| 26 |
+
- :ven:func:`QUERY_GetTipPresentState`
|
| 27 |
+
- :ven:func:`QUERY_GetTipPresentState_5mL`
|
| 28 |
+
- :ven:func:`QUERY_GetTipVolume`
|
| 29 |
+
- :ven:func:`QUERY_GetTIpVolume_5mL`
|
| 30 |
+
- :ven:func:`SPLIT_WELLS_AddContainersToWell`
|
| 31 |
+
- :ven:func:`SPLIT_WELLS_RemoveContainers`
|
| 32 |
+
- :ven:func:`TRAVEL_LANES_MoveChannelsToTravelLanes`
|
| 33 |
+
- :ven:func:`TRAVEL_LANES_MoveChannelsToTravelLanes_5mL`
|
| 34 |
+
- :ven:func:`TRAVEL_LANES_MoveChannelsToYPosition`
|
| 35 |
+
- :ven:func:`TRAVEL_LANES_MoveChannelsToYPosition_5mL`
|
| 36 |
+
- :ven:func:`TRAVEL_LANES_MoveChannelsWithTravelLanes`
|
| 37 |
+
- :ven:func:`TRAVEL_LANES_MoveChannelsWithTravelLanes_5mL`
|
| 38 |
+
- :ven:func:`TRAVEL_LANES_SingleSource_ChannelDisplacement`
|
| 39 |
+
- :ven:func:`TRAVEL_LANES_SingleSource_ChannelDisplacement_5mL`
|
| 40 |
+
|
| 41 |
+
.. ven:function:: CHAN_ACCESS_Sort1Sequence(device ML_STAR, sequence io_Sequence_to_Sort, variable i_Channel_Type, boolean i_Sort_by_Labware, boolean i_Sort_by_XY, boolean i_Sort_for_Channel_Raster, variable i_Max_Channel, sequence o_Sorted_Sequence, variable o_Channel_Pattern)
|
| 42 |
+
|
| 43 |
+
This submethod takes an input sequence and sorts it based on the input parameters of labware, position, and raster. Once sorted, the submethod will choose a position that the current channel can access up to the maximum. If the current channel cannot access the position, it will skip it and move to the next available position. If the current cannot access any more positions, that channel will be skipped. Make sure the channel use setting is set to "All Sequence Positions" in the pipettting step, otherwise the sequence and channel pattern will not line up.
|
| 44 |
+
|
| 45 |
+
:params ML_STAR: The ML_STAR itself, which will be the only option in the dropdown.
|
| 46 |
+
:params io_Sequence_to_Sort: The input sequence to be sorted.
|
| 47 |
+
:params i_Channel_Type: The channel type associated with the pipetting step (1mL, 5mL, labware handler). 0 = 1mL, 1 = 5mL, 2 = Labware handler.
|
| 48 |
+
:params i_Sort_by_Labware: A boolean determining whether the sequence is to be sorted by labware in ascending order
|
| 49 |
+
:params i_Sort_by_XY: A boolean determining whether the sequence is to be sorted by position (X ascending, Y descending)
|
| 50 |
+
:params i_Sort_for_Channel_Raster: A boolean determining whether the next position will be at least the raster distance unless no other positions are available
|
| 51 |
+
:params i_Max_Channel: The maximum channel that you want to be used from 1 to 16. 0 turns this option off and the maximum number of channels will be used.
|
| 52 |
+
:params o_Sorted_Sequence: The outputted sorted sequence for the pipetting step
|
| 53 |
+
:params o_Channel_Pattern: The outputted channel pattern for the pipetting step
|
| 54 |
+
:type ML_STAR: Device
|
| 55 |
+
:type io_Sequence_to_Sort: Sequence
|
| 56 |
+
:type i_Channel_Type: Variable
|
| 57 |
+
:type i_Sort_by_Labware: Boolean
|
| 58 |
+
:type i_Sort_by_XY: Boolean
|
| 59 |
+
:type i_Sort_for_Channel_Raster: Boolean
|
| 60 |
+
:type i_Max_Channel: Variable
|
| 61 |
+
:type o_Sorted_Sequence: Sequence
|
| 62 |
+
:type o_Channel_Pattern: Variable
|
| 63 |
+
:return: The number of sequence positions remaining in the sequence
|
| 64 |
+
:rtype: Variable
|
| 65 |
+
|
| 66 |
+
.. ven:function:: CHAN_ACCESS_Sort1Sequence1Array(device ML_STAR, sequence io_Sequence_to_Sort, array io_Array_of_Variables, variable i_Channel_Type, boolean i_Sort_by_Labware, boolean i_Sort_by_XY, boolean i_Sort_for_Channel_Raster, variable i_Max_Channel, sequence o_Sorted_Sequence, array o_Sorted_Array, variable o_Channel_Pattern)
|
| 67 |
+
|
| 68 |
+
This submethod takes in input sequence and sorts it by the conditions given below. After sorting, the submethod will choose a position that the current channel can access up to the maximum. If the current channel cannot access the position, it wil skip it and move to the next available position. If the current channel cannot access any more positions, that channel will be skipped. The array will be sorted with the sequence. The array and the sequence must be the same size. Make sure the channel use setting is set to "All sequence positions" otherwise the sequence and channel pattern will not line up.
|
| 69 |
+
|
| 70 |
+
:params ML_STAR: The ML_STAR itself, which will be the only option in the dropdown.
|
| 71 |
+
:params io_Sequence_to_Sort: The input sequence to be sorted.
|
| 72 |
+
:params io_Array_of_Variables: The array to be sorted with the sequence. Used positions will be removed from the array.
|
| 73 |
+
:params i_Channel_Type: The channel type associated with the pipetting step (1mL, 5mL, labware handler). 0 = 1mL, 1 = 5mL, 2 = Labware handler.
|
| 74 |
+
:params i_Sort_by_Labware: A boolean determining whether the sequence is to be sorted by labware in ascending order
|
| 75 |
+
:params i_Sort_by_XY: A boolean determining whether the sequence is to be sorted by position (X ascending, Y descending)
|
| 76 |
+
:params i_Sort_for_Channel_Raster: A boolean determining whether the next position will be at least the raster distance unless no other positions are available
|
| 77 |
+
:params i_Max_Channel: The maximum channel that you want to be used from 1 to 16. 0 turns this option off and the maximum number of channels will be used.
|
| 78 |
+
:params o_Sorted_Sequence: The outputted sorted sequence for the pipetting step
|
| 79 |
+
:params o_Sorted_Array: The outputted sorted array which matches the sequence
|
| 80 |
+
:params o_Channel_Pattern: The outputted channel pattern for the pipetting step
|
| 81 |
+
:type ML_STAR: Device
|
| 82 |
+
:type io_Sequence_to_Sort: Sequence
|
| 83 |
+
:type io_Array_of_Variables: Array
|
| 84 |
+
:type i_Channel_Type: Variable
|
| 85 |
+
:type i_Sort_by_Labware: Boolean
|
| 86 |
+
:type i_Sort_by_XY: Boolean
|
| 87 |
+
:type i_Sort_for_Channel_Raster: Boolean
|
| 88 |
+
:type i_Max_Channel: Variable
|
| 89 |
+
:type o_Sorted_Sequence: Sequence
|
| 90 |
+
:type o_Sorted_Array: Array
|
| 91 |
+
:type o_Channel_Pattern: Variable
|
| 92 |
+
:return: The number of sequence positions remaining in the sequence
|
| 93 |
+
:rtype: Variable
|
| 94 |
+
|
| 95 |
+
.. ven:function:: CHAN_ACCESS_Sort1Sequence2Arrays(device ML_STAR, sequence io_Sequence_to_Sort, array io_Array_of_Variables, array io_Array_of_Variables2, variable i_Channel_Type, boolean i_Sort_by_Labware, boolean i_Sort_by_XY, boolean i_Sort_for_Channel_Raster, variable i_Max_Channel, sequence o_Sorted_Sequence, array o_Sorted_Array, array o_Sorted_Array2, variable o_Channel_Pattern)
|
| 96 |
+
|
| 97 |
+
This submethod takes in input sequence and sorts it by the conditions given below. After sorting, the submethod will choose a position that the current channel can access up to the maximum. If the current channel cannot access the position, it wil skip it and move to the next available position. If the current channel cannot access any more positions, that channel will be skipped. The arrays will be sorted with the sequence. The arrays and the sequence must be the same size. Make sure the channel use setting is set to "All sequence positions" otherwise the sequence and channel pattern will not line up.
|
| 98 |
+
|
| 99 |
+
:params ML_STAR: The ML_STAR itself, which will be the only option in the dropdown.
|
| 100 |
+
:params io_Sequence_to_Sort: The input sequence to be sorted.
|
| 101 |
+
:params io_Array_of_Variables: The first array to be sorted with the sequence. Used positions will be removed from the array.
|
| 102 |
+
:params io_Array_of_Variables2: The second array to be sorted with the sequence. Used positions will be removed from the array.
|
| 103 |
+
:params i_Channel_Type: The channel type associated with the pipetting step (1mL, 5mL, labware handler). 0 = 1mL, 1 = 5mL, 2 = Labware handler.
|
| 104 |
+
:params i_Sort_by_Labware: A boolean determining whether the sequence is to be sorted by labware in ascending order
|
| 105 |
+
:params i_Sort_by_XY: A boolean determining whether the sequence is to be sorted by position (X ascending, Y descending)
|
| 106 |
+
:params i_Sort_for_Channel_Raster: A boolean determining whether the next position will be at least the raster distance unless no other positions are available
|
| 107 |
+
:params i_Max_Channel: The maximum channel that you want to be used from 1 to 16. 0 turns this option off and the maximum number of channels will be used.
|
| 108 |
+
:params o_Sorted_Sequence: The outputted sorted sequence for the pipetting step
|
| 109 |
+
:params o_Sorted_Array: The outputted sorted first array which matches the sequence
|
| 110 |
+
:params o_Sorted_Array2: The outputted sorted second array which matches the sequence
|
| 111 |
+
:params o_Channel_Pattern: The outputted channel pattern for the pipetting step
|
| 112 |
+
:type ML_STAR: Device
|
| 113 |
+
:type io_Sequence_to_Sort: Sequence
|
| 114 |
+
:type io_Array_of_Variables: Array
|
| 115 |
+
:type io_Array_of_Variables2: Array
|
| 116 |
+
:type i_Channel_Type: Variable
|
| 117 |
+
:type i_Sort_by_Labware: Boolean
|
| 118 |
+
:type i_Sort_by_XY: Boolean
|
| 119 |
+
:type i_Sort_for_Channel_Raster: Boolean
|
| 120 |
+
:type i_Max_Channel: Variable
|
| 121 |
+
:type o_Sorted_Sequence: Sequence
|
| 122 |
+
:type o_Sorted_Array: Array
|
| 123 |
+
:type o_Sorted_Array2: Array
|
| 124 |
+
:type o_Channel_Pattern: Variable
|
| 125 |
+
:return: The number of sequence positions remaining in the sequence
|
| 126 |
+
:rtype: Variable
|
| 127 |
+
|
| 128 |
+
.. ven:function:: CHAN_ACCESS_Sort2Sequences(device ML_STAR, sequence io_Sequence_to_Sort, sequence io_Sequence_to_Sort2, variable i_Channel_Type, boolean i_Sort_by_Labware, boolean i_Sort_by_XY, boolean i_Sort_for_Channel_Raster, variable i_Max_Channel, sequence o_Sorted_Sequence, sequence o_Sorted_Sequence2, variable o_Channel_Pattern)
|
| 129 |
+
|
| 130 |
+
This sub method takes the in input sequences and sorts them by the conditions given below. After sorting, the sub will choose a position that the current channel can access in both sequence positions up to the maximum. If the current channel cannot access the positions, it wil skip it and move to the next available position. If the current channel cannot access any more positions, that channel will be skipped. Make sure the channel use setting is set to "All sequence positions" otherwise the sequence and channel pattern will not line up. The first sequence is the driving sequence and the second sequence will be adjusted by the first sort.
|
| 131 |
+
|
| 132 |
+
:params ML_STAR: The ML_STAR itself, which will be the only option in the dropdown.
|
| 133 |
+
:params io_Sequence_to_Sort: The first input sequence to be sorted.
|
| 134 |
+
:params io_Sequence_to_Sort2: The second input sequence to be sorted.
|
| 135 |
+
:params i_Channel_Type: The channel type associated with the pipetting step (1mL, 5mL, labware handler). 0 = 1mL, 1 = 5mL, 2 = Labware handler.
|
| 136 |
+
:params i_Sort_by_Labware: A boolean determining whether the sequence is to be sorted by labware in ascending order
|
| 137 |
+
:params i_Sort_by_XY: A boolean determining whether the sequence is to be sorted by position (X ascending, Y descending)
|
| 138 |
+
:params i_Sort_for_Channel_Raster: A boolean determining whether the next position will be at least the raster distance unless no other positions are available
|
| 139 |
+
:params i_Max_Channel: The maximum channel that you want to be used from 1 to 16. 0 turns this option off and the maximum number of channels will be used.
|
| 140 |
+
:params o_Sorted_Sequence: The outputted second sorted sequence for the pipetting step
|
| 141 |
+
:params o_Sorted_Sequence2: The outputted second sorted sequence for the pipetting step
|
| 142 |
+
:params o_Channel_Pattern: The outputted channel pattern for the pipetting step
|
| 143 |
+
:type ML_STAR: Device
|
| 144 |
+
:type io_Sequence_to_Sort: Sequence
|
| 145 |
+
:type io_Sequence_to_Sort2: Sequence
|
| 146 |
+
:type i_Channel_Type: Variable
|
| 147 |
+
:type i_Sort_by_Labware: Boolean
|
| 148 |
+
:type i_Sort_by_XY: Boolean
|
| 149 |
+
:type i_Sort_for_Channel_Raster: Boolean
|
| 150 |
+
:type i_Max_Channel: Variable
|
| 151 |
+
:type o_Sorted_Sequence: Sequence
|
| 152 |
+
:type o_Sorted_Sequence2: Sequence
|
| 153 |
+
:type o_Channel_Pattern: Variable
|
| 154 |
+
:return: The number of sequence positions remaining in the sequence
|
| 155 |
+
:rtype: Variable
|
| 156 |
+
|
| 157 |
+
.. ven:function:: CHAN_ACCESS_Sort2Sequences1Array(device ML_STAR, sequence io_Sequence_to_Sort, sequence io_Sequence_to_Sort2, array io_Array_of_Variables, variable i_Channel_Type, boolean i_Sort_by_Labware, boolean i_Sort_by_XY, boolean i_Sort_for_Channel_Raster, variable i_Max_Channel, sequence o_Sorted_Sequence, sequence o_Sorted_Sequence2, array o_Sorted_Array, variable o_Channel_Pattern)
|
| 158 |
+
|
| 159 |
+
This sub method takes the in input sequences and sorts them by the conditions given below. After sorting, the sub will choose a position that the current channel can access in both sequence positions up to the maximum. If the current channel cannot access the positions, it wil skip it and move to the next available position. If the current channel cannot access any more positions, that channel will be skipped. Make sure the channel use setting is set to "All sequence positions" otherwise the sequence and channel pattern will not line up. The first sequence is the driving sequence and the second sequence will be adjusted by the first sort.
|
| 160 |
+
|
| 161 |
+
:params ML_STAR: The ML_STAR itself, which will be the only option in the dropdown.
|
| 162 |
+
:params io_Sequence_to_Sort: The first input sequence to be sorted.
|
| 163 |
+
:params io_Sequence_to_Sort2: The second input sequence to be sorted.
|
| 164 |
+
:params i_Channel_Type: The channel type associated with the pipetting step (1mL, 5mL, labware handler). 0 = 1mL, 1 = 5mL, 2 = Labware handler.
|
| 165 |
+
:params i_Sort_by_Labware: A boolean determining whether the sequence is to be sorted by labware in ascending order
|
| 166 |
+
:params i_Sort_by_XY: A boolean determining whether the sequence is to be sorted by position (X ascending, Y descending)
|
| 167 |
+
:params i_Sort_for_Channel_Raster: A boolean determining whether the next position will be at least the raster distance unless no other positions are available
|
| 168 |
+
:params i_Max_Channel: The maximum channel that you want to be used from 1 to 16. 0 turns this option off and the maximum number of channels will be used.
|
| 169 |
+
:params o_Sorted_Sequence: The outputted second sorted sequence for the pipetting step
|
| 170 |
+
:params o_Sorted_Sequence2: The outputted second sorted sequence for the pipetting step
|
| 171 |
+
:params o_Sorted_Array: The sorted array. The array will be the size of the maximum channel.
|
| 172 |
+
:params o_Channel_Pattern: The outputted channel pattern for the pipetting step
|
| 173 |
+
:type ML_STAR: Device
|
| 174 |
+
:type io_Sequence_to_Sort: Sequence
|
| 175 |
+
:type io_Sequence_to_Sort2: Sequence
|
| 176 |
+
:type i_Channel_Type: Variable
|
| 177 |
+
:type i_Sort_by_Labware: Boolean
|
| 178 |
+
:type i_Sort_by_XY: Boolean
|
| 179 |
+
:type i_Sort_for_Channel_Raster: Boolean
|
| 180 |
+
:type i_Max_Channel: Variable
|
| 181 |
+
:type o_Sorted_Sequence: Sequence
|
| 182 |
+
:type o_Sorted_Sequence2: Sequence
|
| 183 |
+
:type o_Sorted_Array: Array
|
| 184 |
+
:type o_Channel_Pattern: Variable
|
| 185 |
+
:return: The number of sequence positions remaining in the sequence
|
| 186 |
+
:rtype: Variable
|
| 187 |
+
|
| 188 |
+
.. ven:function:: CHAN_ACCESS_Sort2Sequences2Arrays(device ML_STAR, sequence io_Sequence_to_Sort, sequence io_Sequence_to_Sort2, array io_Array_of_Variables, array io_Array_of_Variables2, variable i_Channel_Type, boolean i_Sort_by_Labware, boolean i_Sort_by_XY, boolean i_Sort_for_Channel_Raster, variable i_Max_Channel, sequence o_Sorted_Sequence, sequence o_Sorted_Sequence2, array o_Sorted_Array, array o_Sorted_Array2, variable o_Channel_Pattern)
|
| 189 |
+
|
| 190 |
+
This sub method takes the in input sequences and sorts them by the conditions given below. After sorting, the sub will choose a position that the current channel can access in both sequence positions up to the maximum. If the current channel cannot access the positions, it wil skip it and move to the next available position. If the current channel cannot access any more positions, that channel will be skipped. Make sure the channel use setting is set to "All sequence positions" otherwise the sequence and channel pattern will not line up. The first sequence is the driving sequence and the second sequence will be adjusted by the first sort.
|
| 191 |
+
|
| 192 |
+
:params ML_STAR: The ML_STAR itself, which will be the only option in the dropdown.
|
| 193 |
+
:params io_Sequence_to_Sort: The first input sequence to be sorted. This positions removed will be removed from this sequence.
|
| 194 |
+
:params io_Sequence_to_Sort2: The second input sequence to be sorted. The positions used will be removed from this sequence.
|
| 195 |
+
:params io_Array_of_Variables: The input array of variables which will be sorted with the first sequence. The positions used will be removed from the array.
|
| 196 |
+
:params io_Array_of_Variables2: The input array of variables which will be sorted with the second sequence. The positions used will be removed from the array.
|
| 197 |
+
:params i_Channel_Type: The channel type associated with the pipetting step (1mL, 5mL, labware handler). 0 = 1mL, 1 = 5mL, 2 = Labware handler.
|
| 198 |
+
:params i_Sort_by_Labware: A boolean determining whether the sequence is to be sorted by labware in ascending order
|
| 199 |
+
:params i_Sort_by_XY: A boolean determining whether the sequence is to be sorted by position (X ascending, Y descending)
|
| 200 |
+
:params i_Sort_for_Channel_Raster: A boolean determining whether the next position will be at least the raster distance unless no other positions are available
|
| 201 |
+
:params i_Max_Channel: The maximum channel that you want to be used from 1 to 16. 0 turns this option off and the maximum number of channels will be used.
|
| 202 |
+
:params o_Sorted_Sequence: The outputted second sorted sequence for the pipetting step
|
| 203 |
+
:params o_Sorted_Sequence2: The outputted second sorted sequence for the pipetting step
|
| 204 |
+
:params o_Sorted_Array: The sorted array. The array will be the size of the maximum channel.
|
| 205 |
+
:params o_Sorted_Array2: The second sorted array. The array will be the size of the maximum channel.
|
| 206 |
+
:params o_Channel_Pattern: The outputted channel pattern for the pipetting step
|
| 207 |
+
:type ML_STAR: Device
|
| 208 |
+
:type io_Sequence_to_Sort: Sequence
|
| 209 |
+
:type io_Sequence_to_Sort2: Sequence
|
| 210 |
+
:type i_Channel_Type: Variable
|
| 211 |
+
:type i_Sort_by_Labware: Boolean
|
| 212 |
+
:type i_Sort_by_XY: Boolean
|
| 213 |
+
:type i_Sort_for_Channel_Raster: Boolean
|
| 214 |
+
:type i_Max_Channel: Variable
|
| 215 |
+
:type o_Sorted_Sequence: Sequence
|
| 216 |
+
:type o_Sorted_Sequence2: Sequence
|
| 217 |
+
:type o_Sorted_Array: Array
|
| 218 |
+
:type o_Sorted_Array2: Array
|
| 219 |
+
:type o_Channel_Pattern: Variable
|
| 220 |
+
:return: The number of sequence positions remaining in the sequence
|
| 221 |
+
:rtype: Variable
|
| 222 |
+
|
| 223 |
+
.. ven:function:: LIQUID_LEVEL_GetLiquidLevelHeight(device ML_STAR, variable i_str_LiquidLevelReturn, sequence i_seq_Labware, variable i_int_Channel, variable o_flt_LiquidHeight)
|
| 224 |
+
|
| 225 |
+
This function will return the liquid level height relative to the container bottem.
|
| 226 |
+
|
| 227 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown.
|
| 228 |
+
:params i_str_LiquidLevelReturn: The return value of the liquid level detect from the pipetting step.
|
| 229 |
+
:params i_seq_Labware: The input sequence from which the height is to be determined
|
| 230 |
+
:params i_int_Channel: The channel which will be used to determine the liquid level height
|
| 231 |
+
:params o_flt_LiquidHeight: The detected liquid level height
|
| 232 |
+
:type ML_STAR: Device
|
| 233 |
+
:type i_str_LiquidLevelReturn: Variable
|
| 234 |
+
:type i_seq_Labware: Sequence
|
| 235 |
+
:type i_int_Channel: Integer
|
| 236 |
+
:type o_flt_LiquidHeight: Float
|
| 237 |
+
:return: None
|
| 238 |
+
:rtype: N/A
|
| 239 |
+
|
| 240 |
+
.. ven:function:: LIQUID_LEVEL_MeasureLiquidMulti(device ML_STAR, array i_arrseq_FullReservoirSequences, sequence i_seq_TipsToUse, sequence i_seq_TipWaste, variable i_str_TipCounter, variable i_int_LLD_Sensitivity, variable i_bool_ConvertTouL, array o_arr_VolumesMeasured)
|
| 241 |
+
|
| 242 |
+
This function will pick up the desired tips and will measure the liquid level at the center most well of the desired reservoirs and will return the volumes in uL. Ensure the sequence used for the reservoir contains the FULL number of positions of the reservoir, otherwise volume estimation will be incomplete! The tip types supported are: 50uL Filter, 50uL, 300uL Filter, 300uL, 1000uL Filter, and 1000uL.
|
| 243 |
+
|
| 244 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown.
|
| 245 |
+
:params i_arrseq_FullReservoirSequences: The array of full reservoir sequences to be checked.
|
| 246 |
+
:params i_seq_TipsToUse: The sequence of the tips to be used to measure the liquid level.
|
| 247 |
+
:params i_seq_TipWaste: The sequence of the waste used to eject the tips.
|
| 248 |
+
:params i_str_TipCounter: The tip counter to be used for the tips on pickup. Place "" if no tip counter will be used.
|
| 249 |
+
:params i_int_LLD_Sensitivity: Integer representing the liquid level sensitivity to be used. 1 is very high, 4 is low, 5 is from labware definition.
|
| 250 |
+
:params i_bool_ConvertTouL: Boolean determining whether it converts to uL (hslTrue) or stays as mL (hslFalse).
|
| 251 |
+
:params o_arr_VolumesMeasured: The array of volumes that were measured.
|
| 252 |
+
:type ML_STAR: Device
|
| 253 |
+
:type i_arrseq_FullReservoirSequences: Array
|
| 254 |
+
:type i_seq_TipsToUse: Sequence
|
| 255 |
+
:type i_seq_TipWaste: Sequence
|
| 256 |
+
:type i_str_TipCounter: Variable
|
| 257 |
+
:type i_int_LLD_Sensitivity: Variable
|
| 258 |
+
:type i_bool_ConvertTouL: Boolean
|
| 259 |
+
:type o_arr_VolumesMeasured: Array
|
| 260 |
+
:return: Whether the measurement has been successful or not
|
| 261 |
+
:rtype: Boolean
|
| 262 |
+
|
| 263 |
+
.. ven:function:: LIQUID_LEVEL_MeasureLiquidSingle(device ML_STAR, sequence i_seq_FullReservoirSequence, sequence i_seq_TipsToUse, sequence i_seq_TipWaste, variable i_str_TipCounter, variable i_bool_IncrementTipSequence, variable i_int_LLD_Sensitivity, variable i_bool_ConvertTouL, variable o_flt_VolumeMeasured)
|
| 264 |
+
|
| 265 |
+
This function will pick up the desired tip and will measure the liquid level at the center most well of the desired reservoir and will return the volume in uL. Ensure the sequence used for the reservoir contains the FULL number of positions of the reservoir, otherwise volume estimation will be incomplete! The tip types supported are: 50uL Filter, 50uL, 300uL Filter, 300uL, 1000uL Filter, and 1000uL.
|
| 266 |
+
|
| 267 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown.
|
| 268 |
+
:params i_seq_FullReservoirSequences: The full reservoir sequence to be checked.
|
| 269 |
+
:params i_seq_TipsToUse: The sequence of the tips to be used to measure the liquid level.
|
| 270 |
+
:params i_seq_TipWaste: The sequence of the waste used to eject the tips.
|
| 271 |
+
:params i_str_TipCounter: The tip counter to be used for the tips on pickup. Place "" if no tip counter will be used.
|
| 272 |
+
:params i_bool_IncrementTipSequence: Boolean determining whether the tip sequence should be incremented after pickup or not.
|
| 273 |
+
:params i_int_LLD_Sensitivity: Integer representing the liquid level sensitivity to be used. 1 is very high, 4 is low, 5 is from labware definition.
|
| 274 |
+
:params i_bool_ConvertTouL: Boolean determining whether it converts to uL (hslTrue) or stays as mL (hslFalse).
|
| 275 |
+
:params o_flt_VolumeMeasured: A float of the volume that was measured.
|
| 276 |
+
:type ML_STAR: Device
|
| 277 |
+
:type i_seq_FullReservoirSequences: Sequence
|
| 278 |
+
:type i_seq_TipsToUse: Sequence
|
| 279 |
+
:type i_seq_TipWaste: Sequence
|
| 280 |
+
:type i_str_TipCounter: Variable
|
| 281 |
+
:type i_bool_IncrementTipSequence: Boolean
|
| 282 |
+
:type i_int_LLD_Sensitivity: Variable
|
| 283 |
+
:type i_bool_ConvertTouL: Boolean
|
| 284 |
+
:type o_flt_VolumeMeasured: Float
|
| 285 |
+
:return: Whether the measurement has been successful or not
|
| 286 |
+
:rtype: Boolean
|
| 287 |
+
|
| 288 |
+
.. ven:function:: LIQUID_LEVEL_ReturnVolumesFromLiquidLevel(device ML_STAR, variable i_str_PipettingReturn, variable i_str_LiquidLevelReturn, variable i_bool_ConvertTouL, array o_arr_VolumesMeasured)
|
| 289 |
+
|
| 290 |
+
This function will return the volumes that were measured from a previous aspiration step.
|
| 291 |
+
|
| 292 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 293 |
+
:params i_str_PipettingReturn: The return value of the pipetting step to measure liquid level
|
| 294 |
+
:params i_str_LiquidLevelReturn: The return value of the liquid level detect
|
| 295 |
+
:params i_bool_ConvertTouL: Boolean determining whether it converts to uL (hslTrue) or stays as mL (hslFalse)
|
| 296 |
+
:params o_arr_VolumesMeasured: An array of the volumes which were measured for each channel
|
| 297 |
+
:type ML_STAR: Device
|
| 298 |
+
:type i_str_PipettingReturn: Variable
|
| 299 |
+
:type i_str_LiquidLevelReturn: Variable
|
| 300 |
+
:type i_bool_ConvertTouL: Boolean
|
| 301 |
+
:type o_arr_VolumesMeasured: Array
|
| 302 |
+
:return: None
|
| 303 |
+
:rtype: N/A
|
| 304 |
+
|
| 305 |
+
.. ven:function:: MOVE_ChannelsToSequencePosition(device ML_STAR, variable i_str_ChPattern, sequence i_seq_Positions, variable i_flt_ZHeight)
|
| 306 |
+
|
| 307 |
+
This function moves the 1mL channels to set positions. This function will only move the channels that are activated by the channel pattern. The positions in the sequence will skip over the positions where the channel is turned off.
|
| 308 |
+
|
| 309 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 310 |
+
:params i_str_ChPattern: The channel pattern of the pipettes to move
|
| 311 |
+
:params i_seq_Positions: The X Y positions to move the channels to
|
| 312 |
+
:params i_flt_ZHeight: The Z positions to end the channels in
|
| 313 |
+
:type ML_STAR: Device
|
| 314 |
+
:type i_str_ChPattern: Variable
|
| 315 |
+
:type i_seq_Positions: Sequence
|
| 316 |
+
:type i_flt_ZHeight: Variable
|
| 317 |
+
:return: None
|
| 318 |
+
:rtype: N/A
|
| 319 |
+
|
| 320 |
+
.. ven:function:: MOVE_ChannelsToSequencePosition_5mL(device ML_STAR, variable i_str_ChPattern, sequence i_seq_Positions, variable i_flt_ZHeight)
|
| 321 |
+
|
| 322 |
+
This function moves the 5mL channels to set positions. This function will only move the channels that are activated by the channel pattern. The positions in the sequence will skip over the positions where the channel is turned off.
|
| 323 |
+
|
| 324 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 325 |
+
:params i_str_ChPattern: The channel pattern of the pipettes to move
|
| 326 |
+
:params i_seq_Positions: The X Y positions to move the channels to
|
| 327 |
+
:params i_flt_ZHeight: The Z positions to end the channels in
|
| 328 |
+
:type ML_STAR: Device
|
| 329 |
+
:type i_str_ChPattern: Variable
|
| 330 |
+
:type i_seq_Positions: Sequence
|
| 331 |
+
:type i_flt_ZHeight: Variable
|
| 332 |
+
:return: None
|
| 333 |
+
:rtype: N/A
|
| 334 |
+
|
| 335 |
+
.. ven:function:: MOVE_CheckPlateWithTwoChannels(device ML_STAR, variable i_int_FrontMostChannel, sequence i_seq_PlateToCheck, variable i_flt_TapWidth)
|
| 336 |
+
|
| 337 |
+
This function will take the front most channel and the channel behind it to tap the labware at the sequence position. This function requires both channels to either have a tip or tool loaded on them before calling.
|
| 338 |
+
|
| 339 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 340 |
+
:params i_int_FrontMostChannel: The front-most channel being used to check plates
|
| 341 |
+
:params i_seq_PlateToCheck: The sequence position to perform a tap to check for plate existence
|
| 342 |
+
:params i_flt_TapWidth: The distance in mm for the channels to be separated before tapping
|
| 343 |
+
:type ML_STAR: Device
|
| 344 |
+
:type i_int_FrontMostChannel: Variable
|
| 345 |
+
:type i_seq_PlateToCheck: Sequence
|
| 346 |
+
:type i_flt_TapWidth: Variable
|
| 347 |
+
:return: Boolean determining whether plate was found (hslTrue) or not (hslFalse)
|
| 348 |
+
:rtype: Boolean
|
| 349 |
+
|
| 350 |
+
.. ven:function:: MOVE_InitDispenseDrive(device ML_STAR, variable i_int_ChannelNumber)
|
| 351 |
+
|
| 352 |
+
This function moves the dispense drive for the specified 1mL channel to its home position
|
| 353 |
+
|
| 354 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 355 |
+
:params i_int_ChannelNumber: The channel to initialise the dispense drive
|
| 356 |
+
:type ML_STAR: Device
|
| 357 |
+
:type i_int_ChannelNumber: Variable
|
| 358 |
+
:return: None
|
| 359 |
+
:rtype: N/A
|
| 360 |
+
|
| 361 |
+
.. ven:function:: MOVE_InitDispenseDrive_5mL(device ML_STAR, variable i_int_ChannelNumber)
|
| 362 |
+
|
| 363 |
+
This function moves the dispense drive for the specified 5mL channel to its home position
|
| 364 |
+
|
| 365 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 366 |
+
:params i_int_ChannelNumber: The channel to initialise the dispense drive
|
| 367 |
+
:type ML_STAR: Device
|
| 368 |
+
:type i_int_ChannelNumber: Variable
|
| 369 |
+
:return: None
|
| 370 |
+
:rtype: N/A
|
| 371 |
+
|
| 372 |
+
.. ven:function:: PLATE_STACK_CountPlateStacks(device ML_STAR, sequence i_seq_PlateStack_Full, sequence o_seq_PlateStack_Count, variable o_int_PlateCount)
|
| 373 |
+
|
| 374 |
+
This function will use the channels to measure the number of plates in a plate stack
|
| 375 |
+
|
| 376 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 377 |
+
:params i_seq_PlateStack_Full: The full sequence of the plate stack to measure
|
| 378 |
+
:params o_seq_PlateStack_Count: The sequence of the plate stack measured
|
| 379 |
+
:params o_int_PlateCount: The total number of plates measured in the plate stack
|
| 380 |
+
:type ML_STAR: Device
|
| 381 |
+
:type i_seq_PlateStack_Full: Sequence
|
| 382 |
+
:type o_seq_PlateStack_Count: Sequence
|
| 383 |
+
:type o_int_PlateCount: Variable
|
| 384 |
+
:return: None
|
| 385 |
+
:rtype: N/A
|
| 386 |
+
|
| 387 |
+
.. ven:function:: QUERY_GetChannelPosition(device ML_STAR, variable i_int_ChNumber, variable o_flt_XCoord, variable o_flt_YCoord, variable o_flt_ZCoord)
|
| 388 |
+
|
| 389 |
+
This function will return the current coordinate of the specified 1mL channel
|
| 390 |
+
|
| 391 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 392 |
+
:params i_int_ChNumber: The number of the channel whose position is being checked
|
| 393 |
+
:params o_flt_XCoord: The X coordinate of the channel
|
| 394 |
+
:params o_flt_YCoord: The Y coordinate of the channel
|
| 395 |
+
:params o_flt_ZCoord: The Z coordinate of the channel
|
| 396 |
+
:type ML_STAR: Device
|
| 397 |
+
:type i_int_ChNumber: Variable
|
| 398 |
+
:type o_flt_XCoord: Variable
|
| 399 |
+
:type o_flt_YCoord: Variable
|
| 400 |
+
:type o_flt_ZCoord: Variable
|
| 401 |
+
:return: None
|
| 402 |
+
:rtype: N/A
|
| 403 |
+
|
| 404 |
+
.. ven:function:: QUERY_GetChannelPosition_5mL(device ML_STAR, variable i_int_ChNumber, variable o_flt_XCoord, variable o_flt_YCoord, variable o_flt_ZCoord)
|
| 405 |
+
|
| 406 |
+
This function will return the current coordinate of the specified 5mL channel
|
| 407 |
+
|
| 408 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 409 |
+
:params i_int_ChNumber: The number of the channel whose position is being checked
|
| 410 |
+
:params o_flt_XCoord: The X coordinate of the channel
|
| 411 |
+
:params o_flt_YCoord: The Y coordinate of the channel
|
| 412 |
+
:params o_flt_ZCoord: The Z coordinate of the channel
|
| 413 |
+
:type ML_STAR: Device
|
| 414 |
+
:type i_int_ChNumber: Variable
|
| 415 |
+
:type o_flt_XCoord: Variable
|
| 416 |
+
:type o_flt_YCoord: Variable
|
| 417 |
+
:type o_flt_ZCoord: Variable
|
| 418 |
+
:return: None
|
| 419 |
+
:rtype: N/A
|
| 420 |
+
|
| 421 |
+
.. ven:function:: QUERY_GetTipPresentState(device ML_STAR, variable i_int_ChNumber, variable o_bln_TipPresent)
|
| 422 |
+
|
| 423 |
+
This function outputs true if a tip is loaded and false if a tip is not loaded on the specified 1mL channel
|
| 424 |
+
|
| 425 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 426 |
+
:params i_int_ChNumber: The number of the channel which is being checked
|
| 427 |
+
:params o_bln_TipPresent: A boolean output of whether the tip is present (hslTrue) or not (hslFalse)
|
| 428 |
+
:type ML_STAR: Device
|
| 429 |
+
:type i_int_ChNumber: Variable
|
| 430 |
+
:type o_bln_TipPresent: Variable
|
| 431 |
+
:return: None
|
| 432 |
+
:rtype: N/A
|
| 433 |
+
|
| 434 |
+
.. ven:function:: QUERY_GetTipPresentState_5mL(device ML_STAR, variable i_int_ChNumber, variable o_bln_TipPresent)
|
| 435 |
+
|
| 436 |
+
This function outputs true if a tip is loaded and false if a tip is not loaded on the specified 5mL channel
|
| 437 |
+
|
| 438 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 439 |
+
:params i_int_ChNumber: The number of the channel which is being checked
|
| 440 |
+
:params o_bln_TipPresent: A boolean output of whether the tip is present (hslTrue) or not (hslFalse)
|
| 441 |
+
:type ML_STAR: Device
|
| 442 |
+
:type i_int_ChNumber: Variable
|
| 443 |
+
:type o_bln_TipPresent: Variable
|
| 444 |
+
:return: None
|
| 445 |
+
:rtype: N/A
|
| 446 |
+
|
| 447 |
+
.. ven:function:: QUERY_GetTipVolume(device ML_STAR, variable i_int_ChNumber, variable o_flt_MaxVolume, variable o_flt_CurrentChannelVolume)
|
| 448 |
+
|
| 449 |
+
This function queries the specified 1mL channel to get the max and the current channel volume. This volume includes the air gap and the conversion made by the correction curve.
|
| 450 |
+
|
| 451 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 452 |
+
:params i_int_ChNumber: The number of the channel which is being checked
|
| 453 |
+
:params o_flt_MaxVolume: The maximum volume of the channel
|
| 454 |
+
:params o_flt_CurrentChannelVolume: The current volume in the channel
|
| 455 |
+
:type ML_STAR: Device
|
| 456 |
+
:type i_int_ChNumber: Variable
|
| 457 |
+
:type o_flt_MaxVolume: Variable
|
| 458 |
+
:type o_flt_CurrentChannelVolume: Variable
|
| 459 |
+
:return: None
|
| 460 |
+
:rtype: N/A
|
| 461 |
+
|
| 462 |
+
.. ven:function:: QUERY_GetTipVolume(device ML_STAR, variable i_int_ChNumber, variable o_flt_MaxVolume, variable o_flt_CurrentChannelVolume)
|
| 463 |
+
|
| 464 |
+
This function queries the specified 5mL channel to get the max and the current channel volume. This volume includes the air gap and the conversion made by the correction curve.
|
| 465 |
+
|
| 466 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 467 |
+
:params i_int_ChNumber: The number of the channel which is being checked
|
| 468 |
+
:params o_flt_MaxVolume: The maximum volume of the channel
|
| 469 |
+
:params o_flt_CurrentChannelVolume: The current volume in the channel
|
| 470 |
+
:type ML_STAR: Device
|
| 471 |
+
:type i_int_ChNumber: Variable
|
| 472 |
+
:type o_flt_MaxVolume: Variable
|
| 473 |
+
:type o_flt_CurrentChannelVolume: Variable
|
| 474 |
+
:return: None
|
| 475 |
+
:rtype: N/A
|
| 476 |
+
|
| 477 |
+
.. ven:function:: SPLIT_WELLS_AddContainersToWell(device ML_STAR, sequence i_seq_SequenceToSplit, variable i_int_SequenceIndex, variable i_int_MaxSplitNumber, sequence io_seq_SplitSequence)
|
| 478 |
+
|
| 479 |
+
This function will split a well into a sequence of multiple containers, each of which can be aspirated from individually.
|
| 480 |
+
|
| 481 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 482 |
+
:params i_seq_SequenceToSplit: The sequence that contains the well to be split into multiple containers
|
| 483 |
+
:params i_int_SequenceIndex: The index of the sequence that is to be split into multiple containers
|
| 484 |
+
:params i_int_MaxSplitNumber: The number of times that the selected container will be split. Won't exceed the width of the well
|
| 485 |
+
:params io_seq_SplitSequence: The sequence containing the split wells. Will append to the end of the sequence.
|
| 486 |
+
:type ML_STAR: Device
|
| 487 |
+
:type i_seq_SequenceToSplit: Sequence
|
| 488 |
+
:type i_int_SequenceIndex: Variable
|
| 489 |
+
:type i_int_MaxSplitNumber: Variable
|
| 490 |
+
:type io_seq_SplitSequence: Sequence
|
| 491 |
+
:return: None
|
| 492 |
+
:rtype: N/A
|
| 493 |
+
|
| 494 |
+
.. ven:function:: SPLIT_WELLS_Remove_Containers(device ML_STAR, variable i_bool_UpdateVolumes)
|
| 495 |
+
|
| 496 |
+
This function will remove the containers added by the split wells function
|
| 497 |
+
|
| 498 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 499 |
+
:params i_bool_UpdateVolume: A boolean determining whether to update the split source volume with the volume set in sample tracking.
|
| 500 |
+
:type ML_STAR: Device
|
| 501 |
+
:type i_bool_UpdateVolume: Boolean
|
| 502 |
+
:return: None
|
| 503 |
+
:rtype: N/A
|
| 504 |
+
|
| 505 |
+
.. ven:function:: TRAVEL_LANES_MoveChannelsToTravelLanes(device ML_STAR)
|
| 506 |
+
|
| 507 |
+
This function will move the 1mL channels to the travel lanes
|
| 508 |
+
|
| 509 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 510 |
+
:type ML_STAR: Device
|
| 511 |
+
:return: None
|
| 512 |
+
:rtype: N/A
|
| 513 |
+
|
| 514 |
+
.. ven:function:: TRAVEL_LANES_MoveChannelsToTravelLanes_5mL(device ML_STAR)
|
| 515 |
+
|
| 516 |
+
This function will move the 5mL channels to the travel lanes
|
| 517 |
+
|
| 518 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 519 |
+
:type ML_STAR: Device
|
| 520 |
+
:return: None
|
| 521 |
+
:rtype: N/A
|
| 522 |
+
|
| 523 |
+
.. ven:function:: TRAVEL_LANES_MoveChannelsToYPosition(device ML_STAR, sequence i_seq_TargetSequence, variable i_flt_XOffsetFromOrigin)
|
| 524 |
+
|
| 525 |
+
Parameters include the Instrument, a destination sequence, and whether or not a shift in the x-direction is wanted before moving the 1mL channels in y-direction (to doubly ensure no crossver of open wells). Channels will be moved to their Y coordinates at the X origin of the next labware in the sequence plus the X offset. The channels will move to the current position of the input Sequence.
|
| 526 |
+
|
| 527 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 528 |
+
:params i_seq_TargetSequence: The sequence to move the channels to
|
| 529 |
+
:params i_flt_XOffsetFromOrigin: The distance from the plate's origin to start the channel approach
|
| 530 |
+
:type ML_STAR: Device
|
| 531 |
+
:type i_seq_TargetSequence: Sequence
|
| 532 |
+
:type i_flt_XOffsetFromOrigin: Variable
|
| 533 |
+
:return: None
|
| 534 |
+
:rtype: N/A
|
| 535 |
+
|
| 536 |
+
.. ven:function:: TRAVEL_LANES_MoveChannelsToYPosition_5mL(device ML_STAR, sequence i_seq_TargetSequence, variable i_flt_XOffsetFromOrigin)
|
| 537 |
+
|
| 538 |
+
Parameters include the Instrument, a destination sequence, and whether or not a shift in the x-direction is wanted before moving the 5mL channels in y-direction (to doubly ensure no crossver of open wells). Channels will be moved to their Y coordinates at the X origin of the next labware in the sequence plus the X offset. The channels will move to the current position of the input Sequence.
|
| 539 |
+
|
| 540 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 541 |
+
:params i_seq_TargetSequence: The sequence to move the channels to
|
| 542 |
+
:params i_flt_XOffsetFromOrigin: The distance from the plate's origin to start the channel approach
|
| 543 |
+
:type ML_STAR: Device
|
| 544 |
+
:type i_seq_TargetSequence: Sequence
|
| 545 |
+
:type i_flt_XOffsetFromOrigin: Variable
|
| 546 |
+
:return: None
|
| 547 |
+
:rtype: N/A
|
| 548 |
+
|
| 549 |
+
.. ven:function:: TRAVEL_LANES_MoveChannelsWithTravelLanes(device ML_STAR, sequence i_seq_TargetSequence, variable i_flt_XOffsetFromOrigin)
|
| 550 |
+
|
| 551 |
+
This command is designed to shift all the 1mL channels on the instrument to either the front and/or the back of the instrument in a layout that ensures tips will not crossover any carriers. Parameters include the Instrument, a destination sequence, and whether or not a shift in the x-direction is wanted before moving the channels in y-direction (to doubly ensure no crossver of open wells). Channels will be moved to their Y coordinates at the X origin of the next labware in the sequence plus the X offset. The channels will move to the current position of the input Sequence.
|
| 552 |
+
|
| 553 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 554 |
+
:params i_seq_TargetSequence: The sequence to move the channels to
|
| 555 |
+
:params i_flt_XOffsetFromOrigin: The distance from the plate's origin to start the channel approach
|
| 556 |
+
:type ML_STAR: Device
|
| 557 |
+
:type i_seq_TargetSequence: Sequence
|
| 558 |
+
:type i_flt_XOffsetFromOrigin: Variable
|
| 559 |
+
:return: None
|
| 560 |
+
:rtype: N/A
|
| 561 |
+
|
| 562 |
+
.. ven:function:: TRAVEL_LANES_MoveChannelsWithTravelLanes_5mL(device ML_STAR, sequence i_seq_TargetSequence, variable i_flt_XOffsetFromOrigin)
|
| 563 |
+
|
| 564 |
+
This command is designed to shift all the 5mL channels on the instrument to either the front and/or the back of the instrument in a layout that ensures tips will not crossover any carriers. Parameters include the Instrument, a destination sequence, and whether or not a shift in the x-direction is wanted before moving the channels in y-direction (to doubly ensure no crossver of open wells). Channels will be moved to their Y coordinates at the X origin of the next labware in the sequence plus the X offset. The channels will move to the current position of the input Sequence.
|
| 565 |
+
|
| 566 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 567 |
+
:params i_seq_TargetSequence: The sequence to move the channels to
|
| 568 |
+
:params i_flt_XOffsetFromOrigin: The distance from the plate's origin to start the channel approach
|
| 569 |
+
:type ML_STAR: Device
|
| 570 |
+
:type i_seq_TargetSequence: Sequence
|
| 571 |
+
:type i_flt_XOffsetFromOrigin: Variable
|
| 572 |
+
:return: None
|
| 573 |
+
:rtype: N/A
|
| 574 |
+
|
| 575 |
+
.. ven:function:: TRAVEL_LANES_SingleSource_ChannelDisplacement(device ML_STAR, variable i_strStepReturn)
|
| 576 |
+
|
| 577 |
+
This command is designed to move unused 1mL channels to the back of the instrument when pipetting one well at a time while more than one channel has tips/liquid. It requires the Instrument type and Step Return variable from the Aspirate/Dispense step (this is used to determine which channel needs to be moved).
|
| 578 |
+
|
| 579 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 580 |
+
:params i_strStepReturn: The bound step return from given desired pipetting step
|
| 581 |
+
:type ML_STAR: Device
|
| 582 |
+
:type i_strStepReturn: Variable
|
| 583 |
+
:return: None
|
| 584 |
+
:rtype: N/A
|
| 585 |
+
|
| 586 |
+
.. ven:function:: TRAVEL_LANES_SingleSource_ChannelDisplacement_5mL(device ML_STAR, variable i_strStepReturn)
|
| 587 |
+
|
| 588 |
+
This command is designed to move unused 5mL channels to the back of the instrument when pipetting one well at a time while more than one channel has tips/liquid. It requires the Instrument type and Step Return variable from the Aspirate/Dispense step (this is used to determine which channel needs to be moved).
|
| 589 |
+
|
| 590 |
+
:params ML_STAR: The ML_STAR itself, will be the only option in the dropdown
|
| 591 |
+
:params i_strStepReturn: The bound step return from given desired pipetting step
|
| 592 |
+
:type ML_STAR: Device
|
| 593 |
+
:type i_strStepReturn: Variable
|
| 594 |
+
:return: None
|
| 595 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/StrTokenize.rst
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
StrTokenize
|
| 2 |
+
=====================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/StrTokenize.pkg
|
| 5 |
+
|
| 6 |
+
The string tokenize library allows you to split a string into an array based on delimiters. It adds one function:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`StrTokenize`
|
| 9 |
+
|
| 10 |
+
.. ven:function:: StrTokenize(variable strIn, variable strDelimiter, array arrTokens, boolean bAttendEmptyTokens)
|
| 11 |
+
|
| 12 |
+
This function takes the input string and splits it at any point where it finds the specified delimiter, returning the substrings as members of an array. Can be told to add empty strings or not (occurs when the delimiter appears twice in a row).
|
| 13 |
+
|
| 14 |
+
:params strIn: The input string to be split
|
| 15 |
+
:params strDelimiter: The character to be used as the delimiter
|
| 16 |
+
:params arrTokens: The output array of split-substrings
|
| 17 |
+
:params bAttendEmptyTokens: Boolean determining whether to include empty substrings or not in the array
|
| 18 |
+
:type strIn: Variable
|
| 19 |
+
:type strDelimiter: Variable
|
| 20 |
+
:type arrTokens: Array
|
| 21 |
+
:type bAttendEmptyTokens: Variable
|
| 22 |
+
:return: None
|
| 23 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/String.rst
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
String (from HSLExtensions)
|
| 2 |
+
===================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/String.pkg
|
| 5 |
+
|
| 6 |
+
The String library from HSLExtensions adds a few functions to facilitate easier manipulation of strings. It adds the following functions:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`ConvertToAsciiArray`
|
| 9 |
+
- :ven:func:`ConvertToCharArray`
|
| 10 |
+
- :ven:func:`FromAsciiArray`
|
| 11 |
+
- :ven:func:`Join`
|
| 12 |
+
- :ven:func:`JoinWithDelimiter`
|
| 13 |
+
- :ven:func:`Split`
|
| 14 |
+
- :ven:func:`Trim`
|
| 15 |
+
|
| 16 |
+
.. ven:function:: ConvertToAsciiArray(variable i_strValue)
|
| 17 |
+
|
| 18 |
+
This function converts the input string into an array with the regarding ASCII codes. If the input parameter is not a string the function returns an empty array.
|
| 19 |
+
|
| 20 |
+
:params i_strValue: The input string to be converted into an array
|
| 21 |
+
:type i_strValue: Variable
|
| 22 |
+
:return: An array of ASCII codes, or an empty array if the input parameter is not a string
|
| 23 |
+
:rtype: Array
|
| 24 |
+
|
| 25 |
+
.. ven:function:: ConvertToCharArray(variable i_strValue)
|
| 26 |
+
|
| 27 |
+
This function converts the input string into an array with the regarding characters. If the input parameter is not a string the function returns an empty array.
|
| 28 |
+
|
| 29 |
+
:params i_strValue: The input string to be converted into an array
|
| 30 |
+
:type i_strValue: Variable
|
| 31 |
+
:return: An array of characters (strings with length 1), or an empty array if the input parameter is not a string
|
| 32 |
+
:rtype: Array
|
| 33 |
+
|
| 34 |
+
.. ven:function:: FromAsciiArray(array i_arrAsciiValues)
|
| 35 |
+
|
| 36 |
+
This function converts an input array with ASCII codes into a string. If the input parameter is not an array with ASCII codes, the function returns an empty string.
|
| 37 |
+
|
| 38 |
+
:params i_arrAsciiValues: The input array of ASCII codes to be converted into a string
|
| 39 |
+
:type i_arrAsciiValues: Array
|
| 40 |
+
:return: The output string formed by the concatenation of the converted versions of the ASCII codes. An empty string if the input parameter is not an array with ASCII codes.
|
| 41 |
+
:rtype: Variable
|
| 42 |
+
|
| 43 |
+
.. ven:function:: Join(array i_arrValues)
|
| 44 |
+
|
| 45 |
+
This function joins an array of strings into a single string. Can be used to concatenate any number of strings into a single one. If the input parameter is not an array with strings, the function returns an empty string.
|
| 46 |
+
|
| 47 |
+
:params i_arrValues: The array of strings to be concatenated
|
| 48 |
+
:type i_arrValues: Array
|
| 49 |
+
:return: The concatenated form of all the strings in the array, or an empty string if the input parameter is not an array of strings
|
| 50 |
+
:rtype: Variable
|
| 51 |
+
|
| 52 |
+
.. ven:function:: JoinWithDelimiter(array i_arrValues, variable i_strDelimiter)
|
| 53 |
+
|
| 54 |
+
This function joins an array of strings into a single string and adds a delimiter between each substring. If the input parameter is not an array with strings, the function returns an empty string.
|
| 55 |
+
|
| 56 |
+
:params i_arrValues: The input array of strings to be concatenated
|
| 57 |
+
:params i_strDelimiter: The delimiter to be inserted between each substring
|
| 58 |
+
:type i_arrValues: Array
|
| 59 |
+
:type i_strDelimiter: Variable
|
| 60 |
+
:return: The concatenated strings from the array, with delimiters between each substring. An empty string if the input parameter is not an array of strings.
|
| 61 |
+
:rtype: Variable
|
| 62 |
+
|
| 63 |
+
.. ven:function:: Split(variable i_strValue, variable i_strDelimiter, variable i_bTrimWhitespaces)
|
| 64 |
+
|
| 65 |
+
This function splits a string into substrings, forming an array of strings. The input string is split based on a delimiter that the user inputs.
|
| 66 |
+
|
| 67 |
+
:params i_strValue: The input string to be split into substrings
|
| 68 |
+
:params i_strDelimiter: The delimiter to be used to split the string
|
| 69 |
+
:params i_bTrimWhitespaces: Boolean determining whether leading and trailing whitespaces will be removed or not
|
| 70 |
+
:type i_strValue: Variable
|
| 71 |
+
:type i_strDelimiter: Variable
|
| 72 |
+
:type i_bTrimWhitespaces: Boolean
|
| 73 |
+
:return: An array of strings containing each substring formed from splitting the original string
|
| 74 |
+
:rtype: Array
|
| 75 |
+
|
| 76 |
+
.. ven:function:: Trim(variable i_strValue)
|
| 77 |
+
|
| 78 |
+
This function trims leading and trailing whitespace characters from the input string. If the input parameter is not a string the function returns an empty string.
|
| 79 |
+
|
| 80 |
+
:params i_strValue: The input string to trim
|
| 81 |
+
:type i_strValue: Variable
|
| 82 |
+
:return: The trimmed string
|
| 83 |
+
:rtype: Variable
|
VenusLibraryDocumentation-DocsForGPT/docs/source/SyntaxErrors.rst
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Syntax Errors
|
| 2 |
+
=========================
|
| 3 |
+
|
| 4 |
+
Syntax errors will show up during the analysis of the method and should prevent the method from running. The error code for a syntax error is 4 digits long and should show up along with the line of the HSL file causing the syntax error, whether that is the method or the library. This will then be followed by a line with the runtime error code for syntax errors being present, namely 0x23 - 0x2 - 0x35 (0xa2230035)
|
| 5 |
+
|
| 6 |
+
Venus Errors
|
| 7 |
+
------------------------
|
| 8 |
+
|
| 9 |
+
- :ref:`1001 : Syntax error <1001>`
|
| 10 |
+
- :ref:`1002 : Syntax error before <1002>`
|
| 11 |
+
- :ref:`1101 : Missing period <1101>`
|
| 12 |
+
- :ref:`1102 : Missing semicolon <1102>`
|
| 13 |
+
- :ref:`1103 : Missing assignment <1103>`
|
| 14 |
+
- :ref:`1104 : Missing opening parenthesis <1104>`
|
| 15 |
+
- :ref:`1105 : Missing closing parenthesis <1105>`
|
| 16 |
+
- :ref:`1106 : Missing opening brace <1106>`
|
| 17 |
+
- :ref:`1107 : Missing closing brace <1107>`
|
| 18 |
+
- :ref:`1108 : Missing opening bracket <1108>`
|
| 19 |
+
- :ref:`1109 : Missing closing bracket <1109>`
|
| 20 |
+
- :ref:`1110 : Missing comma or closing parenthesis <1110>`
|
| 21 |
+
- :ref:`1111 : Missing comma or semicolon <1111>`
|
| 22 |
+
- :ref:`1112 : Missing statement <1112>`
|
| 23 |
+
- :ref:`1201 : Bad variable declaration <1201>`
|
| 24 |
+
- :ref:`1202 : Bad argument list <1202>`
|
| 25 |
+
- :ref:`1203 : Bad function name <1203>`
|
| 26 |
+
- :ref:`1204 : Bad member function name <1204>`
|
| 27 |
+
- :ref:`1205 : Bad argument name <1205>`
|
| 28 |
+
- :ref:`1206 : Bad statement <1206>`
|
| 29 |
+
- :ref:`1207 : Bad structure name <1207>`
|
| 30 |
+
- :ref:`1208 : Bad variable name <1208>`
|
| 31 |
+
- :ref:`1209 : Bad subscript expression <1209>`
|
| 32 |
+
- :ref:`1210 : Bad member selection <1210>`
|
| 33 |
+
- :ref:`1211 : Bad argument statement <1211>`
|
| 34 |
+
- :ref:`1212 : Bad member declaration list <1212>`
|
| 35 |
+
- :ref:`1213 : Bad variable list <1213>`
|
| 36 |
+
- :ref:`1214 : Bad for expression <1214>`
|
| 37 |
+
- :ref:`1215 : Bad expression <1215>`
|
| 38 |
+
- :ref:`1216 : Bad file name <1216>`
|
| 39 |
+
- :ref:`1217 : Bad member declaration <1217>`
|
| 40 |
+
- :ref:`1218 : Bad block <1218>`
|
| 41 |
+
- :ref:`1219 : Bad number <1219>`
|
| 42 |
+
- :ref:`1220 : Bad program <1220>`
|
| 43 |
+
- :ref:`1221 : Bad array size <1221>`
|
| 44 |
+
- :ref:`1222 : Bad string expression <1222>`
|
| 45 |
+
- :ref:`1223 : Bad function reference <1223>`
|
| 46 |
+
- :ref:`1224 : Bad sequence expression <1224>`
|
| 47 |
+
- :ref:`1225 : Bad array expression <1225>`
|
| 48 |
+
- :ref:`1226 : Bad array type <1226>`
|
| 49 |
+
- :ref:`1227 : Bad constant <1227>`
|
| 50 |
+
- :ref:`1228 : Bad namespace name <1228>`
|
| 51 |
+
- :ref:`1229 : Bad object expression <1229>`
|
| 52 |
+
- :ref:`1230 : Bad timer expression <1230>`
|
| 53 |
+
- :ref:`1231 : Bad event expression <1231>`
|
| 54 |
+
- :ref:`1302 : Undeclared identifier <1302>`
|
| 55 |
+
- :ref:`1303 : Redefined identifier <1303>`
|
| 56 |
+
- :ref:`1304 : Redefined formal parameter <1304>`
|
| 57 |
+
- :ref:`1305 : Nested function definition <1305>`
|
| 58 |
+
- :ref:`1306 : Nested comments <1306>`
|
| 59 |
+
- :ref:`1307 : Unterminated character constant <1307>`
|
| 60 |
+
- :ref:`1308 : Unterminated string <1308>`
|
| 61 |
+
- :ref:`1309 : No method <1309>`
|
| 62 |
+
- :ref:`1310 : Redefined method <1310>`
|
| 63 |
+
- :ref:`1311 : Unexpected end of file <1311>`
|
| 64 |
+
- :ref:`1312 : Include file not found <1312>`
|
| 65 |
+
- :ref:`1313 : Internal error <1313>`
|
| 66 |
+
- :ref:`1314 : Empty statement <1314>`
|
| 67 |
+
- :ref:`1315 : Too many arguments <1315>`
|
| 68 |
+
- :ref:`1316 : Not a member function <1316>`
|
| 69 |
+
- :ref:`1317 : Wrong member function <1317>`
|
| 70 |
+
- :ref:`1318 : Not a data member <1318>`
|
| 71 |
+
- :ref:`1319 : L-value is not a structure identifier <1319>`
|
| 72 |
+
- :ref:`1320 : L-value is not an array identifier <1320>`
|
| 73 |
+
- :ref:`1321 : L-value is an array identifier <1321>`
|
| 74 |
+
- :ref:`1322 : L-value is structure identifier <1322>`
|
| 75 |
+
- :ref:`1323 : Integer divide by zero <1323>`
|
| 76 |
+
- :ref:`1324 : Not an L-value <1324>`
|
| 77 |
+
- :ref:`1325 : Handler undefined <1325>`
|
| 78 |
+
- :ref:`1326 : Handler redefined <1326>`
|
| 79 |
+
- :ref:`1327 : Type mismatch <1327>`
|
| 80 |
+
- :ref:`1328 : Layout file not found <1328>`
|
| 81 |
+
- :ref:`1329 : Too few arguments <1329>`
|
| 82 |
+
- :ref:`1330 : Instrument not registered <1330>`
|
| 83 |
+
- :ref:`1331 : Instrument needs a deck layout <1331>`
|
| 84 |
+
- :ref:`1332 : Instrument needs no deck layout <1332>`
|
| 85 |
+
- :ref:`1334 : Skipped block initialisation <1334>`
|
| 86 |
+
- :ref:`1335 : Parser token buffer overflow <1335>`
|
| 87 |
+
- :ref:`1336 : Name too long <1336>`
|
| 88 |
+
- :ref:`1337 : Type mismatch in formal parameter <1337>`
|
| 89 |
+
- :ref:`1338 : Type mismatch in return value <1338>`
|
| 90 |
+
- :ref:`1339 : Must return a value <1339>`
|
| 91 |
+
- :ref:`1340 : Redefined workflow <1340>`
|
| 92 |
+
- :ref:`1341 : Not schedulable <1341>`
|
| 93 |
+
- :ref:`1342 : Private object reference <1342>`
|
| 94 |
+
- :ref:`1343 : Private function reference <1343>`
|
| 95 |
+
- :ref:`1344 : Analyzing completed with error <1344>`
|
| 96 |
+
- :ref:`1345 : Lexer string buffer overflow <1345>`
|
| 97 |
+
- :ref:`1346 : Obsolete statement <1346>`
|
VenusLibraryDocumentation-DocsForGPT/docs/source/Tools_Library.rst
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Tools Library
|
| 2 |
+
============================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/Tools_Library.pkg
|
| 5 |
+
|
| 6 |
+
The tools library is designed to add some QoL functions to Venus. It adds the following functions.
|
| 7 |
+
|
| 8 |
+
- :ven:func:`CalculateNumberOfTubesAndVolumePerTube`
|
| 9 |
+
- :ven:func:`Reformat_Sequence`
|
| 10 |
+
- :ven:func:`Reformat_ValuesForDialog`
|
| 11 |
+
|
| 12 |
+
.. ven:function:: CalculateNumberOfTubesAndVolumePerTube(variable i_str_ReagentName, variable i_int_NumberOfSamples, variable i_flt_VolumePerSample, variable i_flt_MaximumContainerVolume, variable i_flt_DeadLabwareVolume, variable i_flt_DeadVolumeReagent, variable o_int_NumberOfContainersNeeded, array o_arr_VolumesPerContainer, array o_arr_DescriptionForDialog)
|
| 13 |
+
|
| 14 |
+
This function calculates the number of containers needed for a reagent and the volume per container.
|
| 15 |
+
|
| 16 |
+
:params i_str_ReagentName: The name of the reagent being calculated
|
| 17 |
+
:params i_int_NumberOfSamples: The number of samples requiring the reagent
|
| 18 |
+
:params i_flt_VolumePerSample: The volume of reagent required for each sample
|
| 19 |
+
:params i_flt_MaximumContainerVolume: The maximum volume a single container can hold
|
| 20 |
+
:params i_flt_DeadVolumeLabware: The dead volume in the labware
|
| 21 |
+
:params i_flt_DeadVolumeReagent: The percentage dead volume of the reagent
|
| 22 |
+
:params o_int_NumberOfContainersNeeded: The calculated number of containers needed
|
| 23 |
+
:params o_arr_VolumesPerContainer: An array of the volumes required for each tube
|
| 24 |
+
:params o_arr_DescriptionForDialog: An array of the descriptions for the dialog
|
| 25 |
+
:type i_str_ReagentName: Variable
|
| 26 |
+
:type i_int_NumberOfSamples: Variable
|
| 27 |
+
:type i_flt_VolumePerSample: Variable
|
| 28 |
+
:type i_flt_MaximumContainerVolume: Variable
|
| 29 |
+
:type i_flt_DeadVolumeLabware: Variable
|
| 30 |
+
:type i_flt_DeadVolumeReagent: Variable
|
| 31 |
+
:type o_int_NumberOfContainersNeeded: Variable
|
| 32 |
+
:type o_arr_VolumesPerContainer: Array of variables
|
| 33 |
+
:type o_arr_DescriptionForDialog: Array of variables
|
| 34 |
+
:return: None
|
| 35 |
+
:rtype: N/A
|
| 36 |
+
|
| 37 |
+
.. ven:function:: Reformat_Sequence(sequence io_sequenceInput, variable i_intNumberOfPositions)
|
| 38 |
+
|
| 39 |
+
This function reformats a sequence to have as many positions as needed:
|
| 40 |
+
Source Sequence:
|
| 41 |
+
A1, B1
|
| 42 |
+
|
| 43 |
+
Total Number of positions needed = 4
|
| 44 |
+
|
| 45 |
+
Output Sequence:
|
| 46 |
+
A1, B1, A1, B1
|
| 47 |
+
|
| 48 |
+
:params io_sequenceInput: The sequence of interest
|
| 49 |
+
:params i_intNumberOfPositions: The number of positions required
|
| 50 |
+
:type io_sequenceInput: Sequence
|
| 51 |
+
:type i_intNumberOfPositions: Variable
|
| 52 |
+
:return: None
|
| 53 |
+
:rtype: N/A
|
| 54 |
+
|
| 55 |
+
.. ven:function:: Reformat_ValuesForDialog(variable i_flt_valueToReformat, variable o_str_valueFormatted)
|
| 56 |
+
|
| 57 |
+
This function translates floats into strings and gets rid of any trailing 0s. Use the output value to display volumes in dialogs only.
|
| 58 |
+
|
| 59 |
+
:params i_flt_valueToReformat: The float to turn into a string
|
| 60 |
+
:params o_str_valueFormatted: The output string after it has been converted from a float
|
| 61 |
+
:type i_flt_valueToReformat: Variable
|
| 62 |
+
:type o_str_valueFormatted: Variable
|
| 63 |
+
:return: None
|
| 64 |
+
:rtype: N/A
|
VenusLibraryDocumentation-DocsForGPT/docs/source/TraceLevel.txt
ADDED
|
@@ -0,0 +1,262 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
TraceLevel
|
| 2 |
+
=================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/TraceLevel.pkg
|
| 5 |
+
|
| 6 |
+
The TraceLevel library adds a variety of functions related to the trace file. The functions it adds are:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`GetTraceLevel`
|
| 9 |
+
- :ven:func:`SetTraceLevel`
|
| 10 |
+
- :ven:func:`SetStringIndicator`
|
| 11 |
+
- :ven:func:`Trace_02`
|
| 12 |
+
- :ven:func:`Trace_04`
|
| 13 |
+
- :ven:func:`Trace_06`
|
| 14 |
+
- :ven:func:`Trace_08`
|
| 15 |
+
- :ven:func:`Trace_10`
|
| 16 |
+
- :ven:func:`TraceArray`
|
| 17 |
+
- :ven:func:`TraceArrayHorizontally`
|
| 18 |
+
- :ven:func:`TraceArraysFaceToFace`
|
| 19 |
+
- :ven:func:`TraceSequence`
|
| 20 |
+
- :ven:func:`TraceSequenceParameter`
|
| 21 |
+
- :ven:func:`TraceSequencePositions`
|
| 22 |
+
- :ven:func:`TraceAction`
|
| 23 |
+
- :ven:func:`SetActionIndicator`
|
| 24 |
+
|
| 25 |
+
.. ven:function:: GetTraceLevel()
|
| 26 |
+
|
| 27 |
+
This function returns the current trace level.
|
| 28 |
+
|
| 29 |
+
:return: This function returns one of the following predefined constants; TRACE_LEVEL_NONE (0), which corresponds to no traces at all. TRACE_LEVEL_RELEASE (1), which corresponds to only items with release trace level being traced. TRACE_LEVEL_DEBUG (2), which corresponds to everything being traced.
|
| 30 |
+
:rtype: Variable
|
| 31 |
+
|
| 32 |
+
.. ven:function:: SetTraceLevel(variable i_intTraceLevel)
|
| 33 |
+
|
| 34 |
+
This function is used to set the trace level for the method or library.
|
| 35 |
+
|
| 36 |
+
:params i_intTraceLevel: The trace level for the library. Set to one of the following constants; TRACE_LEVEL_NONE (0), which corresponds to no traces at all. TRACE_LEVEL_RELEASE (1), which corresponds to only items with release trace level being traced. TRACE_LEVEL_DEBUG (2), which corresponds to everything being traced.
|
| 37 |
+
:type i_intTraceLevel: Variable (integer)
|
| 38 |
+
:return: None
|
| 39 |
+
:rtype: N/A
|
| 40 |
+
|
| 41 |
+
.. ven:function:: SetStringIndicator(variable i_strStringIndicatorCharacter)
|
| 42 |
+
|
| 43 |
+
This function is used to set one or more characters to indicate strings (by flanking them) in all traces. It can be useful to identify leading or trailing spaces in strings. You can do this by setting i_strStringIndicatorCharacter to \' or \*.
|
| 44 |
+
|
| 45 |
+
:params i_strStringIndicatorCharacter: Characters that are being added at the beginning and the end of each string trace.
|
| 46 |
+
:type i_strStringIndicatorCharacter: Variable
|
| 47 |
+
:return: None
|
| 48 |
+
:rtype: N/A
|
| 49 |
+
|
| 50 |
+
.. ven:function:: Trace_02(variable i_intTraceLevel, variable i_varToTrace_01, variable i_varToTrace_02)
|
| 51 |
+
|
| 52 |
+
This function is used to trace the value of 2 variables in one line. Will not automatically insert a space between the two variables.
|
| 53 |
+
|
| 54 |
+
:params i_intTraceLevel: The trace level for the entry. Can be set to either TRACE_LEVEL_RELEASE (1) or TRACE_LEVEL_DEBUG (2). If set to 1, the function will show up in the trace when the trace level is set to either TRACE_LEVEL_RELEASE or TRACE_LEVEL_DEBUG, if set to 2, the function will only show up when the trace level is TRACE_LEVEL_DEBUG.
|
| 55 |
+
:params i_varToTrace_01: The first variable to trace.
|
| 56 |
+
:params i_varToTrace_02: The second variable to trace.
|
| 57 |
+
:type i_intTraceLevel: Variable
|
| 58 |
+
:type i_varToTrace_01: Variable
|
| 59 |
+
:type i_varToTrace_02: Variable
|
| 60 |
+
:return: None
|
| 61 |
+
:rtype: N/A
|
| 62 |
+
|
| 63 |
+
.. ven:function:: Trace_04(variable i_intTraceLevel, variable i_varToTrace_01, variable i_varToTrace_02, variable i_varToTrace_03, variable i_varToTrace_04)
|
| 64 |
+
|
| 65 |
+
This function is used to trace the value of 4 variables in one line. Will not automatically insert a space between the variables.
|
| 66 |
+
|
| 67 |
+
:params i_intTraceLevel: The trace level for the entry. Can be set to either TRACE_LEVEL_RELEASE (1) or TRACE_LEVEL_DEBUG (2). If set to 1, the function will show up in the trace when the trace level is set to either TRACE_LEVEL_RELEASE or TRACE_LEVEL_DEBUG, if set to 2, the function will only show up when the trace level is TRACE_LEVEL_DEBUG.
|
| 68 |
+
:params i_varToTrace_01: The first variable to trace.
|
| 69 |
+
:params i_varToTrace_02: The second variable to trace.
|
| 70 |
+
:params i_varToTrace_03: The third variable to trace.
|
| 71 |
+
:params i_varToTrace_04: The fourth variable to trace.
|
| 72 |
+
:type i_intTraceLevel: Variable
|
| 73 |
+
:type i_varToTrace_01: Variable
|
| 74 |
+
:type i_varToTrace_02: Variable
|
| 75 |
+
:type i_varToTrace_03: Variable
|
| 76 |
+
:type i_varToTrace_04: Variable
|
| 77 |
+
:return: None
|
| 78 |
+
:rtype: N/A
|
| 79 |
+
|
| 80 |
+
.. ven:function:: Trace_06(variable i_intTraceLevel, variable i_varToTrace_01, variable i_varToTrace_02, variable i_varToTrace_03, variable i_varToTrace_04, variable i_varToTrace_05, variable i_varToTrace_06)
|
| 81 |
+
|
| 82 |
+
This function is used to trace the value of 6 variables in one line. Will not automatically insert a space between the variables.
|
| 83 |
+
|
| 84 |
+
:params i_intTraceLevel: The trace level for the entry. Can be set to either TRACE_LEVEL_RELEASE (1) or TRACE_LEVEL_DEBUG (2). If set to 1, the function will show up in the trace when the trace level is set to either TRACE_LEVEL_RELEASE or TRACE_LEVEL_DEBUG, if set to 2, the function will only show up when the trace level is TRACE_LEVEL_DEBUG.
|
| 85 |
+
:params i_varToTrace_01: The first variable to trace.
|
| 86 |
+
:params i_varToTrace_02: The second variable to trace.
|
| 87 |
+
:params i_varToTrace_03: The third variable to trace.
|
| 88 |
+
:params i_varToTrace_04: The fourth variable to trace.
|
| 89 |
+
:params i_varToTrace_05: The fifth variable to trace.
|
| 90 |
+
:params i_varToTrace_06: The sixth variable to trace.
|
| 91 |
+
:type i_intTraceLevel: Variable
|
| 92 |
+
:type i_varToTrace_01: Variable
|
| 93 |
+
:type i_varToTrace_02: Variable
|
| 94 |
+
:type i_varToTrace_03: Variable
|
| 95 |
+
:type i_varToTrace_04: Variable
|
| 96 |
+
:type i_varToTrace_05: Variable
|
| 97 |
+
:type i_varToTrace_06: Variable
|
| 98 |
+
:return: None
|
| 99 |
+
:rtype: N/A
|
| 100 |
+
|
| 101 |
+
.. ven:function:: Trace_08(variable i_intTraceLevel, variable i_varToTrace_01, variable i_varToTrace_02, variable i_varToTrace_03, variable i_varToTrace_04, variable i_varToTrace_05, variable i_varToTrace_06, variable i_varToTrace_07, variable i_varToTrace_08)
|
| 102 |
+
|
| 103 |
+
This function is used to trace the value of 8 variables in one line. Will not automatically insert a space between the variables.
|
| 104 |
+
|
| 105 |
+
:params i_intTraceLevel: The trace level for the entry. Can be set to either TRACE_LEVEL_RELEASE (1) or TRACE_LEVEL_DEBUG (2). If set to 1, the function will show up in the trace when the trace level is set to either TRACE_LEVEL_RELEASE or TRACE_LEVEL_DEBUG, if set to 2, the function will only show up when the trace level is TRACE_LEVEL_DEBUG.
|
| 106 |
+
:params i_varToTrace_01: The first variable to trace.
|
| 107 |
+
:params i_varToTrace_02: The second variable to trace.
|
| 108 |
+
:params i_varToTrace_03: The third variable to trace.
|
| 109 |
+
:params i_varToTrace_04: The fourth variable to trace.
|
| 110 |
+
:params i_varToTrace_05: The fifth variable to trace.
|
| 111 |
+
:params i_varToTrace_06: The sixth variable to trace.
|
| 112 |
+
:params i_varToTrace_07: The seventh variable to trace.
|
| 113 |
+
:params i_varToTrace_08: The eighth variable to trace.
|
| 114 |
+
:type i_intTraceLevel: Variable
|
| 115 |
+
:type i_varToTrace_01: Variable
|
| 116 |
+
:type i_varToTrace_02: Variable
|
| 117 |
+
:type i_varToTrace_03: Variable
|
| 118 |
+
:type i_varToTrace_04: Variable
|
| 119 |
+
:type i_varToTrace_05: Variable
|
| 120 |
+
:type i_varToTrace_06: Variable
|
| 121 |
+
:type i_varToTrace_07: Variable
|
| 122 |
+
:type i_varToTrace_08: Variable
|
| 123 |
+
:return: None
|
| 124 |
+
:rtype: N/A
|
| 125 |
+
|
| 126 |
+
.. ven:function:: Trace_10(variable i_intTraceLevel, variable i_varToTrace_01, variable i_varToTrace_02, variable i_varToTrace_03, variable i_varToTrace_04, variable i_varToTrace_05, variable i_varToTrace_06, variable i_varToTrace_07, variable i_varToTrace_08, variable i_varToTrace_09, variable i_varToTrace_10)
|
| 127 |
+
|
| 128 |
+
This function is used to trace the value of 10 variables in one line. Will not automatically insert a space between the variables.
|
| 129 |
+
|
| 130 |
+
:params i_intTraceLevel: The trace level for the entry. Can be set to either TRACE_LEVEL_RELEASE (1) or TRACE_LEVEL_DEBUG (2). If set to 1, the function will show up in the trace when the trace level is set to either TRACE_LEVEL_RELEASE or TRACE_LEVEL_DEBUG, if set to 2, the function will only show up when the trace level is TRACE_LEVEL_DEBUG.
|
| 131 |
+
:params i_varToTrace_01: The first variable to trace.
|
| 132 |
+
:params i_varToTrace_02: The second variable to trace.
|
| 133 |
+
:params i_varToTrace_03: The third variable to trace.
|
| 134 |
+
:params i_varToTrace_04: The fourth variable to trace.
|
| 135 |
+
:params i_varToTrace_05: The fifth variable to trace.
|
| 136 |
+
:params i_varToTrace_06: The sixth variable to trace.
|
| 137 |
+
:params i_varToTrace_07: The seventh variable to trace.
|
| 138 |
+
:params i_varToTrace_08: The eighth variable to trace.
|
| 139 |
+
:params i_varToTrace_09: The ninth variable to trace.
|
| 140 |
+
:params i_varToTrace_10: The tenth variable to trace.
|
| 141 |
+
:type i_intTraceLevel: Variable
|
| 142 |
+
:type i_varToTrace_01: Variable
|
| 143 |
+
:type i_varToTrace_02: Variable
|
| 144 |
+
:type i_varToTrace_03: Variable
|
| 145 |
+
:type i_varToTrace_04: Variable
|
| 146 |
+
:type i_varToTrace_05: Variable
|
| 147 |
+
:type i_varToTrace_06: Variable
|
| 148 |
+
:type i_varToTrace_07: Variable
|
| 149 |
+
:type i_varToTrace_08: Variable
|
| 150 |
+
:type i_varToTrace_09: Variable
|
| 151 |
+
:type i_varToTrace_10: Variable
|
| 152 |
+
:return: None
|
| 153 |
+
:rtype: N/A
|
| 154 |
+
|
| 155 |
+
.. ven:function:: TraceArray(variable i_intTraceLevel, variable i_strDescription, array i_arrvarToTrace)
|
| 156 |
+
|
| 157 |
+
This function is used to trace an array of variables. It will trace each value of the array in its own line, along with the array description and the index of the value.
|
| 158 |
+
|
| 159 |
+
:params i_intTraceLevel: The trace level for the entry. Can be set to either TRACE_LEVEL_RELEASE (1) or TRACE_LEVEL_DEBUG (2). If set to 1, the function will show up in the trace when the trace level is set to either TRACE_LEVEL_RELEASE or TRACE_LEVEL_DEBUG, if set to 2, the function will only show up when the trace level is TRACE_LEVEL_DEBUG.
|
| 160 |
+
:params i_strDescription: A description of the array, which will be at the start of each line of the array trace.
|
| 161 |
+
:params i_arrvarToTrace: The array to be traced.
|
| 162 |
+
:type i_intTraceLevel: Variable
|
| 163 |
+
:type i_strDescription: Variable
|
| 164 |
+
:type i_arrvarToTrace: Array (of variables)
|
| 165 |
+
:return: None
|
| 166 |
+
:rtype: N/A
|
| 167 |
+
|
| 168 |
+
.. ven:function:: TraceArrayHorizontally(variable i_intTraceLevel, variable i_strDescription, array i_arrvarToTrace)
|
| 169 |
+
|
| 170 |
+
This function is used to trace an array of variables. It will trace the array description, followed by each array index and value pair, all on one line.
|
| 171 |
+
|
| 172 |
+
:params i_intTraceLevel: The trace level for the entry. Can be set to either TRACE_LEVEL_RELEASE (1) or TRACE_LEVEL_DEBUG (2). If set to 1, the function will show up in the trace when the trace level is set to either TRACE_LEVEL_RELEASE or TRACE_LEVEL_DEBUG, if set to 2, the function will only show up when the trace level is TRACE_LEVEL_DEBUG.
|
| 173 |
+
:params i_strDescription: A description of the array, which will be at the start of the array trace.
|
| 174 |
+
:params i_arrvarToTrace: The array to be traced.
|
| 175 |
+
:type i_intTraceLevel: Variable
|
| 176 |
+
:type i_strDescription: Variable
|
| 177 |
+
:type i_arrvarToTrace: Array (of variables)
|
| 178 |
+
:return: None
|
| 179 |
+
:rtype: N/A
|
| 180 |
+
|
| 181 |
+
.. ven:function:: TraceArraysFaceToFace(variable i_intTraceLevel, variable i_strDescription_1, variable i_strDescription_2, array i_arrvarToTrace_1, array i_arrvarToTrace_2)
|
| 182 |
+
|
| 183 |
+
This function is used to trace two arrays of variables at the same time, with values at the same index being shown on the same line as one another.
|
| 184 |
+
|
| 185 |
+
:params i_intTraceLevel: The trace level for the entry. Can be set to either TRACE_LEVEL_RELEASE (1) or TRACE_LEVEL_DEBUG (2). If set to 1, the function will show up in the trace when the trace level is set to either TRACE_LEVEL_RELEASE or TRACE_LEVEL_DEBUG, if set to 2, the function will only show up when the trace level is TRACE_LEVEL_DEBUG.
|
| 186 |
+
:params i_strDescription_1: A description of the first array, which will be at the start of the array trace.
|
| 187 |
+
:params i_strDescription_2: A description of the second array, which will be at the start of the array trace.
|
| 188 |
+
:params i_arrvarToTrace_1: The first array to be traced.
|
| 189 |
+
:params i_arrvarToTrace_2: The second array to be traced.
|
| 190 |
+
:type i_intTraceLevel: Variable
|
| 191 |
+
:type i_strDescription_1: Variable
|
| 192 |
+
:type i_strDescription_2: Variable
|
| 193 |
+
:type i_arrvarToTrace_1: Array (of variables)
|
| 194 |
+
:type i_arrvarToTrace_2: Array (of variables)
|
| 195 |
+
:return: None
|
| 196 |
+
:rtype: N/A
|
| 197 |
+
|
| 198 |
+
.. ven:function:: TraceSequence(variable i_intTraceLevel, sequence i_seqToTrace)
|
| 199 |
+
|
| 200 |
+
This function is used to trace a sequence. It will list the sequence name, current position, the count and total positions in the sequence, the max number of positions available, and the number of used positions. It will then list the labware ID and position ID for each value of the sequence.
|
| 201 |
+
|
| 202 |
+
:params i_intTraceLevel: The trace level for the entry. Can be set to either TRACE_LEVEL_RELEASE (1) or TRACE_LEVEL_DEBUG (2). If set to 1, the function will show up in the trace when the trace level is set to either TRACE_LEVEL_RELEASE or TRACE_LEVEL_DEBUG, if set to 2, the function will only show up when the trace level is TRACE_LEVEL_DEBUG.
|
| 203 |
+
:params i_seqToTrace: The sequence to be traced
|
| 204 |
+
:type i_intTraceLevel: Variable
|
| 205 |
+
:type i_seqToTrace: Sequence
|
| 206 |
+
:return: None
|
| 207 |
+
:rtype: N/A
|
| 208 |
+
|
| 209 |
+
.. ven:function:: TraceSequenceParameter(variable i_intTraceLevel, sequence i_seqToTrace)
|
| 210 |
+
|
| 211 |
+
This function is used to trace the parameters of a sequence. It will list the sequence name, current position, the count and total positions in the sequence, the max number of positions available, and the number of used positions.
|
| 212 |
+
|
| 213 |
+
:params i_intTraceLevel: The trace level for the entry. Can be set to either TRACE_LEVEL_RELEASE (1) or TRACE_LEVEL_DEBUG (2). If set to 1, the function will show up in the trace when the trace level is set to either TRACE_LEVEL_RELEASE or TRACE_LEVEL_DEBUG, if set to 2, the function will only show up when the trace level is TRACE_LEVEL_DEBUG.
|
| 214 |
+
:params i_seqToTrace: The sequence to be traced
|
| 215 |
+
:type i_intTraceLevel: Variable
|
| 216 |
+
:type i_seqToTrace: Sequence
|
| 217 |
+
:return: None
|
| 218 |
+
:rtype: N/A
|
| 219 |
+
|
| 220 |
+
.. ven:function:: TraceSequencePositions(device ML_STAR, variable i_intTraceLevel, sequence i_seqToTrace, variable i_blnCurrentPositionOnly)
|
| 221 |
+
|
| 222 |
+
This function is used to trace the deck positions of a sequence. It will trace the sequence name, then for each part of the sequence it will trace the position ID and the x, y, z, and r coordinates of the position.
|
| 223 |
+
|
| 224 |
+
:params ML_STAR: The STAR device.
|
| 225 |
+
:params i_intTraceLevel: The trace level for the entry. Can be set to either TRACE_LEVEL_RELEASE (1) or TRACE_LEVEL_DEBUG (2). If set to 1, the function will show up in the trace when the trace level is set to either TRACE_LEVEL_RELEASE or TRACE_LEVEL_DEBUG, if set to 2, the function will only show up when the trace level is TRACE_LEVEL_DEBUG.
|
| 226 |
+
:params i_seqToTrace: The sequence to be traced
|
| 227 |
+
:params i_blnCurrentPositionOnly: A boolean determining whether the function will trace positions for all sequence positions (0) or just the current sequence position (1).
|
| 228 |
+
:type ML_STAR: Device
|
| 229 |
+
:type i_intTraceLevel: Variable
|
| 230 |
+
:type i_seqToTrace: Sequence
|
| 231 |
+
:type i_blnCurrentPositionOnly: Boolean
|
| 232 |
+
:return: None
|
| 233 |
+
:rtype: N/A
|
| 234 |
+
|
| 235 |
+
.. ven:function:: TraceAction(variable i_intTraceLevel, variable i_intAction, variable i_strFunctionName, variable i_strMethodName, variable i_strComment)
|
| 236 |
+
|
| 237 |
+
This function is used to trace different action states for a module. :ven:func:`SetActionIndicator` can be used to help identify actions in log files more easily.
|
| 238 |
+
|
| 239 |
+
:params i_intTraceLevel: The trace level for the entry. Can be set to either TRACE_LEVEL_RELEASE (1) or TRACE_LEVEL_DEBUG (2). If set to 1, the function will show up in the trace when the trace level is set to either TRACE_LEVEL_RELEASE or TRACE_LEVEL_DEBUG, if set to 2, the function will only show up when the trace level is TRACE_LEVEL_DEBUG.
|
| 240 |
+
:params i_intAction: The action to be traced. Set to one of the following constants. START (1) corresponds to the entry being traced as starting. COMPLETE (2) corresponds to the entry being traced as finished successfully. ERROR (3) corresponds to the entry being traced as error occurred. PROGRESS (4) corresponds to the entry being traced as progressing. COMPLETE_WITH_ERROR (5) corresponds to the entry being traced as finished unsuccessfully.
|
| 241 |
+
:params i_strFunctionName: The function name for the action trace. Can be set to the return value of the HSL function *GetFunctionName*, which will automatically be formatted correctly.
|
| 242 |
+
:params i_strMethodName: The method name for the action trace. Can be set to the return value of the HSL function *GetMethodFileName*, which will automatically be formatted correctly.
|
| 243 |
+
:params i_strComment: A comment to be traced with the action trace.
|
| 244 |
+
:type i_intTraceLevel: Variable
|
| 245 |
+
:type i_intAction: Variable
|
| 246 |
+
:type i_strFunctionName: Variable
|
| 247 |
+
:type i_strMethodName: Variable
|
| 248 |
+
:type i_strComment: Variable
|
| 249 |
+
:return: None
|
| 250 |
+
:rtype: N/A
|
| 251 |
+
|
| 252 |
+
.. ven:function:: SetActionIndicator(variable i_intAction, variable i_strIndicator)
|
| 253 |
+
|
| 254 |
+
This function is used to set one or more characters to indicate actions. By setting *i_strIndicator* to different characters you can make it easy to identify different actions in the trace.
|
| 255 |
+
|
| 256 |
+
:params i_intAction: The action to be traced. Set to one of the following constants. START (1) corresponds to the entry being traced as starting. COMPLETE (2) corresponds to the entry being traced as finished successfully. ERROR (3) corresponds to the entry being traced as error occurred. PROGRESS (4) corresponds to the entry being traced as progressing. COMPLETE_WITH_ERROR (5) corresponds to the entry being traced as finished unsuccessfully.
|
| 257 |
+
:params i_strIndicator: Character(s) that are being repeated at a total length of up to 100 and traced before and after the action trace.
|
| 258 |
+
:type: i_intAction: Variable
|
| 259 |
+
:type i_strIndicator: Variable
|
| 260 |
+
:return: None
|
| 261 |
+
:rtype: N/A
|
| 262 |
+
|
VenusLibraryDocumentation-DocsForGPT/docs/source/Windows.txt
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Windows (from HSLExtensions)
|
| 2 |
+
=========================================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/Windows.pkg
|
| 5 |
+
|
| 6 |
+
The windows library from HSLExtensions adds functions related to registries and special directories. The functions it adds are as follows:
|
| 7 |
+
|
| 8 |
+
- :ven:func:`GetRegistryValue`
|
| 9 |
+
- :ven:func:`GetSpecialDirectory`
|
| 10 |
+
- :ven:func:`SetRegistryValue`
|
| 11 |
+
|
| 12 |
+
.. ven:function:: GetRegistryValue(variable i_intHKey, variable i_strKey, variable i_strValueName, variable o_varValue)
|
| 13 |
+
|
| 14 |
+
This function reads a value from the specified registry
|
| 15 |
+
|
| 16 |
+
:params i_intHKey: The main key of the registry. 1 = ClassesRoot, 2 = CurrentUser, 3 = LocalMachine, 4 = Users, 5 = CurrentConfig.
|
| 17 |
+
:params i_strKey: The key to the path (e.g. SOFTWARE\Phoenix\Directories\Methods)
|
| 18 |
+
:params i_strValueName: The name of the value to be read
|
| 19 |
+
:params o_varValue: The value which was read (type according to value type)
|
| 20 |
+
:type i_intHKey: Integer
|
| 21 |
+
:type i_strKey: String
|
| 22 |
+
:type i_strValueName: String
|
| 23 |
+
:type o_varValue: Variable
|
| 24 |
+
:return: Boolean showing whether the key exists (hslTrue) or not (hslFalse)
|
| 25 |
+
:rtype: Boolean
|
| 26 |
+
|
| 27 |
+
.. ven:function:: GetSpecialDirectory(variable i_intSpecialDirectory)
|
| 28 |
+
|
| 29 |
+
This function gets the specified special directory
|
| 30 |
+
|
| 31 |
+
:params i_intSpecialDirectory: The type of the special directory. 1 = WindowsDirectory, 2 = SystemDirectory, 3 = TemporaryDirectory.
|
| 32 |
+
:type i_intSpecialDirectory: Integer
|
| 33 |
+
:return: The special directory
|
| 34 |
+
:rtype: String
|
| 35 |
+
|
| 36 |
+
.. ven:function:: SetRegistryValue(variable i_intHKey, variable i_strKey, variable i_strValueName, variable i_varValue, variable i_intValueType)
|
| 37 |
+
|
| 38 |
+
This function writes a value to the specified registry
|
| 39 |
+
|
| 40 |
+
:params i_intHKey: The main key of the registry. 1 = ClassesRoot, 2 = CurrentUser, 3 = LocalMachine, 4 = Users, 5 = CurrentConfig.
|
| 41 |
+
:params i_strKey: The key to the path (e.g. SOFTWARE\Phoenix\Directories\Methods)
|
| 42 |
+
:params i_strValueName: The name of the value to be read
|
| 43 |
+
:params i_varValue: The value which was will be written in
|
| 44 |
+
:params i_intValueType: The type of the value. 1 = String, 2 = Number, 3 = Binary, 4 = ExpandableString
|
| 45 |
+
:type i_intHKey: Integer
|
| 46 |
+
:type i_strKey: String
|
| 47 |
+
:type i_strValueName: String
|
| 48 |
+
:type o_varValue: Variable
|
| 49 |
+
:return: Boolean showing whether the function was successful (hslTrue) or not (hslFalse)
|
| 50 |
+
:rtype: Boolean
|
VenusLibraryDocumentation-DocsForGPT/docs/source/ZerouLScanner.txt
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Zero uL Scanner
|
| 2 |
+
=========================
|
| 3 |
+
|
| 4 |
+
https://github.com/theonetruenerd/VenusPackages/blob/main/ZerouLScanner.pkg
|
| 5 |
+
|
| 6 |
+
The zero uL scanner library adds a single function which is designed to be added at the end of a method. It scans the trace file for any steps in which 0uL was pipetted and returns the number of times that happened. This is to check for steps where (for example) it is pipetting a volume based on a variable, and there is a spelling mistake in the variable, or the variable isn't defined correctly. It will work in both simulation mode and normal mode.
|
| 7 |
+
|
| 8 |
+
- :ven:func:`CheckFor0s`
|
| 9 |
+
|
| 10 |
+
.. ven:function:: CheckFor0s()
|
| 11 |
+
|
| 12 |
+
This function checks for any steps in which 0uL has been pipetted and returns the number of times that has happened.
|
| 13 |
+
|
| 14 |
+
:return: Number of times 0uL has been pipetted
|
| 15 |
+
:rtype: Variable
|
VenusLibraryDocumentation-DocsForGPT/docs/source/conf.py
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Configuration file for the Sphinx documentation builder.
|
| 2 |
+
|
| 3 |
+
# -- Project information
|
| 4 |
+
|
| 5 |
+
project = 'Venus Documentation'
|
| 6 |
+
# copyright = 'None'
|
| 7 |
+
author = 'TChapman'
|
| 8 |
+
|
| 9 |
+
release = '0.1'
|
| 10 |
+
version = '0.1.0'
|
| 11 |
+
|
| 12 |
+
# -- General configuration
|
| 13 |
+
|
| 14 |
+
extensions = [
|
| 15 |
+
'sphinx.ext.duration',
|
| 16 |
+
'sphinx.ext.doctest',
|
| 17 |
+
'sphinx.ext.autodoc',
|
| 18 |
+
'sphinx.ext.autosummary',
|
| 19 |
+
'sphinx.ext.intersphinx',
|
| 20 |
+
]
|
| 21 |
+
|
| 22 |
+
intersphinx_mapping = {
|
| 23 |
+
'python': ('https://docs.python.org/3/', None),
|
| 24 |
+
'sphinx': ('https://www.sphinx-doc.org/en/master/', None),
|
| 25 |
+
}
|
| 26 |
+
intersphinx_disabled_domains = ['std']
|
| 27 |
+
|
| 28 |
+
templates_path = ['_templates']
|
| 29 |
+
|
| 30 |
+
# -- Options for HTML output
|
| 31 |
+
|
| 32 |
+
html_theme = 'sphinx_rtd_theme'
|
| 33 |
+
|
| 34 |
+
html_theme_options = {'body_max_width': '40%'}
|
| 35 |
+
|
| 36 |
+
epub_show_urls = 'footnote'
|
VenusLibraryDocumentation-DocsForGPT/docs/source/index.rst
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Welcome to Venus's documentation!
|
| 2 |
+
===================================
|
| 3 |
+
|
| 4 |
+
**Venus** is a coding language wrapper used in the coding of Hamilton Microlab STARs and similar devices.
|
| 5 |
+
This is the consolidated unofficial documentation for Venus 4 as well as its libraries, compiled from official sources as well as personal troubleshooting.
|
| 6 |
+
|
| 7 |
+
**This is not an official Hamilton resource**
|
| 8 |
+
|
| 9 |
+
.. note::
|
| 10 |
+
|
| 11 |
+
This project is under active development. If any issues or mistakes are found, please comment or contact me directly at tarunchapman@hotmail.com.
|
| 12 |
+
General place to download libraries: https://github.com/theonetruenerd/VenusPackages
|
| 13 |
+
|
| 14 |
+
.. toctree::
|
| 15 |
+
|
| 16 |
+
:caption: Documented Libraries
|
| 17 |
+
:titlesonly:
|
| 18 |
+
|
| 19 |
+
venus
|
| 20 |
+
ErrorCodes
|
| 21 |
+
ASWGlobal
|
| 22 |
+
Aliquot_for_EasySteps_v2
|
| 23 |
+
Aliquot_with_EasySteps
|
| 24 |
+
Array
|
| 25 |
+
ArrayTools
|
| 26 |
+
CheckCarrierPresence_v2
|
| 27 |
+
ColourSchemeLibrary
|
| 28 |
+
ConvertFileToASCII
|
| 29 |
+
DebugAssist
|
| 30 |
+
EditFileAttributes
|
| 31 |
+
ErrorReportLibrary
|
| 32 |
+
ErrorSimulator
|
| 33 |
+
Framework
|
| 34 |
+
HSLDeckVisualize
|
| 35 |
+
HSLFilLib
|
| 36 |
+
HSLFilLibEx
|
| 37 |
+
HSLStatistics
|
| 38 |
+
HSLStrLib
|
| 39 |
+
HSLZipLib
|
| 40 |
+
HSL_SeqDailyTools
|
| 41 |
+
If_And_If_Or
|
| 42 |
+
Labware_Properties
|
| 43 |
+
Lookup
|
| 44 |
+
Pipetting
|
| 45 |
+
RemoveTextDelimitersFromAsciiTextFile
|
| 46 |
+
STAR_Channel_Tools
|
| 47 |
+
StrTokenize
|
| 48 |
+
String
|
| 49 |
+
Tools_Library
|
| 50 |
+
TraceLevel
|
| 51 |
+
Windows
|
| 52 |
+
ZerouLScanner
|
VenusLibraryDocumentation-DocsForGPT/docs/source/venus.txt
ADDED
|
@@ -0,0 +1,279 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Venus
|
| 2 |
+
==============================================
|
| 3 |
+
|
| 4 |
+
This section aims to cover the *functions* that Venus can run. Documentation on more general principles of Venus, including things like the liquid editor and labware editor, will be found separately.
|
| 5 |
+
|
| 6 |
+
Venus functions are organised into several sections. These are the following:
|
| 7 |
+
|
| 8 |
+
|
| 9 |
+
- :ref:`General Steps`
|
| 10 |
+
- :ref:`Scheduler Steps`
|
| 11 |
+
- :ref:`Custom Dialog Steps`
|
| 12 |
+
- :ref:`Favourites`
|
| 13 |
+
- :ref:`Templates`
|
| 14 |
+
|
| 15 |
+
There are also instrument specific functions in their own categories:
|
| 16 |
+
|
| 17 |
+
- :ref:`ML_STAR`
|
| 18 |
+
- :ref:`Microlab STAR Smart Steps`
|
| 19 |
+
|
| 20 |
+
.. General Steps
|
| 21 |
+
|
| 22 |
+
The general steps are composed of relatively standard coding functions that will be present in many other coding languages. These are not associated with the hardware of any instrument and are present on Venus regardless of whether you are using a STAR, a STARLet, or any other instrument which uses Venus. The functions which fall under general steps are listed below:
|
| 23 |
+
|
| 24 |
+
- :ven:func:`Comment`
|
| 25 |
+
- :ven:func:`Assignment`
|
| 26 |
+
- :ven:func:`Assignment with Calculation`
|
| 27 |
+
- :ven:func:`Loop`
|
| 28 |
+
- :ven:func:`Loop: Break`
|
| 29 |
+
- :ven:func:`If, Else`
|
| 30 |
+
- :ven:func:`Array: Declare / Set Size`
|
| 31 |
+
- :ven:func:`Array: Set At`
|
| 32 |
+
- :ven:func:`Array: Get At`
|
| 33 |
+
- :ven:func:`Array: Get Size`
|
| 34 |
+
- :ven:func:`Array: Copy`
|
| 35 |
+
- :ven:func:`Sequence: Get Current Position`
|
| 36 |
+
- :ven:func:`Sequence: Set Current Position`
|
| 37 |
+
- :ven:func:`Sequence: Get End Position`
|
| 38 |
+
- :ven:func:`Sequence: Set End Position`
|
| 39 |
+
- :ven:func:`Adjust Sequences`
|
| 40 |
+
- :ven:func:`File: Open`
|
| 41 |
+
- :ven:func:`File: Read`
|
| 42 |
+
- :ven:func:`File: Write`
|
| 43 |
+
- :ven:func:`File: Set Position`
|
| 44 |
+
- :ven:func:`File: Close`
|
| 45 |
+
- :ven:func:`Timer: Start`
|
| 46 |
+
- :ven:func:`Timer: Wait for`
|
| 47 |
+
- :ven:func:`Timer: Read Elapsed Time`
|
| 48 |
+
- :ven:func:`Timer: Restart`
|
| 49 |
+
- :ven:func:`User Input`
|
| 50 |
+
- :ven:func:`User Output`
|
| 51 |
+
- :ven:func:`Shell`
|
| 52 |
+
- :ven:func:`Set Event`
|
| 53 |
+
- :ven:func:`Wait for Event`
|
| 54 |
+
- :ven:func:`Return`
|
| 55 |
+
- :ven:func:`Abort`
|
| 56 |
+
- :ven:func:`Error Handling by the User`
|
| 57 |
+
- :ven:func:`Begin Parallel`
|
| 58 |
+
- :ven:func:`End Parallel`
|
| 59 |
+
|
| 60 |
+
.. Scheduler Steps
|
| 61 |
+
|
| 62 |
+
The scheduler steps are functions which arrange the method to be executed on a number of resources and submitted to capacity, time and precedence relations in a way that fulfils the optimality criteria. The methods and its activation criterions are defined in a workflow.
|
| 63 |
+
|
| 64 |
+
The Schedule process is divided into two phases: scheduling and executing. The scheduler functions are listed below:
|
| 65 |
+
|
| 66 |
+
- :ven:func:`Select Method`
|
| 67 |
+
- :ven:func:`Activate Task`
|
| 68 |
+
- :ven:func:`Cancel Task`
|
| 69 |
+
- :ven:func:`Schedule Block`
|
| 70 |
+
- :ven:func:`Reschedule`
|
| 71 |
+
|
| 72 |
+
.. Custom Dialog Steps
|
| 73 |
+
|
| 74 |
+
The custom dialog steps only adds the :ven:func:`Custom Dialog` function, which allows creation of more complicated dialogs than the standard :ven:func:`User Input` and :ven:func:`User Output` functions.
|
| 75 |
+
|
| 76 |
+
.. Favourites
|
| 77 |
+
|
| 78 |
+
The favourites drop-down allows you to select functions which you use frequently to be in their own separate tab so that they are easier to find. These steps will be favourited on every method.
|
| 79 |
+
|
| 80 |
+
.. Templates
|
| 81 |
+
|
| 82 |
+
Templates add the ability to preprogram commonly used functions and processes/sets of functions so that the user doesn't have to write them freshly every time. An example might be a tip pickup step with all the parameters for pickup already programmed in so you don't have to fill them in, or a bulk creation of arrays for an ASW Dialog.
|
| 83 |
+
|
| 84 |
+
.. ML_STAR
|
| 85 |
+
|
| 86 |
+
The ML_STAR section adds the core functions which interact with the ML_STAR itself, which is anything that interacts with the hardware or firmware of the STAR. They are split into the power steps and single steps. The single steps are then split into liquid handling functions, preparation functions, transport functions, and miscellaneous functions. The functions which come under the ML_STAR tab are:
|
| 87 |
+
|
| 88 |
+
- :ven:func:`1000ul Channel Aspirate`
|
| 89 |
+
- :ven:func:`1000ul Channel Dispense`
|
| 90 |
+
- :ven:func:`CO-RE 96 Head Aspirate`
|
| 91 |
+
- :ven:func:`CO-RE 96 Head Dispense`
|
| 92 |
+
- :ven:func:`iSWAP Transport`
|
| 93 |
+
- :ven:func:`1000ul Channel CO-RE Grip Transport`
|
| 94 |
+
- :ven:func:`1000ul Channel Tip Pick Up (Single Step)`
|
| 95 |
+
- :ven:func:`1000ul Channel Aspirate (Single Step)`
|
| 96 |
+
- :ven:func:`1000ul Channel Dispense (Single Step)`
|
| 97 |
+
- :ven:func:`1000ul Channel Dispense on the Fly (Single Step)`
|
| 98 |
+
- :ven:func:`1000ul Channel Tip Eject (Single Step)`
|
| 99 |
+
- :ven:func:`1000ul Channel Get Last Liquid Level (Single Step)`
|
| 100 |
+
- :ven:func:`1000ul Channel Aspirate 2nd Phase (Single Step)`
|
| 101 |
+
- :ven:func:`CO-RE 96 Head Tip Pick Up (Single Step)`
|
| 102 |
+
- :ven:func:`CO-RE 96 Head Aspirate (Single Step)`
|
| 103 |
+
- :ven:func:`CO-RE 96 Head Dispense (Single Step)`
|
| 104 |
+
- :ven:func:`CO-RE 96 Head Tip Eject (Single Step)`
|
| 105 |
+
- :ven:func:`Initialize (Single Step)`
|
| 106 |
+
- :ven:func:`Calibrate Carrier (Single Step)`
|
| 107 |
+
- :ven:func:`Lock/Unlock Front Cover (Single Step)`
|
| 108 |
+
- :ven:func:`iSWAP Get Plate (Single Step)`
|
| 109 |
+
- :ven:func:`iSWAP Place Plate (Single Step)`
|
| 110 |
+
- :ven:func:`iSWAP Move Plate (Single Step)`
|
| 111 |
+
- :ven:func:`iSWAP Open Gripper (Single Step)`
|
| 112 |
+
- :ven:func:`iSWAP Close Gripper (Single Step)`
|
| 113 |
+
- :ven:func:`iSWAP Get First Plate Position (Single Step)`
|
| 114 |
+
- :ven:func:`iSWAP Park (Single Step)`
|
| 115 |
+
- :ven:func:`1000ul Channel CO-RE Grip Get Plate (Single Step)`
|
| 116 |
+
- :ven:func:`1000ul Channel CO-RE Grip Place Plate (Single Step)`
|
| 117 |
+
- :ven:func:`1000ul Channel CO-RE Grip Move Plate (Single Step)`
|
| 118 |
+
|
| 119 |
+
.. Microlab STAR Smart Steps
|
| 120 |
+
|
| 121 |
+
Smart steps are functions which are preprogrammed single steps which are combined to be ready for specific tasks such as doing both aspiration and dispensing of a reagent in the same function. The Smart Step functions are:
|
| 122 |
+
|
| 123 |
+
- :ven:func:`Advanced Load Settings`
|
| 124 |
+
- :ven:func:`Load`
|
| 125 |
+
- :ven:func:`Load and Match`
|
| 126 |
+
- :ven:func:`1000ul Channel Pipette - Simple (1-1)`
|
| 127 |
+
- :ven:func:`1000ul Channel Pipette - Replica (1-n)`
|
| 128 |
+
- :ven:func:`1000ul Channel Pipette - Pooling (n-1)`
|
| 129 |
+
- :ven:func:`1000ul Channel Pipette - Aliquot`
|
| 130 |
+
- :ven:func:`Unload`
|
| 131 |
+
- :ven:func:`1000ul Channel Needle Wash Settings`
|
| 132 |
+
- :ven:func:`1000ul Channel Needle Pick Up`
|
| 133 |
+
- :ven:func:`1000ul Channel Needle Eject`
|
| 134 |
+
- :ven:func:`1000ul Channel Tip Pick Up`
|
| 135 |
+
- :ven:func:`1000ul Channel Tip Eject`
|
| 136 |
+
|
| 137 |
+
How venus works
|
| 138 |
+
-------------------------------------------------------
|
| 139 |
+
|
| 140 |
+
Venus is a drag-and-drop wrapper for a separate coding language called HSL, standing for Hamilton Standard Language. When coding a method in Venus, all the available functions (core and any from imported libraries) are listed on the left hand side of the screen in a tree view. When you want to add a step to your method, you drag and drop that function from the left hand side and drop it wherever you want it to be in your method. This will then open a dialog box which allows you to input your desired parameters. The method is saved as a .med file, which can be run through a software called HxRunControl.exe. The run control software can run simulations of the code as well as the code on an actual robot. In the run control software window, you can see the deck layout dynamically changing, an open view of the method showing what step you are on, and a trace file which is a type of log which displays the data from every step that is occuring and is timestamped for each step. The trace file is saved to the Log Files folder within the main Hamilton folder in Program Files (x86). Method files (.med) can compile into HSL files (.hsl) which can also be edited and run through the run control software. Instead of being drag-and-drop, HSL is a more standard coding language, with C++ like syntax. HSL files cannot be converted into .med files; as such, it is usually recommended to insert snippets of HSL code into the main .med file rather than coding in HSL itself, or to only use HSL for creation of fresh libraries.
|
| 141 |
+
|
| 142 |
+
Libraries are groups of functions which reside in the library folder within the main Hamilton folder. They can be imported into specific methods, at which point the functions associated with that library will appear in the function tree on the left hand side of the method editor. Libraries can either be written in HSL (and are thus .hsl files) or can be "sub-method libraries", which is a series of steps coded in Venus that are stored in a way that works like a function. Sub-method libraries are .smt files. You can have submethods in a normal method file, and it is often encouraged so that your code is "parcelled" into blocks which contain the main blocks of your method. These submethods are just like the normal method but reside in a separate tab in the method editor.
|
| 143 |
+
|
| 144 |
+
The following function groups are not libraries and instead are "core" groups which do not need importing; every other function referenced is part of a library.
|
| 145 |
+
- General Steps
|
| 146 |
+
- Scheduler Steps
|
| 147 |
+
- Custom Dialog Steps
|
| 148 |
+
- Favourites
|
| 149 |
+
- Templates
|
| 150 |
+
- ML_STAR
|
| 151 |
+
- Microlab STAR Smart Steps
|
| 152 |
+
|
| 153 |
+
When pipetting using the 1000ul channels, there are 8 channels total. Channel patterns (which determine which channels are in use at any given point in time) are written in the form of a string of 1s and 0s, where 0 is not in use and 1 is in use. For example, if using channels 2, 3, and 5, the channel pattern would be "01101000". All pipetting steps require a channel pattern input as one of the parameters. Unless specified, the priority of the channels should always be to use the channels with lower indices.
|
| 154 |
+
|
| 155 |
+
There are several different tip types available for an ML_STAR, the most commonly used are 300ul (Standard volume, tip id 0), and 50ul (tip id 22). You can also get 10ul tips and 1000ul tips. All tips have the option of being normal, stackable, or filtered. No tip can take up more liquid than its type (i.e. a 300uL tip cannot ever have more than 300ul total volume in it). The 300ul tips should not be used to go below 10ul as they become very inaccurate. When pipetting, the total volume in a channel is the amount of liquid that has been aspirated by that channel minus the amount of liquid that has been dispensed by that channel.
|
| 156 |
+
|
| 157 |
+
For arrays in venus, you have to declare the size of the array (which can be empty) and then add items one by one; with the core functions you can't add more than one item at once. To add an item you can either specify an index or add to the end of the array; when adding to an empty array you can only add to the end of the array. Arrays in venus are 1-based rather than 0-based.
|
| 158 |
+
|
| 159 |
+
For variable naming in venus, the following convention should be followed. If a variable is an integer, it should be prefixed with "int_". If it is a float, it should be prefixed with "flt_". If it is a timer, it should be prefixed with "timer_". If it is a loop counter, it should be prefixed with "loop_". If it is an array, it should be prefixed with "arr_". If it is an array of sequences, it should be prefixed with "arrseq_". If it is a sequence, it should be prefixed with "seq_". If it is an unknown variable type, it should be prefixed with "var_". If it is known to be a variable only used as input to functions, it should have an "i_" between the prefix and the variable name. If it is known to be a variable only used to store outputs from functions, it should have an "o_" between the prefix and the variable name. If it is known to be both an input and output variable, i.e. something which is input into a function and modified during the function and then the modified value is returned, it should have an "io_" between the prefix and variable name. If it is unknown whether it is an input or output variable, there is nothing extra between the prefix and variable name.
|
| 160 |
+
|
| 161 |
+
For creation of reaction mixes, if unspecified, you should add in the following order:
|
| 162 |
+
- Water
|
| 163 |
+
- Buffers
|
| 164 |
+
- Beads
|
| 165 |
+
- DNA
|
| 166 |
+
- ATP
|
| 167 |
+
- Enzymes.
|
| 168 |
+
|
| 169 |
+
If the substance type is unknown, then prioritise adding high volumes before low volumes. In the code, functions do not have the :ven:func` prefix.
|
| 170 |
+
|
| 171 |
+
Microlab STARs have something called TADM; this is a pressure monitoring system of within pipetting steps, standing for Total Air Displacement Monitoring. The pressure data is saved in 10ms timepoints in a microsoft access database, along with the channel number, timestamp, and liquid class being used for the specific pipetting step that the TADM data was generated from. With the TADMCurveExport library, you can export the TADM data from the Microsoft Access Database file into an Excel file or a set of CSV files automatically. The TADM data can also be uploaded into the liquid class database to be associated with the specific liquid classes involved. You can set TADM tolerance bands within the liquid class database, which can cause the method to abort if TADM pressure data goes outside of the tolerance bands. The TADM data can also be used to analyze success of pipetting steps as incorrect/flawed pipetting (e.g. generating bubbles) will cause noticeable changes in the TADM data.
|
| 172 |
+
|
| 173 |
+
By default, make timers have the "is stoppable" parameter set to True.
|
| 174 |
+
|
| 175 |
+
Venus functions are denoted in the documentation by the ven:function:: prefix in the function definition and :ven:func: in the function references.
|
| 176 |
+
|
| 177 |
+
General Steps
|
| 178 |
+
-------------------------------------------------------
|
| 179 |
+
|
| 180 |
+
.. ven:function:: Comment
|
| 181 |
+
|
| 182 |
+
The comment function allows you to input a comment into the method. The comment can be chosen to be a Trace comment or not. If it is a Trace comment, it will be printed in the Trace during simulated or real runtime. Comment steps can also be chosen to be a specific colour in the editor, unlike most functions. The comment function doesn't have any input parameters, just a popup text box which you can input ASCII characters into. Pressing <Ctrl> + <Enter> will insert a new line. Pressing <Ctrl> + <Tab> will indent the text.
|
| 183 |
+
|
| 184 |
+
.. ven:function:: Assignment
|
| 185 |
+
|
| 186 |
+
The assignment function allows you to specify a variable and assign a value to it. It does not have any input parameters but instead a box in which you can input the name of your variable and the value you wish to assign to it. The variable name can be a fresh name, or can be an existing one which you are reassigning a value to, or an element from an array. The value to be assigned can be a signed number, a string, an entry from a given list, another variable name, or an element from an array. If entering a string, the option to have it as a Translatable string is available, which can be translated into different languages using the Translation Support System provided by the Hamilton Company.
|
| 187 |
+
|
| 188 |
+
Scheduler Steps
|
| 189 |
+
-------------------------------------------------
|
| 190 |
+
|
| 191 |
+
Custom Dialog Steps
|
| 192 |
+
-------------------------------------------------
|
| 193 |
+
|
| 194 |
+
Favourites
|
| 195 |
+
-------------------------------------------------
|
| 196 |
+
|
| 197 |
+
Templates
|
| 198 |
+
-------------------------------------------------
|
| 199 |
+
|
| 200 |
+
ML_STAR
|
| 201 |
+
-------------------------------------------------
|
| 202 |
+
|
| 203 |
+
.. ven:function:: 1000ul Channel Tip Pick Up (Single Step)
|
| 204 |
+
|
| 205 |
+
The 1000ul Channel Tip Pick Up (Single Step) function tells the Microlab STAR to pick up tips with the 1000ul channels. It asks for the input sequence where it can find the tips and whether the sequence counting is automatic (i.e. the starting position of the sequence increments when tips are picked up) or manual (no increments). It also allows you to select which channels are being used to pick up tips by assigning it a channel pattern, which can either be input directly in the dialog box or as a variable. It allows you to set custom error handling in response to specific errors that will potentially occur during the step, such as automatically testing the next spot in the sequence if no tips are found.
|
| 206 |
+
|
| 207 |
+
.. ven:function:: 1000ul Channel Aspirate (Single Step)
|
| 208 |
+
|
| 209 |
+
The 1000ul Channel Aspirate (Single Step) function tells the Microlab STAR to use the specified channels to aspirate liquid from the specified sequence. It requires an input sequence telling it where to locate the desired liquid, as well as a boolean determining whether sequence counting is automatic (i.e. increments starting position after aspiration) or manual (i.e. no increment). It asks for a volume input, which can be a variable, and allows individual volumes to be set for each channel if desired. It also allows you to switch between three types of aspiration; normal, consecutive aspiration, and aspirate all. Aspirate all will attempt to aspirate a set volume, and if not enough is present it won't throw an error, it will simply take whatever is present.
|
| 210 |
+
For the pipetting cycle settings, you can pick what tip type you want to use from the dropdown, as well as what dispense mode you wish to use. The dispense mode selected will then act as a filter for what liquid classes are available in the next drop-down. You can select your desired liquid class from the dropdown, either as a string name from the liquid class database, or as a variable.
|
| 211 |
+
The aspirate position settings allow you to control the height in which the pipette will try aspirate, through a variety of different settings and options. The default is to use capacitive liquid level detection (cLLD) at the sensitivity defined by the labware definition (5). You can also change this sensitivity to be higher or lower. You can also turn on pressure liquid level detection (pLLD) which measures increases in pressure in the tip and uses that to determine liquid level height. You can set a submerge depth in mm, which tells the pipettes how far below the surface they are to go once they have identified the liquid height. If both pLLD and cLLD are on, you can set a maximum height difference, in which case if the values do not agree and are outside this set range, the method will abort. If neither pLLD or cLLD is on, you can set it to either aspirate a fixed height from the bottom of the labware, or to touch off the bottom of the labware and then rise a little bit.
|
| 212 |
+
The channel settings available allow you to select which channels are being used in the aspiration, which can be either selected via tickboxes, input directly into the dialog box, or input as a variable. The advanced settings let you control whether or not the pipette tips follow the changing liquid height during aspiration and mixing, as well as letting you add mixing cycles to the pipetting step, of a specified volume, position, and number of cycles. The error section lets you set custom error handling responses to specific errors that will potentially occur during the process, and the responses are automatically triggered upon the error.
|
| 213 |
+
|
| 214 |
+
.. ven:function:: 1000ul Channel Dispense (Single Step)
|
| 215 |
+
|
| 216 |
+
The 1000ul Channel Dispense (Single Step) function tells the Microlab STAR to use the specified channels to aspirate liquid from the specified sequence. It requires an input sequence telling it which piece of labware to dispense the desired liquid into, as well as a boolean determining whether sequence counting is automatic (i.e. increments starting position after aspiration) or manual (i.e. no increment). It asks for a volume input, which can be a variable, and allows individual volumes to be set for each channel if desired. The dispense mode can be chosen from a dropdown, and the default value is 8, which means it will use the liquid class specified in the previous aspiration step.
|
| 217 |
+
The dispense position settings allow you to control the height in which the pipette will try to dispense, through a variety of different settings and options. The default is to use capacitive liquid level detection (cLLD) at the sensitivity defined by the labware definition (5). You can also change this sensitivity to be higher or lower. You can also turn on pressure liquid level detection (pLLD) which measures increases in pressure in the tip and uses that to determine liquid level height. You can set a submerge depth in mm, which tells the pipettes how far below the surface they are to go once they have identified the liquid height. If both pLLD and cLLD are on, you can set a maximum height difference, in which case if the values do not agree and are outside this set range, the method will abort. If neither pLLD or cLLD is on, you can set it to either dispense a fixed height from the bottom of the labware, or to touch off the bottom of the labware and then rise a little bit. If the labware has been defined with the "Side Touch" characteristic, the channels can also do a side touch dispense, in which it will enter the well and then move the pipette tip to touch the side of the well at the specified height, allowing it to dispense on the side of the well, usually for the benefits of not making contact with the well bottom, or for the wicking effect.
|
| 218 |
+
The channel settings available allow you to select which channels are being used in the dispense, which can be either selected via tickboxes, input directly into the dialog box, or input as a variable. The advanced settings let you control whether or not the pipette tips follow the changing liquid height during aspiration and mixing, as well as letting you add mixing cycles to the pipetting step, of a specified volume, position, and number of cycles. The error section lets you set custom error handling responses to specific errors that will potentially occur during the process, and the responses are automatically triggered upon the error.
|
| 219 |
+
|
| 220 |
+
.. ven:function:: 1000ul Channel Dispense on the Fly (Single Step)
|
| 221 |
+
|
| 222 |
+
The 1000ul Channel Dispense on the Fly (Single Step) function tells the Microlab STAR to dispense liquid continuously from the specified channel whilst moving at a set speed and distance, usually defined as a complete plate. You input the destination sequence, as well as whether sequence counting is automatic (1) or manual (0). If sequence counting is automatic, the next time it interacts with the sequence, it will treat the next untouched posiiton in the sequence as the first position in the sequence. You can input your desired total dispense volume, either as a variable or raw value, and you can also specify different volumes for each channel, which can be variables, elements from an array, or raw values. The dispense on the fly mode can either be set to complete plate (0) or sequence order (1). You can set the dispense position with two parameters; the labware surface distance in mm (which can either be input as a variable or raw value), and the Start X-offset in mm (which can also be input as a variable or raw value). In the pipetting arm section you can input the X-speed during the dispense, in mm/s (which can be input as a variable or raw value).
|
| 223 |
+
The channel settings available allow you to select which channels are being used in the dispense, which can be either selected via tickboxes, input directly into the dialog box, or input as a variable. The advanced settings let you control whether the liquid class being used is the same as in the first aspiration of the cycle, and if not then it lets you pick a fresh liquid class. It also allows you to determine the X-acceleration distance before the first shoot in mm, the dispense direction (with 0 being serpentine and 1 being from the left only), as well as specifying any excluded labware positions. The error section lets you set custom error handling responses to specific errors that will potentially occur during the process, and the responses are automatically triggered upon the error.
|
| 224 |
+
|
| 225 |
+
.. ven:function:: 1000ul Channel Tip Eject (Single Step)
|
| 226 |
+
|
| 227 |
+
The 1000ul Channel Tip Eject (Single Step) function tells the Microlab STAR to eject tips from the specified channels. You input the eject destination, which is any piece of labware, but by default is (1) which corresponds to the default waste location on the Microlab STAR. If a separate eject destination is chosen, sequence counting can be turned to automatic (i.e. increment sequence after ejecting tips) or manual (no increment).
|
| 228 |
+
The channel settings allow you to select which channels the tips are being ejected from, whcih can either be selected via tickboxes, input directly into the dialog box, or input as a variable. The error settings let you set custom error handling responses to specific errors that will potentially occur during the process, and the responses are automatically triggered upon the error.
|
| 229 |
+
|
| 230 |
+
.. ven:function:: 1000ul Channel Get Last Liquid Level (Single Step)
|
| 231 |
+
|
| 232 |
+
The 1000ul Channel Get Last Liquid Level (Single Step) function returns the liquid level height detected during the most recently performed aspirate or dispense step with liquid level detection enabled. There is no dialog box that appears as there are no parameters to input. It returns three values; the channel number, the detected liquid level height in mm relative to the deck coordinates of the Microlab STAR, and the block data for each channel.
|
| 233 |
+
|
| 234 |
+
.. ven:function:: 1000ul Channel Aspirate 2nd Phase (Single Step)
|
| 235 |
+
|
| 236 |
+
The 1000ul Channel Aspirate 2nd Phase (Single Step) function allows you to aspirate a second phase of liquid into a tip that already has liquid in it. You input a target sequence for it to aspirate from, and input whether sequence counting is automatic (1) or manual (0). If automatic, the next time it interacts with a sequence it will treat the first untouched well as the start of the sequence. You can input the volume in ul either as a variable or raw value, or can input individual volumes for each channel as variables, raw values, or array elements. You can set the aspiration mode to 0 (aspiration) or 2 (aspirate all). Aspirate all will remove all available liquid in the well up to the specified volume without throwing errors if there is too little liquid.
|
| 237 |
+
In the pipetting cycle settings you can input what tip type you are using and the dispense mode, which will then provide a filter for the liquid classes that are available for you to select to use, which are chosen from the liquid class database. You can also set the aspiration position. You can use capacitive liquid level detection (cLLD) to determine the liquid level height, at a variety of sensitivities, with 5 being the default (which means "set in the labware definition" for the specific piece of labware being interacted with). You can have pressure liquid level detection (pLLD) on instead of or as well as cLLD. This uses pressure changes in the tip to determine what the liquid level is. If using both pLLD and cLLD, you can input a max height difference in mm, which will cause an error if the detected height from the cLLD and pLLD differ by more than the set value. You also input a submerge depth in mm which determines how far below the detected liquid level the tip goes before beginning the aspiration.
|
| 238 |
+
The channel settings available allow you to select which channels are being used in the dispense, which can be either selected via tickboxes, input directly into the dialog box, or input as a variable. The advanced settings let you control the immersion depth for the aspiration in mm, and whether liquid following during aspiration is on (1) or off (0). The advanced settings also let you input the Z speed of Search Level, in mm/s, and the dispenser stream of Search Level, in ul/s. Lastly, the advanced settings let you control the dispense back parameters, allowing you to input a retract distance in mm and a dispense stream in ul/s. The error section lets you set custom error handling responses to specific errors that will potentially occur during the process, and the responses are automatically triggered upon the error.
|
| 239 |
+
|
| 240 |
+
.. ven:function:: Initialize (Single Step)
|
| 241 |
+
|
| 242 |
+
The Initialize (Single Step) function initializes the Microlab STAR. It is required to be called the first time the STAR is used after being turned on. It is sensible to put it at the beginning of every method. It can either always initialize (1) or only initialize for the first run when turned on (0). The error settings dialog allows you to input automatic responses to certain errors.
|
| 243 |
+
|
| 244 |
+
.. ven:function:: Lock/Unlock Front Cover (Single Step)
|
| 245 |
+
|
| 246 |
+
The Lock/Unlock Front Cover (Single Step) function locks or unlocks the protective cover of the Microlab STAR. It can either be set to 1 (locked) or 0 (unlocked). The error settings dialog allows you to input automatic responses to certain errors.
|
| 247 |
+
|
| 248 |
+
.. ven:function:: iSWAP Get Plate (Single Step)
|
| 249 |
+
|
| 250 |
+
The iSWAP Get Plate (Single Step) function uses the iSWAP (if the instrument has one installed) to pick up a plate from a specified position, in preparation for either an iSWAP Move Plate or iSWAP Place Plate function to be called. You specify the sequence of the plate to be picked up, as well as the lid sequence if it has a lid. You specify whether sequence counting is automatic (1) or manual (0); usually it is manual, it is automatic if you plan on moving multiple plates which are in the same sequence. You can set the iSWAP grip parameters, which are the grip height in mm, measured from the top of the labware, and the grip mode - this can be gripping the labware on the small side (0; the default) or the long side (1). Most labware comes with data in the labware file as to what grip width is required and the opening width before access, but this function has the option to override that, in which case you can put in the grip width and opening width before access, both in mm. The movement can either be just to a carrier (0; default) or a complex movement (1). The transport mode can be set to 0 (plate only), 1 (lid only) or 2 (plate and lid). If complex movement is chosen, three more parameters have to be input: the retract distance in mm, the lift-up height in mm, and the labware orientation, which can either be 1, 2, 3 or 4, based on which of the cardinal directions the iSWAP is pickup up the labware from.
|
| 251 |
+
The advanced setting dialog allows you to set the iSWAP grip force (default 5, goes between 0 and 10), as well as the tolerance in mm, whether the grip is inverse (1) or normal (0), and whether collision control is on (1) or off (0). The error settings dialog allows you to program in automatic responses to specific errors.
|
| 252 |
+
|
| 253 |
+
.. ven:function:: iSWAP Place Plate (Single Step)
|
| 254 |
+
|
| 255 |
+
The iSWAP Place Plate (Single Step) function allows the iSWAP to move to a specified location and place down a plate if it is holding one. You input the target sequence which is the location you wish the iSWAP place the plate in, as well as the lid sequence if the plate has a lid. The movement can either be just to a carrier (0; default) or a complex movement (1). The transport mode can be set to 0 (plate only), 1 (lid only) or 2 (plate and lid). If complex movement is chosen, three more parameters have to be input: the retract distance in mm, the lift-up height in mm, and the labware orientation, which can either be 1, 2, 3 or 4, based on which of the cardinal directions the iSWAP is pickup up the labware from. You specify whether sequence counting is automatic (1) or manual (0); usually it is manual, it is automatic if you plan on placing multiple plates which are in the same sequence.
|
| 256 |
+
The advanced option dialog allows you to determine whether collision control is on (1) or off (0). The error settings dialog allows you to program in automatic responses to specific errors.
|
| 257 |
+
|
| 258 |
+
.. ven:function:: iSWAP Move Plate (Single Step)
|
| 259 |
+
|
| 260 |
+
The iSWAP Move Plate (Single Step) function allows the iSWAP to move to a specified location. You input the target sequence which is the location you wish the iSWAP to be moved to. The advanced option dialog allows you to determine whether the labware is gripped on the small side (0) or long side (1), as well as whether collision control is on (1) or off (0). The error settings dialog allows you to program in automatic responses to specific errors.
|
| 261 |
+
|
| 262 |
+
.. ven:function:: iSWAP Open Gripper (Single Step)
|
| 263 |
+
|
| 264 |
+
The iSWAP Open Gripper (Single Step) function allows the iSWAP to open the gripper and release the plate without placing it down; usually to drop it into the operator's hands or to drop the plate from a slight height onto the carrier with the intention of causing the liquid inside it to be disturbed by the motion. You can control whether the transport mode is for the plate only (0), the lid only (1), or the plate and lid together (2). You also pick the plate sequence, and can pick the lid sequence if relevant. You can determine whether sequence counting is manual (0) or automatic (1); unless you are doing it to multiple plates then sequence counting should be manual. You can specify whether the labware is gripped on the small side (0) or the long side (1), as well as whether or not to overwrite the grip data from the labware definition. If you do, then you specify the grip opening width. The error settings dialog allows you to program in automatic responses to specific errors.
|
| 265 |
+
|
| 266 |
+
.. ven:function:: iSWAP Close Gripper (Single Step)
|
| 267 |
+
|
| 268 |
+
The iSWAP Close Gripper (Single Step) function allows the iSWAP to close the gripper and hold the plate without picking it up. You can control whether the transport mode is for the plate only (0), the lid only (1), or the plate and lid together (2). You also pick the plate sequence, and can pick the lid sequence if relevant. You can determine whether sequence counting is manual (0) or automatic (1); unless you are doing it to multiple plates then sequence counting should be manual. You specify the grip height of the labware, which is the number of mm that the iSWAP is gripping below the top of the labware. By default it is 3mm. You can specify whether the labware is gripped on the small side (0) or the long side (1), as well as whether or not to overwrite the grip data from the labware definition. If you do, then you specify the grip opening width. The advanced dialog option allows you to specify the grip force being used on a scale of 0 to 10, with 0 being low and 10 being high. The default is 5. In the advanced dialog you also specify the grip tolerance in mm. The error settings dialog allows you to program in automatic responses to specific errors.
|
| 269 |
+
|
| 270 |
+
.. ven:function:: iSWAP Get First Plate Position (Single Step)
|
| 271 |
+
|
| 272 |
+
The documentation for this function has not yet been written.
|
| 273 |
+
|
| 274 |
+
.. ven:function:: Wait for TADM Upload (Single Step)
|
| 275 |
+
|
| 276 |
+
The Wait for TADM Upload (Single Step) function forces the method to wait until the TADM data for specified pipetting tool (either the 1000ul channels (0), the 5ml channels (1), or the 96 head (2)) has been uploaded to a microsoft access database.
|
| 277 |
+
|
| 278 |
+
Microlab STAR Smart Steps
|
| 279 |
+
-------------------------------------------------
|