[{"data":1,"prerenderedAt":2068},["ShallowReactive",2],{"navigation":3,"\u002Fliquid-handling-and-robots\u002Ftecan-freedom-evo\u002Fliquid-classes":909,"\u002Fliquid-handling-and-robots\u002Ftecan-freedom-evo\u002Fliquid-classes-surround":2065},[4,59,188,271,445,591,760,791],{"title":5,"type":6,"device":6,"path":7,"stem":8,"children":9,"page":41},"Get Started",null,"\u002Fget-started\u002F","01.get-started",[10,15,42,47,51,55],{"title":11,"path":12,"stem":13,"type":14,"device":6},"Welcome to UniteLabs","\u002Fget-started\u002Fwelcome\u002F","01.get-started\u002F00.welcome","landing",{"title":16,"type":6,"device":6,"path":17,"stem":18,"children":19,"page":41},"Setup","\u002Fget-started\u002Fsetup\u002F","01.get-started\u002F01.setup",[20,25,29,33,37],{"title":21,"path":22,"stem":23,"type":24,"device":6},"Get access","\u002Fget-started\u002Fsetup\u002Fget-access\u002F","01.get-started\u002F01.setup\u002F00.get-access","howto",{"title":26,"path":27,"stem":28,"type":24,"device":6},"GroundControl","\u002Fget-started\u002Fsetup\u002Fgroundcontrol\u002F","01.get-started\u002F01.setup\u002F10.groundcontrol",{"title":30,"path":31,"stem":32,"type":24,"device":6},"Connect to Platform","\u002Fget-started\u002Fsetup\u002Fconnect-to-platform\u002F","01.get-started\u002F01.setup\u002F20.connect-to-platform",{"title":34,"path":35,"stem":36,"type":24,"device":6},"Set up your development machine","\u002Fget-started\u002Fsetup\u002Fdeveloper-machine\u002F","01.get-started\u002F01.setup\u002F30.developer-machine",{"title":38,"path":39,"stem":40,"type":24,"device":6},"SDK installation","\u002Fget-started\u002Fsetup\u002Fsdk-installation\u002F","01.get-started\u002F01.setup\u002F40.sdk-installation",false,{"title":43,"path":44,"stem":45,"type":46,"device":6},"Control a device","\u002Fget-started\u002Fcontrol-a-device\u002F","01.get-started\u002F02.control-a-device","tutorial",{"title":48,"path":49,"stem":50,"type":46,"device":6},"Liquid handling as code","\u002Fget-started\u002Fliquid-handling-as-code\u002F","01.get-started\u002F03.liquid-handling-as-code",{"title":52,"path":53,"stem":54,"type":46,"device":6},"Automate your workflows","\u002Fget-started\u002Fautomate-your-workflows\u002F","01.get-started\u002F04.automate-your-workflows",{"title":56,"path":57,"stem":58,"type":6,"device":6},"Self-Paced Setup Guide","\u002Fget-started\u002Fself-onboarding\u002F","01.get-started\u002F90.self-onboarding",{"title":60,"type":6,"device":6,"path":61,"stem":62,"children":63,"page":41},"How-to","\u002Fhow-to\u002F","02.how-to",[64,118,163,180],{"title":65,"type":6,"device":6,"path":66,"stem":67,"children":68,"page":41},"Connectors and devices","\u002Fhow-to\u002Fintegrate\u002F","02.how-to\u002F02.integrate",[69,102],{"title":70,"type":6,"device":6,"path":71,"stem":72,"children":73,"page":41},"Connect a device","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device",[74,78,82,86,90,94,98],{"title":75,"path":76,"stem":77,"type":24,"device":6},"Connector Configuration","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002Fconnector-configuration\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device\u002F10.connector-configuration",{"title":79,"path":80,"stem":81,"type":24,"device":6},"With an executable","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002Fwith-an-executable\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device\u002F20.with-an-executable",{"title":83,"path":84,"stem":85,"type":24,"device":6},"From source","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002Ffrom-source\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device\u002F30.from-source",{"title":87,"path":88,"stem":89,"type":24,"device":6},"Build your own","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002Fbuild-yourself\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device\u002F40.build-yourself",{"title":91,"path":92,"stem":93,"type":24,"device":6},"Headless install","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002Fheadless-install\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device\u002F50.headless-install",{"title":95,"path":96,"stem":97,"type":24,"device":6},"Raspberry Pi","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002Fraspberry-pi\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device\u002F55.raspberry-pi",{"title":99,"path":100,"stem":101,"type":24,"device":6},"Multi-device Networking","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002Fmultiple-devices\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device\u002F60.multiple-devices",{"title":103,"type":6,"device":6,"path":104,"stem":105,"children":106,"page":41},"Use a device","\u002Fhow-to\u002Fintegrate\u002Fuse-a-device\u002F","02.how-to\u002F02.integrate\u002F30.use-a-device",[107,110,114],{"title":26,"path":108,"stem":109,"type":24,"device":6},"\u002Fhow-to\u002Fintegrate\u002Fuse-a-device\u002Fgroundcontrol\u002F","02.how-to\u002F02.integrate\u002F30.use-a-device\u002F10.groundcontrol",{"title":111,"path":112,"stem":113,"type":24,"device":6},"Platform","\u002Fhow-to\u002Fintegrate\u002Fuse-a-device\u002Fplatform\u002F","02.how-to\u002F02.integrate\u002F30.use-a-device\u002F20.platform",{"title":115,"path":116,"stem":117,"type":24,"device":6},"UniteLabs SDK & REST API","\u002Fhow-to\u002Fintegrate\u002Fuse-a-device\u002Fpython\u002F","02.how-to\u002F02.integrate\u002F30.use-a-device\u002F30.python",{"title":119,"type":6,"device":6,"path":120,"stem":121,"children":122,"page":41},"Workflows","\u002Fhow-to\u002Fautomate\u002F","02.how-to\u002F07.automate",[123,127,131,135,139,143,147,151,155,159],{"title":124,"path":125,"stem":126,"type":24,"device":6},"Deploy a workflow","\u002Fhow-to\u002Fautomate\u002Fdeploy-a-workflow\u002F","02.how-to\u002F07.automate\u002F30.deploy-a-workflow",{"title":128,"path":129,"stem":130,"type":24,"device":6},"Run a workflow","\u002Fhow-to\u002Fautomate\u002Frun-a-workflow\u002F","02.how-to\u002F07.automate\u002F35.run-a-workflow",{"title":132,"path":133,"stem":134,"type":24,"device":6},"CI\u002FCD for workflows","\u002Fhow-to\u002Fautomate\u002Fcicd-for-workflows\u002F","02.how-to\u002F07.automate\u002F40.cicd-for-workflows",{"title":136,"path":137,"stem":138,"type":24,"device":6},"HITL basics","\u002Fhow-to\u002Fautomate\u002Fbasic-hitl\u002F","02.how-to\u002F07.automate\u002F50.basic-hitl",{"title":140,"path":141,"stem":142,"type":24,"device":6},"Slack notifications and operator confirmation","\u002Fhow-to\u002Fautomate\u002Fslack-notifications\u002F","02.how-to\u002F07.automate\u002F52.slack-notifications",{"title":144,"path":145,"stem":146,"type":24,"device":6},"Typed operator inputs","\u002Fhow-to\u002Fautomate\u002Ftyped-operator-inputs\u002F","02.how-to\u002F07.automate\u002F55.typed-operator-inputs",{"title":148,"path":149,"stem":150,"type":24,"device":6},"Pause and resume a run","\u002Fhow-to\u002Fautomate\u002Fpause-and-resume\u002F","02.how-to\u002F07.automate\u002F57.pause-and-resume",{"title":152,"path":153,"stem":154,"type":24,"device":6},"Error recovery","\u002Fhow-to\u002Fautomate\u002Fbasic-error-handling\u002F","02.how-to\u002F07.automate\u002F60.basic-error-handling",{"title":156,"path":157,"stem":158,"type":24,"device":6},"Advanced error handling","\u002Fhow-to\u002Fautomate\u002Fadvanced-error-handling\u002F","02.how-to\u002F07.automate\u002F70.advanced-error-handling",{"title":160,"path":161,"stem":162,"type":24,"device":6},"Emit lineage events","\u002Fhow-to\u002Fautomate\u002Femitting-lineage-events\u002F","02.how-to\u002F07.automate\u002F90.emitting-lineage-events",{"title":164,"type":6,"device":6,"path":165,"stem":166,"children":167,"page":41},"Data","\u002Fhow-to\u002Fobserve\u002F","02.how-to\u002F08.observe",[168,172,176],{"title":169,"path":170,"stem":171,"type":24,"device":6},"File System Connector","\u002Fhow-to\u002Fobserve\u002Ffilesystem-connector\u002F","02.how-to\u002F08.observe\u002F10.filesystem-connector",{"title":173,"path":174,"stem":175,"type":24,"device":6},"Building an ETL","\u002Fhow-to\u002Fobserve\u002Fbuilding-an-etl\u002F","02.how-to\u002F08.observe\u002F20.building-an-etl",{"title":177,"path":178,"stem":179,"type":24,"device":6},"Read lineage events","\u002Fhow-to\u002Fobserve\u002Freading-lineage-events\u002F","02.how-to\u002F08.observe\u002F30.reading-lineage-events",{"title":111,"type":6,"device":6,"path":181,"stem":182,"children":183,"page":41},"\u002Fhow-to\u002Fplatform\u002F","02.how-to\u002F09.platform",[184],{"title":185,"path":186,"stem":187,"type":24,"device":6},"UniteLabs Desktop","\u002Fhow-to\u002Fplatform\u002Funitelabs-desktop\u002F","02.how-to\u002F09.platform\u002F10.unitelabs-desktop",{"title":189,"type":6,"device":6,"path":190,"stem":191,"children":192},"Technical Reference","\u002Ftechnical-reference\u002F","03.technical-reference",[193,196,201,213,226,235,244,253,262],{"title":194,"path":190,"stem":195,"type":14,"device":6},"Overview","03.technical-reference\u002Findex",{"title":197,"path":198,"stem":199,"type":200,"device":6},"REST API","\u002Ftechnical-reference\u002Frest-api\u002F","03.technical-reference\u002F01.rest-api","reference",{"title":119,"type":6,"device":6,"path":202,"stem":203,"children":204,"page":41},"\u002Ftechnical-reference\u002Fautomate\u002F","03.technical-reference\u002F07.automate",[205,209],{"title":206,"path":207,"stem":208,"type":200,"device":6},"Workflow template","\u002Ftechnical-reference\u002Fautomate\u002Fworkflow-template\u002F","03.technical-reference\u002F07.automate\u002F05.workflow-template",{"title":210,"path":211,"stem":212,"type":200,"device":6},"Workflows REST API","\u002Ftechnical-reference\u002Fautomate\u002Fworkflows-api\u002F","03.technical-reference\u002F07.automate\u002F80.workflows-api",{"title":26,"type":6,"device":6,"path":214,"stem":215,"children":216},"\u002Ftechnical-reference\u002Fgroundcontrol\u002F","03.technical-reference\u002F10.groundcontrol\u002Findex",[217,218,222],{"title":194,"path":214,"stem":215,"type":14,"device":6},{"title":219,"path":220,"stem":221,"type":200,"device":6},"Network requirements","\u002Ftechnical-reference\u002Fgroundcontrol\u002Fnetwork-requirements\u002F","03.technical-reference\u002F10.groundcontrol\u002F10.network-requirements",{"title":223,"path":224,"stem":225,"type":200,"device":6},"Changelog","\u002Ftechnical-reference\u002Fgroundcontrol\u002Fchangelog\u002F","03.technical-reference\u002F10.groundcontrol\u002F20.changelog",{"title":227,"type":6,"device":6,"path":228,"stem":229,"children":230},"UniteLabs SDK","\u002Ftechnical-reference\u002Fpython-sdk\u002F","03.technical-reference\u002F20.python-sdk\u002Findex",[231,232],{"title":194,"path":228,"stem":229,"type":14,"device":6},{"title":223,"path":233,"stem":234,"type":200,"device":6},"\u002Ftechnical-reference\u002Fpython-sdk\u002Fchangelog\u002F","03.technical-reference\u002F20.python-sdk\u002F20.changelog",{"title":236,"type":6,"device":6,"path":237,"stem":238,"children":239},"Liquid Handling SDK","\u002Ftechnical-reference\u002Fpython-liquid-handling-sdk\u002F","03.technical-reference\u002F30.python-liquid-handling-sdk\u002Findex",[240,241],{"title":194,"path":237,"stem":238,"type":14,"device":6},{"title":223,"path":242,"stem":243,"type":200,"device":6},"\u002Ftechnical-reference\u002Fpython-liquid-handling-sdk\u002Fchangelog\u002F","03.technical-reference\u002F30.python-liquid-handling-sdk\u002F20.changelog",{"title":245,"type":6,"device":6,"path":246,"stem":247,"children":248},"Labware","\u002Ftechnical-reference\u002Flabware\u002F","03.technical-reference\u002F40.labware\u002Findex",[249,250],{"title":194,"path":246,"stem":247,"type":14,"device":6},{"title":223,"path":251,"stem":252,"type":200,"device":6},"\u002Ftechnical-reference\u002Flabware\u002Fchangelog\u002F","03.technical-reference\u002F40.labware\u002F20.changelog",{"title":254,"type":6,"device":6,"path":255,"stem":256,"children":257},"Python Omnibus","\u002Ftechnical-reference\u002Fpython-omnibus\u002F","03.technical-reference\u002F50.python-omnibus\u002Findex",[258,259],{"title":194,"path":255,"stem":256,"type":14,"device":6},{"title":223,"path":260,"stem":261,"type":200,"device":6},"\u002Ftechnical-reference\u002Fpython-omnibus\u002Fchangelog\u002F","03.technical-reference\u002F50.python-omnibus\u002F20.changelog",{"title":263,"type":6,"device":6,"path":264,"stem":265,"children":266},"Python CDK","\u002Ftechnical-reference\u002Fpython-cdk\u002F","03.technical-reference\u002F60.python-cdk\u002Findex",[267,268],{"title":194,"path":264,"stem":265,"type":14,"device":6},{"title":223,"path":269,"stem":270,"type":200,"device":6},"\u002Ftechnical-reference\u002Fpython-cdk\u002Fchangelog\u002F","03.technical-reference\u002F60.python-cdk\u002F20.changelog",{"title":272,"type":6,"device":6,"path":273,"stem":274,"children":275,"page":41},"Concepts","\u002Fconcepts\u002F","04.concepts",[276,315,339,383,422],{"title":277,"type":6,"device":6,"path":278,"stem":279,"children":280,"page":41},"Labs as code","\u002Fconcepts\u002Flabs-as-code\u002F","04.concepts\u002F01.labs-as-code",[281,286,290],{"title":282,"path":283,"stem":284,"type":285,"device":6},"Lab as Code","\u002Fconcepts\u002Flabs-as-code\u002Fwhy-code\u002F","04.concepts\u002F01.labs-as-code\u002F00.why-code","explanation",{"title":287,"path":288,"stem":289,"type":285,"device":6},"How it works","\u002Fconcepts\u002Flabs-as-code\u002Fhow-it-works\u002F","04.concepts\u002F01.labs-as-code\u002F01.how-it-works",{"title":291,"type":6,"device":6,"path":292,"stem":293,"children":294,"page":41},"Use Cases","\u002Fconcepts\u002Flabs-as-code\u002Fuse-cases\u002F","04.concepts\u002F01.labs-as-code\u002F02.use-cases",[295,299,303,307,311],{"title":296,"path":297,"stem":298,"type":285,"device":6},"Instrument Control","\u002Fconcepts\u002Flabs-as-code\u002Fuse-cases\u002Flow-level-instrument-control\u002F","04.concepts\u002F01.labs-as-code\u002F02.use-cases\u002F10.low-level-instrument-control",{"title":300,"path":301,"stem":302,"type":285,"device":6},"Multi-device Control","\u002Fconcepts\u002Flabs-as-code\u002Fuse-cases\u002Fmulti-device-control\u002F","04.concepts\u002F01.labs-as-code\u002F02.use-cases\u002F20.multi-device-control",{"title":304,"path":305,"stem":306,"type":285,"device":6},"Workflow Orchestration","\u002Fconcepts\u002Flabs-as-code\u002Fuse-cases\u002Fworkflow-orchestration\u002F","04.concepts\u002F01.labs-as-code\u002F02.use-cases\u002F30.workflow-orchestration",{"title":308,"path":309,"stem":310,"type":285,"device":6},"Custom Apps and LIMS Integration","\u002Fconcepts\u002Flabs-as-code\u002Fuse-cases\u002Fcustom-apps-lims\u002F","04.concepts\u002F01.labs-as-code\u002F02.use-cases\u002F40.custom-apps-lims",{"title":312,"path":313,"stem":314,"type":285,"device":6},"Scale and Fleet Management","\u002Fconcepts\u002Flabs-as-code\u002Fuse-cases\u002Fscale-and-fleet\u002F","04.concepts\u002F01.labs-as-code\u002F02.use-cases\u002F50.scale-and-fleet",{"title":65,"type":6,"device":6,"path":316,"stem":317,"children":318,"page":41},"\u002Fconcepts\u002Fintegrate\u002F","04.concepts\u002F02.integrate",[319,323,327,331,335],{"title":320,"path":321,"stem":322,"type":285,"device":6},"Device","\u002Fconcepts\u002Fintegrate\u002Fdevice\u002F","04.concepts\u002F02.integrate\u002F05.device",{"title":324,"path":325,"stem":326,"type":285,"device":6},"Connector","\u002Fconcepts\u002Fintegrate\u002Fconnector\u002F","04.concepts\u002F02.integrate\u002F10.connector",{"title":328,"path":329,"stem":330,"type":285,"device":6},"Module","\u002Fconcepts\u002Fintegrate\u002Fmodule\u002F","04.concepts\u002F02.integrate\u002F20.module",{"title":332,"path":333,"stem":334,"type":285,"device":6},"Action","\u002Fconcepts\u002Fintegrate\u002Faction\u002F","04.concepts\u002F02.integrate\u002F30.action",{"title":336,"path":337,"stem":338,"type":285,"device":6},"Subscription","\u002Fconcepts\u002Fintegrate\u002Fsubscription\u002F","04.concepts\u002F02.integrate\u002F40.subscription",{"title":340,"type":6,"device":6,"path":341,"stem":342,"children":343,"page":41},"Liquid handling and robots","\u002Fconcepts\u002Foperate\u002F","04.concepts\u002F03.operate",[344,348,352,356,359,363,367,371,375,379],{"title":345,"path":346,"stem":347,"type":285,"device":6},"Liquid Handling","\u002Fconcepts\u002Foperate\u002Fliquid-handling\u002F","04.concepts\u002F03.operate\u002F10.liquid-handling",{"title":349,"path":350,"stem":351,"type":285,"device":6},"Modules","\u002Fconcepts\u002Foperate\u002Fmodules\u002F","04.concepts\u002F03.operate\u002F20.modules",{"title":353,"path":354,"stem":355,"type":285,"device":6},"Deck","\u002Fconcepts\u002Foperate\u002Fdeck\u002F","04.concepts\u002F03.operate\u002F30.deck",{"title":245,"path":357,"stem":358,"type":285,"device":6},"\u002Fconcepts\u002Foperate\u002Flabware\u002F","04.concepts\u002F03.operate\u002F40.labware",{"title":360,"path":361,"stem":362,"type":285,"device":6},"Liquids","\u002Fconcepts\u002Foperate\u002Fliquids\u002F","04.concepts\u002F03.operate\u002F50.liquids",{"title":364,"path":365,"stem":366,"type":285,"device":6},"Liquid Classes","\u002Fconcepts\u002Foperate\u002Fliquid-classes\u002F","04.concepts\u002F03.operate\u002F60.liquid-classes",{"title":368,"path":369,"stem":370,"type":285,"device":6},"Parameter Sets","\u002Fconcepts\u002Foperate\u002Fparameter-sets\u002F","04.concepts\u002F03.operate\u002F65.parameter-sets",{"title":372,"path":373,"stem":374,"type":285,"device":6},"Tips and Tip Tracking","\u002Fconcepts\u002Foperate\u002Ftips\u002F","04.concepts\u002F03.operate\u002F70.tips",{"title":376,"path":377,"stem":378,"type":285,"device":6},"Simulation","\u002Fconcepts\u002Foperate\u002Fsimulation\u002F","04.concepts\u002F03.operate\u002F80.simulation",{"title":380,"path":381,"stem":382,"type":285,"device":6},"Error Handling","\u002Fconcepts\u002Foperate\u002Ferror-handling\u002F","04.concepts\u002F03.operate\u002F90.error-handling",{"title":119,"type":6,"device":6,"path":384,"stem":385,"children":386,"page":41},"\u002Fconcepts\u002Fautomate\u002F","04.concepts\u002F07.automate",[387,391,395,399,403,407,411,415,419],{"title":388,"path":389,"stem":390,"type":285,"device":6},"Workflow","\u002Fconcepts\u002Fautomate\u002Fworkflow\u002F","04.concepts\u002F07.automate\u002F10.workflow",{"title":392,"path":393,"stem":394,"type":285,"device":6},"Phase","\u002Fconcepts\u002Fautomate\u002Fphase\u002F","04.concepts\u002F07.automate\u002F20.phase",{"title":396,"path":397,"stem":398,"type":285,"device":6},"Step","\u002Fconcepts\u002Fautomate\u002Fstep\u002F","04.concepts\u002F07.automate\u002F30.step",{"title":400,"path":401,"stem":402,"type":285,"device":6},"Runs","\u002Fconcepts\u002Fautomate\u002Fruns\u002F","04.concepts\u002F07.automate\u002F40.runs",{"title":404,"path":405,"stem":406,"type":285,"device":6},"Input","\u002Fconcepts\u002Fautomate\u002Finput\u002F","04.concepts\u002F07.automate\u002F50.input",{"title":408,"path":409,"stem":410,"type":285,"device":6},"Artifacts","\u002Fconcepts\u002Fautomate\u002Fartifacts\u002F","04.concepts\u002F07.automate\u002F60.artifacts",{"title":412,"path":413,"stem":414,"type":285,"device":6},"Logs","\u002Fconcepts\u002Fautomate\u002Flogs\u002F","04.concepts\u002F07.automate\u002F70.logs",{"title":416,"path":417,"stem":418,"type":285,"device":6},"Human in the Loop","\u002Fconcepts\u002Fautomate\u002Fhuman-in-the-loop\u002F","04.concepts\u002F07.automate\u002F80.human-in-the-loop",{"title":380,"path":420,"stem":421,"type":285,"device":6},"\u002Fconcepts\u002Fautomate\u002Ferror-handling\u002F","04.concepts\u002F07.automate\u002F90.error-handling",{"title":164,"type":6,"device":6,"path":423,"stem":424,"children":425,"page":41},"\u002Fconcepts\u002Fobserve\u002F","04.concepts\u002F08.observe",[426,429,433,437,441],{"title":194,"path":427,"stem":428,"type":14,"device":6},"\u002Fconcepts\u002Fobserve\u002Foverview\u002F","04.concepts\u002F08.observe\u002F10.overview",{"title":430,"path":431,"stem":432,"type":285,"device":6},"Object Storage","\u002Fconcepts\u002Fobserve\u002Fstorage\u002F","04.concepts\u002F08.observe\u002F10.storage",{"title":434,"path":435,"stem":436,"type":285,"device":6},"Secrets","\u002Fconcepts\u002Fobserve\u002Fsecrets\u002F","04.concepts\u002F08.observe\u002F20.secrets",{"title":438,"path":439,"stem":440,"type":285,"device":6},"Data sources","\u002Fconcepts\u002Fobserve\u002Fdata-sources\u002F","04.concepts\u002F08.observe\u002F30.data-sources",{"title":442,"path":443,"stem":444,"type":285,"device":6},"Data lineage","\u002Fconcepts\u002Fobserve\u002Fdata-lineage\u002F","04.concepts\u002F08.observe\u002F40.data-lineage",{"title":446,"type":6,"device":6,"path":447,"stem":448,"children":449,"page":41},"Devices","\u002Fdevices\u002F","05.devices",[450,453,501,514,530,567],{"title":194,"path":451,"stem":452,"type":14,"device":6},"\u002Fdevices\u002Foverview\u002F","05.devices\u002F00.overview",{"title":454,"path":455,"page":41,"children":456},"Heater-shakers","\u002Fdevices\u002Fheater-shakers\u002F",[457,478,488],{"title":458,"path":459,"stem":460,"type":200,"device":461},"QInstruments BioShake","\u002Fdevices\u002Fqinstruments-bioshake\u002F","05.devices\u002F10.qinstruments-bioshake",{"slug":462,"vendor":463,"category":464,"connector":462,"package":465,"models":466,"communication":473,"vendor_software":6,"os":474},"qinstruments-bioshake","QInstruments","Plate Shakers & Temperature Control","unitelabs-qinstruments-bioshake",[467,468,469,470,471,472],"BioShake 3000 \u002F 3000 elm \u002F 3000 elm DWP","BioShake 3000-T \u002F 3000-T elm","BioShake 5000 elm","BioShake D30 \u002F D30 elm \u002F D30-T \u002F D30-T elm","BioShake Q1 \u002F Q1 (1.2 mm) \u002F Q1 (3.0 mm) \u002F Q2","HeatPlate","serial (RS-232 over USB)",[475,476,477],"windows","linux","macos",{"title":479,"path":480,"stem":481,"type":200,"device":482},"QInstruments ColdPlate","\u002Fdevices\u002Fqinstruments-coldplate\u002F","05.devices\u002F20.qinstruments-coldplate",{"slug":483,"vendor":463,"category":464,"connector":462,"package":465,"models":484,"communication":473,"vendor_software":6,"os":487},"qinstruments-coldplate",[485,486],"ColdPlate","ColdPlate slim",[475,476,477],{"title":489,"path":490,"stem":491,"type":200,"device":492},"Inheco Thermoshake","\u002Fdevices\u002Finheco-thermoshake\u002F","05.devices\u002F30.inheco-thermoshake",{"slug":493,"vendor":494,"category":464,"connector":495,"models":496},"inheco-thermoshake","Inheco","inheco-tec-controller",[497,498,499,500],"Thermoshake AC","Thermoshake AC LC","Thermoshake Classic","Thermoshake RM",{"title":502,"path":503,"page":41,"children":504},"Incubation","\u002Fdevices\u002Fincubation\u002F",[505],{"title":506,"path":507,"stem":508,"type":200,"device":509},"Inheco SCILA","\u002Fdevices\u002Finheco-scila\u002F","05.devices\u002F40.inheco-scila",{"slug":510,"vendor":494,"category":502,"connector":510,"models":511},"inheco-scila",[512,513],"SCILA","SCILA MIX 2-gas mixing device",{"title":515,"path":516,"page":41,"children":517},"Thermal cyclers","\u002Fdevices\u002Fthermal-cyclers\u002F",[518],{"title":519,"path":520,"stem":521,"type":200,"device":522},"Inheco ODTC","\u002Fdevices\u002Finheco-odtc\u002F","05.devices\u002F50.inheco-odtc",{"slug":523,"vendor":494,"category":524,"connector":523,"models":525},"inheco-odtc","Thermal Cycler",[526,527,528,529],"ODTC 96","ODTC 96XL","ODTC 384","ODTC 384XL",{"title":531,"path":532,"page":41,"children":533},"Readers","\u002Fdevices\u002Freaders\u002F",[534,543,552],{"title":535,"path":536,"stem":537,"type":200,"device":538},"Agilent Biotek Gen5","\u002Fdevices\u002Fbiotek-gen5\u002F","05.devices\u002F60.biotek-gen5",{"slug":539,"vendor":540,"category":541,"connector":542},"biotek-gen5","Agilent","Readers & Imagers","gen5",{"title":544,"path":545,"stem":546,"type":200,"device":547},"Biotek Synergy H1","\u002Fdevices\u002Fbiotek-synergy-h1\u002F","05.devices\u002F70.biotek-synergy-h1",{"slug":548,"vendor":540,"category":541,"connector":549,"models":550},"biotek-synergy-h1","agilent-synergy-h1",[551],"BioTek Synergy H1",{"title":553,"path":554,"stem":555,"type":200,"device":556},"Tecan Infinite 200","\u002Fdevices\u002Ftecan-infinite-200\u002F","05.devices\u002F75.tecan-infinite-200",{"slug":557,"vendor":558,"category":541,"connector":557,"package":559,"models":560,"communication":564,"vendor_software":565,"os":566},"tecan-infinite-200","Tecan","unitelabs-tecan-infinite-200",[561,562,563],"Infinite F200","Infinite M200","Infinite M200 Pro","USB","i-control on Windows only, for its USB driver",[475,476,477],{"title":568,"path":569,"page":41,"children":570},"Tilt & turn","\u002Fdevices\u002Ftilt-and-turn\u002F",[571,581],{"title":572,"path":573,"stem":574,"type":200,"device":575},"QInstruments TiltStation","\u002Fdevices\u002Fqinstruments-tiltstation\u002F","05.devices\u002F80.qinstruments-tiltstation",{"slug":576,"vendor":463,"category":577,"connector":462,"package":465,"models":578,"communication":473,"vendor_software":6,"os":580},"qinstruments-tiltstation","Plate Tilting",[579],"TiltStation",[475,476,477],{"title":582,"path":583,"stem":584,"type":200,"device":585},"QInstruments TurnStation","\u002Fdevices\u002Fqinstruments-turnstation\u002F","05.devices\u002F90.qinstruments-turnstation",{"slug":586,"vendor":463,"category":587,"connector":462,"package":465,"models":588,"communication":473,"vendor_software":6,"os":590},"qinstruments-turnstation","Plate Rotating",[589],"TurnStation",[475,476,477],{"title":592,"type":6,"device":6,"path":593,"stem":594,"children":595,"page":41},"Liquid Handling and Robots","\u002Fliquid-handling-and-robots\u002F","06.liquid-handling-and-robots",[596,599,611,635,638,679,704,721,738],{"title":194,"path":597,"stem":598,"type":14,"device":6},"\u002Fliquid-handling-and-robots\u002Foverview\u002F","06.liquid-handling-and-robots\u002F00.overview",{"title":353,"type":6,"device":6,"path":600,"stem":601,"children":602,"page":41},"\u002Fliquid-handling-and-robots\u002Fdeck\u002F","06.liquid-handling-and-robots\u002F10.deck",[603,607],{"title":604,"path":605,"stem":606,"type":24,"device":6},"Building a Deck","\u002Fliquid-handling-and-robots\u002Fdeck\u002Fbuilding-a-deck\u002F","06.liquid-handling-and-robots\u002F10.deck\u002F10.building-a-deck",{"title":608,"path":609,"stem":610,"type":24,"device":6},"Save\u002FLoad a Deck","\u002Fliquid-handling-and-robots\u002Fdeck\u002Fsave-load-deck\u002F","06.liquid-handling-and-robots\u002F10.deck\u002F20.save-load-deck",{"title":612,"type":6,"device":6,"path":613,"stem":614,"children":615,"page":41},"Pipetting","\u002Fliquid-handling-and-robots\u002Fpipetting\u002F","06.liquid-handling-and-robots\u002F20.pipetting",[616,620,624,628,631],{"title":617,"path":618,"stem":619,"type":24,"device":6},"Basic Pipetting","\u002Fliquid-handling-and-robots\u002Fpipetting\u002Fbasic-pipetting\u002F","06.liquid-handling-and-robots\u002F20.pipetting\u002F10.basic-pipetting",{"title":621,"path":622,"stem":623,"type":24,"device":6},"Advanced Pipetting","\u002Fliquid-handling-and-robots\u002Fpipetting\u002Fadvanced-pipetting\u002F","06.liquid-handling-and-robots\u002F20.pipetting\u002F20.advanced-pipetting",{"title":625,"path":626,"stem":627,"type":24,"device":6},"Tip Handling","\u002Fliquid-handling-and-robots\u002Fpipetting\u002Ftip-handling\u002F","06.liquid-handling-and-robots\u002F20.pipetting\u002F30.tip-handling",{"title":364,"path":629,"stem":630,"type":24,"device":6},"\u002Fliquid-handling-and-robots\u002Fpipetting\u002Fliquid-classes\u002F","06.liquid-handling-and-robots\u002F20.pipetting\u002F40.liquid-classes",{"title":632,"path":633,"stem":634,"type":24,"device":6},"Labware Transport","\u002Fliquid-handling-and-robots\u002Fpipetting\u002Flabware-transport\u002F","06.liquid-handling-and-robots\u002F20.pipetting\u002F50.labware-transport",{"title":376,"path":636,"stem":637,"type":24,"device":6},"\u002Fliquid-handling-and-robots\u002Fsimulation\u002F","06.liquid-handling-and-robots\u002F30.simulation",{"title":639,"type":6,"device":6,"path":640,"stem":641,"children":642,"page":41},"Hamilton STAR","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star",[643,647,651,655,659,663,667,671,675],{"title":644,"path":645,"stem":646,"type":24,"device":6},"Positioning & Movement","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fpositioning\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F10.positioning",{"title":648,"path":649,"stem":650,"type":24,"device":6},"Gripper Module","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fcore-gripper\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F20.core-gripper",{"title":652,"path":653,"stem":654,"type":24,"device":6},"iSWAP Module","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fiswap\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F30.iswap",{"title":656,"path":657,"stem":658,"type":24,"device":6},"Using TADM","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Ftadm\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F40.tadm",{"title":660,"path":661,"stem":662,"type":24,"device":6},"Autoload Module","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fautoload\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F50.autoload",{"title":664,"path":665,"stem":666,"type":24,"device":6},"Waste Block","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fwaste-block\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F60.waste-block",{"title":668,"path":669,"stem":670,"type":24,"device":6},"Complex Mixing","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fcomplex-mixing\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F66.complex-mixing",{"title":672,"path":673,"stem":674,"type":24,"device":6},"Teaching Gripper Paddle Positions","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fgripper-positions\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F70.gripper-positions",{"title":676,"path":677,"stem":678,"type":24,"device":6},"Training a Custom Deck Position With the iSWAP","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fcustom-deck-position\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F75.custom-deck-position",{"title":680,"type":6,"device":6,"path":681,"stem":682,"children":683,"page":41},"Hamilton Vantage","\u002Fliquid-handling-and-robots\u002Fhamilton-vantage\u002F","06.liquid-handling-and-robots\u002F42.hamilton-vantage",[684,688,692,696,700],{"title":685,"path":686,"stem":687,"type":24,"device":6},"Waste Configuration","\u002Fliquid-handling-and-robots\u002Fhamilton-vantage\u002Fwaste-configuration\u002F","06.liquid-handling-and-robots\u002F42.hamilton-vantage\u002F05.waste-configuration",{"title":689,"path":690,"stem":691,"type":24,"device":6},"Covers and Lights","\u002Fliquid-handling-and-robots\u002Fhamilton-vantage\u002Fcovers-and-lights\u002F","06.liquid-handling-and-robots\u002F42.hamilton-vantage\u002F10.covers-and-lights",{"title":693,"path":694,"stem":695,"type":24,"device":6},"IDL Module","\u002Fliquid-handling-and-robots\u002Fhamilton-vantage\u002Fidl\u002F","06.liquid-handling-and-robots\u002F42.hamilton-vantage\u002F20.idl",{"title":697,"path":698,"stem":699,"type":24,"device":6},"IPG Module","\u002Fliquid-handling-and-robots\u002Fhamilton-vantage\u002Fipg\u002F","06.liquid-handling-and-robots\u002F42.hamilton-vantage\u002F30.ipg",{"title":701,"path":702,"stem":703,"type":24,"device":6},"XL Pipettes","\u002Fliquid-handling-and-robots\u002Fhamilton-vantage\u002Fxl-channels\u002F","06.liquid-handling-and-robots\u002F42.hamilton-vantage\u002F40.xl-channels",{"title":705,"type":6,"device":6,"path":706,"stem":707,"children":708,"page":41},"Agilent Bravo","\u002Fliquid-handling-and-robots\u002Fagilent-bravo\u002F","06.liquid-handling-and-robots\u002F43.agilent-bravo",[709,712,715,718],{"title":625,"path":710,"stem":711,"type":24,"device":6},"\u002Fliquid-handling-and-robots\u002Fagilent-bravo\u002Ftip-handling\u002F","06.liquid-handling-and-robots\u002F43.agilent-bravo\u002F10.tip-handling",{"title":617,"path":713,"stem":714,"type":24,"device":6},"\u002Fliquid-handling-and-robots\u002Fagilent-bravo\u002Fbasic-pipetting\u002F","06.liquid-handling-and-robots\u002F43.agilent-bravo\u002F20.basic-pipetting",{"title":364,"path":716,"stem":717,"type":24,"device":6},"\u002Fliquid-handling-and-robots\u002Fagilent-bravo\u002Fliquid-classes\u002F","06.liquid-handling-and-robots\u002F43.agilent-bravo\u002F25.liquid-classes",{"title":648,"path":719,"stem":720,"type":24,"device":6},"\u002Fliquid-handling-and-robots\u002Fagilent-bravo\u002Fusing-the-gripper\u002F","06.liquid-handling-and-robots\u002F43.agilent-bravo\u002F30.using-the-gripper",{"title":722,"type":6,"device":6,"path":723,"stem":724,"children":725,"page":41},"Tecan FluentControl","\u002Fliquid-handling-and-robots\u002Ftecan-fluentcontrol\u002F","06.liquid-handling-and-robots\u002F44.tecan-fluentcontrol",[726,730,734],{"title":727,"path":728,"stem":729,"type":24,"device":6},"Connect & Run a Method","\u002Fliquid-handling-and-robots\u002Ftecan-fluentcontrol\u002Fconnect-and-run\u002F","06.liquid-handling-and-robots\u002F44.tecan-fluentcontrol\u002F10.connect-and-run",{"title":731,"path":732,"stem":733,"type":24,"device":6},"Sending XML Commands","\u002Fliquid-handling-and-robots\u002Ftecan-fluentcontrol\u002Fsending-xml-commands\u002F","06.liquid-handling-and-robots\u002F44.tecan-fluentcontrol\u002F20.sending-xml-commands",{"title":735,"path":736,"stem":737,"type":24,"device":6},"Full Workflow Example","\u002Fliquid-handling-and-robots\u002Ftecan-fluentcontrol\u002Ffull-workflow-example\u002F","06.liquid-handling-and-robots\u002F44.tecan-fluentcontrol\u002F30.full-workflow-example",{"title":739,"type":6,"device":6,"path":740,"stem":741,"children":742,"page":41},"Tecan Freedom EVO","\u002Fliquid-handling-and-robots\u002Ftecan-freedom-evo\u002F","06.liquid-handling-and-robots\u002F45.tecan-freedom-evo",[743,747,750,753,757],{"title":744,"path":745,"stem":746,"type":24,"device":6},"Deck & Carriers","\u002Fliquid-handling-and-robots\u002Ftecan-freedom-evo\u002Fdeck-and-carriers\u002F","06.liquid-handling-and-robots\u002F45.tecan-freedom-evo\u002F10.deck-and-carriers",{"title":625,"path":748,"stem":749,"type":24,"device":6},"\u002Fliquid-handling-and-robots\u002Ftecan-freedom-evo\u002Ftip-handling\u002F","06.liquid-handling-and-robots\u002F45.tecan-freedom-evo\u002F20.tip-handling",{"title":617,"path":751,"stem":752,"type":24,"device":6},"\u002Fliquid-handling-and-robots\u002Ftecan-freedom-evo\u002Fbasic-pipetting\u002F","06.liquid-handling-and-robots\u002F45.tecan-freedom-evo\u002F30.basic-pipetting",{"title":754,"path":755,"stem":756,"type":24,"device":6},"Using the Gripper (RoMa)","\u002Fliquid-handling-and-robots\u002Ftecan-freedom-evo\u002Fusing-the-gripper\u002F","06.liquid-handling-and-robots\u002F45.tecan-freedom-evo\u002F40.using-the-gripper",{"title":364,"path":758,"stem":759,"type":24,"device":6},"\u002Fliquid-handling-and-robots\u002Ftecan-freedom-evo\u002Fliquid-classes\u002F","06.liquid-handling-and-robots\u002F45.tecan-freedom-evo\u002F50.liquid-classes",{"title":245,"type":6,"device":6,"path":761,"stem":762,"children":763,"page":41},"\u002Flabware\u002F","07.labware",[764,767,771,775,779,783,787],{"title":194,"path":765,"stem":766,"type":14,"device":6},"\u002Flabware\u002Foverview\u002F","07.labware\u002F00.overview",{"title":768,"path":769,"stem":770,"type":200,"device":6},"Standard Labware","\u002Flabware\u002Fstandard-labware\u002F","07.labware\u002F10.standard-labware",{"title":772,"path":773,"stem":774,"type":200,"device":6},"Plates","\u002Flabware\u002Fplates\u002F","07.labware\u002F20.plates",{"title":776,"path":777,"stem":778,"type":200,"device":6},"Tips and Tip Racks","\u002Flabware\u002Ftips-and-racks\u002F","07.labware\u002F30.tips-and-racks",{"title":780,"path":781,"stem":782,"type":200,"device":6},"Tubes and Tube Racks","\u002Flabware\u002Ftubes-and-tube-racks\u002F","07.labware\u002F40.tubes-and-tube-racks",{"title":784,"path":785,"stem":786,"type":200,"device":6},"Troughs","\u002Flabware\u002Ftroughs\u002F","07.labware\u002F50.troughs",{"title":788,"path":789,"stem":790,"type":200,"device":6},"Carriers and Adapters","\u002Flabware\u002Fcarriers-and-adapters\u002F","07.labware\u002F60.carriers-and-adapters",{"title":792,"type":6,"device":6,"path":793,"stem":794,"children":795},"Connector Development (CDK)","\u002Fconnector-development\u002F","20.connector-development",[796,798,822,855,863,903],{"title":194,"path":793,"stem":797,"type":14,"device":6},"20.connector-development\u002Findex",{"title":799,"path":800,"stem":801,"children":802,"page":41},"Getting Started","\u002Fconnector-development\u002Fgetting-started\u002F","20.connector-development\u002F10.getting-started",[803,806,810,814,818],{"title":194,"path":804,"stem":805,"type":285,"device":6},"\u002Fconnector-development\u002Fgetting-started\u002Foverview\u002F","20.connector-development\u002F10.getting-started\u002F10.overview",{"title":807,"path":808,"stem":809,"type":24,"device":6},"What's new","\u002Fconnector-development\u002Fgetting-started\u002Fwhats-new\u002F","20.connector-development\u002F10.getting-started\u002F20.whats-new",{"title":811,"path":812,"stem":813,"type":24,"device":6},"Installation","\u002Fconnector-development\u002Fgetting-started\u002Finstallation\u002F","20.connector-development\u002F10.getting-started\u002F30.installation",{"title":815,"path":816,"stem":817,"type":24,"device":6},"Python Environment and Project Management","\u002Fconnector-development\u002Fgetting-started\u002Fpython-environments\u002F","20.connector-development\u002F10.getting-started\u002F35.python-environments",{"title":819,"path":820,"stem":821,"type":24,"device":6},"Contributing","\u002Fconnector-development\u002Fgetting-started\u002Fcontributing\u002F","20.connector-development\u002F10.getting-started\u002F40.contributing",{"title":823,"path":824,"stem":825,"children":826,"page":41},"Tutorial","\u002Fconnector-development\u002Ftutorial\u002F","20.connector-development\u002F20.tutorial",[827,831,835,839,843,847,851],{"title":828,"path":829,"stem":830,"type":46,"device":6},"Walkthrough","\u002Fconnector-development\u002Ftutorial\u002Fwalkthrough\u002F","20.connector-development\u002F20.tutorial\u002F00.walkthrough",{"title":832,"path":833,"stem":834,"type":46,"device":6},"SiLA Endpoints","\u002Fconnector-development\u002Ftutorial\u002Fsila-endpoints\u002F","20.connector-development\u002F20.tutorial\u002F10.sila-endpoints",{"title":836,"path":837,"stem":838,"type":46,"device":6},"Data Endpoints","\u002Fconnector-development\u002Ftutorial\u002Fdata-endpoints\u002F","20.connector-development\u002F20.tutorial\u002F20.data-endpoints",{"title":840,"path":841,"stem":842,"type":46,"device":6},"Controls","\u002Fconnector-development\u002Ftutorial\u002Fcontrols\u002F","20.connector-development\u002F20.tutorial\u002F30.controls",{"title":844,"path":845,"stem":846,"type":46,"device":6},"SiLA Data Types","\u002Fconnector-development\u002Ftutorial\u002Fdata-types\u002F","20.connector-development\u002F20.tutorial\u002F40.data-types",{"title":848,"path":849,"stem":850,"type":46,"device":6},"Feature","\u002Fconnector-development\u002Ftutorial\u002Fconnector-structure\u002F","20.connector-development\u002F20.tutorial\u002F70.connector-structure",{"title":852,"path":853,"stem":854,"type":46,"device":6},"Hardware Communication","\u002Fconnector-development\u002Ftutorial\u002Fhardware-communication\u002F","20.connector-development\u002F20.tutorial\u002F90.hardware-communication",{"title":272,"type":6,"device":6,"path":856,"stem":857,"children":858,"page":41},"\u002Fconnector-development\u002Fconcepts\u002F","20.connector-development\u002F30.concepts",[859],{"title":860,"path":861,"stem":862,"type":285,"device":6},"SiLA","\u002Fconnector-development\u002Fconcepts\u002Fsila\u002F","20.connector-development\u002F30.concepts\u002Fsila",{"title":864,"path":865,"stem":866,"children":867,"page":41},"Guides","\u002Fconnector-development\u002Fguides\u002F","20.connector-development\u002F40.guides",[868,872,876,880,884,888,892,895,899],{"title":869,"path":870,"stem":871,"type":24,"device":6},"Configuration","\u002Fconnector-development\u002Fguides\u002Fconfiguration\u002F","20.connector-development\u002F40.guides\u002F20.configuration",{"title":873,"path":874,"stem":875,"type":24,"device":6},"Logging","\u002Fconnector-development\u002Fguides\u002Flogging\u002F","20.connector-development\u002F40.guides\u002F21.logging",{"title":877,"path":878,"stem":879,"type":24,"device":6},"Deployment","\u002Fconnector-development\u002Fguides\u002Fdeployment\u002F","20.connector-development\u002F40.guides\u002F30.deployment",{"title":881,"path":882,"stem":883,"type":24,"device":6},"Security","\u002Fconnector-development\u002Fguides\u002Fsecurity\u002F","20.connector-development\u002F40.guides\u002F40.security",{"title":885,"path":886,"stem":887,"type":24,"device":6},"Subscriptions","\u002Fconnector-development\u002Fguides\u002Fsubscriptions\u002F","20.connector-development\u002F40.guides\u002F45.subscriptions",{"title":889,"path":890,"stem":891,"type":24,"device":6},"Execution Modes","\u002Fconnector-development\u002Fguides\u002Fexecution-modes\u002F","20.connector-development\u002F40.guides\u002F46.execution-modes",{"title":380,"path":893,"stem":894,"type":24,"device":6},"\u002Fconnector-development\u002Fguides\u002Ferror-handling\u002F","20.connector-development\u002F40.guides\u002F50.error-handling",{"title":896,"path":897,"stem":898,"type":24,"device":6},"Serial Troubleshooting","\u002Fconnector-development\u002Fguides\u002Fserial-troubleshooting\u002F","20.connector-development\u002F40.guides\u002F70.serial-troubleshooting",{"title":900,"path":901,"stem":902,"type":24,"device":6},"Testing","\u002Fconnector-development\u002Fguides\u002Ftesting\u002F","20.connector-development\u002F40.guides\u002F80.testing",{"title":904,"path":905,"stem":906,"children":907,"type":6,"device":6},"References","\u002Fconnector-development\u002Freference\u002F","20.connector-development\u002F50.reference\u002Findex",[908],{"title":904,"path":905,"stem":906,"type":200,"device":6},{"id":910,"title":364,"body":911,"description":2059,"device":6,"extension":2060,"links":6,"meta":2061,"navigation":1026,"path":2062,"seo":2063,"stem":759,"type":24,"__hash__":2064},"docs\u002F06.liquid-handling-and-robots\u002F45.tecan-freedom-evo\u002F50.liquid-classes.md",{"type":912,"value":913,"toc":2049},"minimark",[914,928,945,951,961,966,993,1058,1061,1081,1145,1175,1179,1188,1196,1339,1347,1351,1365,1476,1520,1524,1531,1793,1797,1947,1977,1981,2002,2006,2039,2045],[915,916,919],"callout",{"color":917,"icon":918},"info","i-heroicons-information-circle",[920,921,922,923,927],"p",{},"The Freedom EVO is supported in liquid handling SDK versions ",[924,925,926],"code",{},">=0.35.0",".",[920,929,930,931,934,935,938,939,944],{},"Liquid classes define the plunger physics — calibration, per-phase speeds, and air gaps — used during aspirate and dispense. ",[924,932,933],{},"EvoLiquidClass"," is shared by both EVO arms (the MCA and, for instruments with one, the LiHA); today only the MCA96 head is implemented in the SDK, so in practice every liquid class you use targets it. The labware library also ships 42 of EVOware's own liquid classes, importable from ",[924,936,937],{},"unitelabs.labware.tecan.liquids"," — it's often easier to start with one of these than to build your own from scratch (see ",[940,941,943],"a",{"href":942},"#using-a-predefined-liquid-class","Using a Predefined Liquid Class",").",[920,946,947],{},[948,949,950],"strong",{},"Prerequisites",[952,953,954],"ul",{},[955,956,957,958,960],"li",{},"Basic understanding of the EVO pipetting operations (See ",[940,959,617],{"href":751},")",[962,963,965],"h2",{"id":964},"default-liquid-class","Default Liquid Class",[920,967,968,969,972,973,976,977,980,981,984,985,988,989,992],{},"If no ",[924,970,971],{},"liquid_class"," is passed to ",[924,974,975],{},"aspirate()","\u002F",[924,978,979],{},"dispense()",", an uncalibrated ",[924,982,983],{},"EvoLiquidClass()"," is applied — factor ",[924,986,987],{},"1.0",", offset ",[924,990,991],{},"0.0",", and the class's own default speeds.",[994,995,1000],"pre",{"className":996,"code":997,"language":998,"meta":999,"style":999},"language-python shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-default","from unitelabs.labware.tecan import EvoLiquidClass\n\nawait evo.mca.aspirate(source_trough, volume=100, liquid_class=EvoLiquidClass())\n","python","",[924,1001,1002,1021,1028],{"__ignoreMap":999},[1003,1004,1007,1011,1015,1018],"span",{"class":1005,"line":1006},"line",1,[1003,1008,1010],{"class":1009},"sxkbv","from",[1003,1012,1014],{"class":1013},"sc-9e"," unitelabs.labware.tecan ",[1003,1016,1017],{"class":1009},"import",[1003,1019,1020],{"class":1013}," EvoLiquidClass\n",[1003,1022,1024],{"class":1005,"line":1023},2,[1003,1025,1027],{"emptyLinePlaceholder":1026},true,"\n",[1003,1029,1031,1034,1037,1041,1044,1048,1051,1053,1055],{"class":1005,"line":1030},3,[1003,1032,1033],{"class":1009},"await",[1003,1035,1036],{"class":1013}," evo.mca.aspirate(source_trough, ",[1003,1038,1040],{"class":1039},"sNqAu","volume",[1003,1042,1043],{"class":1009},"=",[1003,1045,1047],{"class":1046},"sOiAX","100",[1003,1049,1050],{"class":1013},", ",[1003,1052,971],{"class":1039},[1003,1054,1043],{"class":1009},[1003,1056,1057],{"class":1013},"EvoLiquidClass())\n",[962,1059,943],{"id":1060},"using-a-predefined-liquid-class",[920,1062,1063,1064,1066,1067,1070,1071,976,1074,976,1077,1080],{},"Import one of the 42 liquid classes shipped in ",[924,1065,937],{}," instead of writing your own. Each is a direct import of one EVOware ",[924,1068,1069],{},"\u003CSubClass>",", so its ",[924,1072,1073],{},"tip",[924,1075,1076],{},"min_volume",[924,1078,1079],{},"max_volume"," band is already set correctly for that class — pick the one matching the liquid, tip family, and volume you're pipetting.",[994,1082,1084],{"className":996,"code":1083,"language":998,"meta":999,"style":999},"from unitelabs.labware.tecan.liquids import Evo_Water_WetContact_MCA_DiTi_20p01_200p01\n\nawait evo.mca.aspirate(\n    source_trough,\n    volume=100,\n    liquid_class=Evo_Water_WetContact_MCA_DiTi_20p01_200p01(),\n)\n",[924,1085,1086,1098,1102,1109,1115,1128,1139],{"__ignoreMap":999},[1003,1087,1088,1090,1093,1095],{"class":1005,"line":1006},[1003,1089,1010],{"class":1009},[1003,1091,1092],{"class":1013}," unitelabs.labware.tecan.liquids ",[1003,1094,1017],{"class":1009},[1003,1096,1097],{"class":1013}," Evo_Water_WetContact_MCA_DiTi_20p01_200p01\n",[1003,1099,1100],{"class":1005,"line":1023},[1003,1101,1027],{"emptyLinePlaceholder":1026},[1003,1103,1104,1106],{"class":1005,"line":1030},[1003,1105,1033],{"class":1009},[1003,1107,1108],{"class":1013}," evo.mca.aspirate(\n",[1003,1110,1112],{"class":1005,"line":1111},4,[1003,1113,1114],{"class":1013},"    source_trough,\n",[1003,1116,1118,1121,1123,1125],{"class":1005,"line":1117},5,[1003,1119,1120],{"class":1039},"    volume",[1003,1122,1043],{"class":1009},[1003,1124,1047],{"class":1046},[1003,1126,1127],{"class":1013},",\n",[1003,1129,1131,1134,1136],{"class":1005,"line":1130},6,[1003,1132,1133],{"class":1039},"    liquid_class",[1003,1135,1043],{"class":1009},[1003,1137,1138],{"class":1013},"Evo_Water_WetContact_MCA_DiTi_20p01_200p01(),\n",[1003,1140,1142],{"class":1005,"line":1141},7,[1003,1143,1144],{"class":1013},")\n",[915,1146,1147],{"color":917,"icon":918},[920,1148,1149,1150,1153,1154,1157,1158,976,1161,976,1164,1167,1168,1170,1171,1174],{},"Naming follows EVOware's own convention: liquid, contact mode (",[924,1151,1152],{},"WetContact"," or ",[924,1155,1156],{},"FreeDispense","), tip family (",[924,1159,1160],{},"MCA_DiTi",[924,1162,1163],{},"MCA_Fixed",[924,1165,1166],{},"MC96HPBlock","), and the volume band in µL with ",[924,1169,920],{}," standing in for the decimal point (",[924,1172,1173],{},"20p01_200p01"," → 20.01–200.01 µL).",[962,1176,1178],{"id":1177},"volume-calibration","Volume Calibration",[920,1180,1181,1183,1184,1187],{},[924,1182,933],{}," applies an affine correction to the ",[948,1185,1186],{},"sample volume only"," — never to air gaps or the excess volume:",[994,1189,1194],{"className":1190,"code":1192,"language":1193},[1191],"language-text","corrected = target_volume * calibration_factor + calibration_offset\n","text",[924,1195,1192],{"__ignoreMap":999},[994,1197,1199],{"className":996,"code":1198,"language":998,"meta":999,"style":999},"import dataclasses\nfrom unitelabs.labware.tecan import EvoLiquidClass\nfrom unitelabs.labware.math import Decimal\n\n\n@dataclasses.dataclass\nclass WaterHighVolume(EvoLiquidClass):\n    calibration_factor: Decimal = dataclasses.field(default=Decimal(\"1.0074\"))\n    calibration_offset: Decimal = dataclasses.field(default=Decimal(\"0.0\"))\n\n\nawait evo.mca.aspirate(source_trough, volume=100, liquid_class=WaterHighVolume())\n",[924,1200,1201,1208,1218,1230,1234,1238,1244,1260,1286,1307,1312,1317],{"__ignoreMap":999},[1003,1202,1203,1205],{"class":1005,"line":1006},[1003,1204,1017],{"class":1009},[1003,1206,1207],{"class":1013}," dataclasses\n",[1003,1209,1210,1212,1214,1216],{"class":1005,"line":1023},[1003,1211,1010],{"class":1009},[1003,1213,1014],{"class":1013},[1003,1215,1017],{"class":1009},[1003,1217,1020],{"class":1013},[1003,1219,1220,1222,1225,1227],{"class":1005,"line":1030},[1003,1221,1010],{"class":1009},[1003,1223,1224],{"class":1013}," unitelabs.labware.math ",[1003,1226,1017],{"class":1009},[1003,1228,1229],{"class":1013}," Decimal\n",[1003,1231,1232],{"class":1005,"line":1111},[1003,1233,1027],{"emptyLinePlaceholder":1026},[1003,1235,1236],{"class":1005,"line":1117},[1003,1237,1027],{"emptyLinePlaceholder":1026},[1003,1239,1240],{"class":1005,"line":1130},[1003,1241,1243],{"class":1242},"s4qFZ","@dataclasses.dataclass\n",[1003,1245,1246,1249,1252,1255,1257],{"class":1005,"line":1141},[1003,1247,1248],{"class":1009},"class",[1003,1250,1251],{"class":1039}," WaterHighVolume",[1003,1253,1254],{"class":1013},"(",[1003,1256,933],{"class":1046},[1003,1258,1259],{"class":1013},"):\n",[1003,1261,1263,1266,1268,1271,1274,1276,1279,1283],{"class":1005,"line":1262},8,[1003,1264,1265],{"class":1013},"    calibration_factor: Decimal ",[1003,1267,1043],{"class":1009},[1003,1269,1270],{"class":1013}," dataclasses.field(",[1003,1272,1273],{"class":1039},"default",[1003,1275,1043],{"class":1009},[1003,1277,1278],{"class":1013},"Decimal(",[1003,1280,1282],{"class":1281},"sCx38","\"1.0074\"",[1003,1284,1285],{"class":1013},"))\n",[1003,1287,1289,1292,1294,1296,1298,1300,1302,1305],{"class":1005,"line":1288},9,[1003,1290,1291],{"class":1013},"    calibration_offset: Decimal ",[1003,1293,1043],{"class":1009},[1003,1295,1270],{"class":1013},[1003,1297,1273],{"class":1039},[1003,1299,1043],{"class":1009},[1003,1301,1278],{"class":1013},[1003,1303,1304],{"class":1281},"\"0.0\"",[1003,1306,1285],{"class":1013},[1003,1308,1310],{"class":1005,"line":1309},10,[1003,1311,1027],{"emptyLinePlaceholder":1026},[1003,1313,1315],{"class":1005,"line":1314},11,[1003,1316,1027],{"emptyLinePlaceholder":1026},[1003,1318,1320,1322,1324,1326,1328,1330,1332,1334,1336],{"class":1005,"line":1319},12,[1003,1321,1033],{"class":1009},[1003,1323,1036],{"class":1013},[1003,1325,1040],{"class":1039},[1003,1327,1043],{"class":1009},[1003,1329,1047],{"class":1046},[1003,1331,1050],{"class":1013},[1003,1333,971],{"class":1039},[1003,1335,1043],{"class":1009},[1003,1337,1338],{"class":1013},"WaterHighVolume())\n",[915,1340,1341],{"color":917,"icon":918},[920,1342,1343,1344,1346],{},"Only override the parameters that differ from the default — every other attribute inherits ",[924,1345,933],{},"'s own defaults.",[962,1348,1350],{"id":1349},"restricting-to-a-tip-type-and-volume-band","Restricting to a Tip Type and Volume Band",[920,1352,1353,1050,1355,1357,1358,1360,1361,1364],{},[924,1354,1073],{},[924,1356,1076],{},", and ",[924,1359,1079],{}," are ",[948,1362,1363],{},"metadata only"," — nothing auto-selects a liquid class based on them. Passing a class whose band or tip doesn't match what's mounted produces a warning, never a substitution.",[994,1366,1368],{"className":996,"code":1367,"language":998,"meta":999,"style":999},"import dataclasses\nfrom unitelabs.labware.tecan import EvoLiquidClass, EvoTip_MCA_DiTi_200\nfrom unitelabs.labware.math import Decimal\n\n\n@dataclasses.dataclass\nclass Water200uL(EvoLiquidClass):\n    tip: type = EvoTip_MCA_DiTi_200\n    min_volume: Decimal = dataclasses.field(default=Decimal(\"2.0\"))\n    max_volume: Decimal = dataclasses.field(default=Decimal(\"220.0\"))\n",[924,1369,1370,1376,1387,1397,1401,1405,1409,1422,1436,1456],{"__ignoreMap":999},[1003,1371,1372,1374],{"class":1005,"line":1006},[1003,1373,1017],{"class":1009},[1003,1375,1207],{"class":1013},[1003,1377,1378,1380,1382,1384],{"class":1005,"line":1023},[1003,1379,1010],{"class":1009},[1003,1381,1014],{"class":1013},[1003,1383,1017],{"class":1009},[1003,1385,1386],{"class":1013}," EvoLiquidClass, EvoTip_MCA_DiTi_200\n",[1003,1388,1389,1391,1393,1395],{"class":1005,"line":1030},[1003,1390,1010],{"class":1009},[1003,1392,1224],{"class":1013},[1003,1394,1017],{"class":1009},[1003,1396,1229],{"class":1013},[1003,1398,1399],{"class":1005,"line":1111},[1003,1400,1027],{"emptyLinePlaceholder":1026},[1003,1402,1403],{"class":1005,"line":1117},[1003,1404,1027],{"emptyLinePlaceholder":1026},[1003,1406,1407],{"class":1005,"line":1130},[1003,1408,1243],{"class":1242},[1003,1410,1411,1413,1416,1418,1420],{"class":1005,"line":1141},[1003,1412,1248],{"class":1009},[1003,1414,1415],{"class":1039}," Water200uL",[1003,1417,1254],{"class":1013},[1003,1419,933],{"class":1046},[1003,1421,1259],{"class":1013},[1003,1423,1424,1427,1430,1433],{"class":1005,"line":1262},[1003,1425,1426],{"class":1013},"    tip: ",[1003,1428,1429],{"class":1046},"type",[1003,1431,1432],{"class":1009}," =",[1003,1434,1435],{"class":1013}," EvoTip_MCA_DiTi_200\n",[1003,1437,1438,1441,1443,1445,1447,1449,1451,1454],{"class":1005,"line":1288},[1003,1439,1440],{"class":1013},"    min_volume: Decimal ",[1003,1442,1043],{"class":1009},[1003,1444,1270],{"class":1013},[1003,1446,1273],{"class":1039},[1003,1448,1043],{"class":1009},[1003,1450,1278],{"class":1013},[1003,1452,1453],{"class":1281},"\"2.0\"",[1003,1455,1285],{"class":1013},[1003,1457,1458,1461,1463,1465,1467,1469,1471,1474],{"class":1005,"line":1309},[1003,1459,1460],{"class":1013},"    max_volume: Decimal ",[1003,1462,1043],{"class":1009},[1003,1464,1270],{"class":1013},[1003,1466,1273],{"class":1039},[1003,1468,1043],{"class":1009},[1003,1470,1278],{"class":1013},[1003,1472,1473],{"class":1281},"\"220.0\"",[1003,1475,1285],{"class":1013},[994,1477,1479],{"className":996,"code":1478,"language":998,"meta":999,"style":999},"liquid_class = Water200uL()\nliquid_class.check_tip(mounted_tip)  # warns if mounted_tip isn't an EvoTip_MCA_DiTi_200\nliquid_class.compute_corrected_volume(target_volume=250)\n# UserWarning: Water200uL is calibrated for volumes in [2.0, 220.0) µL, received 250 µL.\n",[924,1480,1481,1491,1500,1515],{"__ignoreMap":999},[1003,1482,1483,1486,1488],{"class":1005,"line":1006},[1003,1484,1485],{"class":1013},"liquid_class ",[1003,1487,1043],{"class":1009},[1003,1489,1490],{"class":1013}," Water200uL()\n",[1003,1492,1493,1496],{"class":1005,"line":1023},[1003,1494,1495],{"class":1013},"liquid_class.check_tip(mounted_tip)  ",[1003,1497,1499],{"class":1498},"sIsDC","# warns if mounted_tip isn't an EvoTip_MCA_DiTi_200\n",[1003,1501,1502,1505,1508,1510,1513],{"class":1005,"line":1030},[1003,1503,1504],{"class":1013},"liquid_class.compute_corrected_volume(",[1003,1506,1507],{"class":1039},"target_volume",[1003,1509,1043],{"class":1009},[1003,1511,1512],{"class":1046},"250",[1003,1514,1144],{"class":1013},[1003,1516,1517],{"class":1005,"line":1111},[1003,1518,1519],{"class":1498},"# UserWarning: Water200uL is calibrated for volumes in [2.0, 220.0) µL, received 250 µL.\n",[962,1521,1523],{"id":1522},"aspirate-parameters","Aspirate Parameters",[920,1525,1526,1527,1530],{},"Every liquid class defines the following parameters, consumed via ",[924,1528,1529],{},"aspirate_parameters"," when a pipetting step compiles:",[1532,1533,1534,1550],"table",{},[1535,1536,1537],"thead",{},[1538,1539,1540,1544,1547],"tr",{},[1541,1542,1543],"th",{},"Parameter",[1541,1545,1546],{},"Default",[1541,1548,1549],{},"Description",[1551,1552,1553,1567,1580,1593,1606,1619,1635,1647,1660,1672,1685,1697,1709,1725,1738,1751,1764,1777],"tbody",{},[1538,1554,1555,1561,1564],{},[1556,1557,1558],"td",{},[924,1559,1560],{},"aspirate_speed",[1556,1562,1563],{},"50.0 µL\u002Fs",[1556,1565,1566],{},"Sample-draw plunger speed.",[1538,1568,1569,1574,1577],{},[1556,1570,1571],{},[924,1572,1573],{},"aspirate_delay",[1556,1575,1576],{},"500 ms",[1556,1578,1579],{},"Wait time after the sample is aspirated before moving the tips.",[1538,1581,1582,1587,1590],{},[1556,1583,1584],{},[924,1585,1586],{},"aspirate_leading_air_gap",[1556,1588,1589],{},"5.0 µL",[1556,1591,1592],{},"Air drawn above the liquid before submerging; dispensed with the sample to blow out the tip.",[1538,1594,1595,1600,1603],{},[1556,1596,1597],{},[924,1598,1599],{},"aspirate_leading_air_gap_speed",[1556,1601,1602],{},"10.0 µL\u002Fs",[1556,1604,1605],{},"Plunger speed for the leading air gap.",[1538,1607,1608,1613,1616],{},[1556,1609,1610],{},[924,1611,1612],{},"aspirate_leading_air_gap_delay",[1556,1614,1615],{},"0 ms",[1556,1617,1618],{},"Wait time after the leading air gap is drawn.",[1538,1620,1621,1626,1629],{},[1556,1622,1623],{},[924,1624,1625],{},"aspirate_tracking_speed",[1556,1627,1628],{},"20.0 mm\u002Fs",[1556,1630,1631,1632,944],{},"Speed to track the liquid level during aspiration (used with ",[924,1633,1634],{},"follow_liquid",[1538,1636,1637,1642,1644],{},[1556,1638,1639],{},[924,1640,1641],{},"aspirate_trailing_air_gap",[1556,1643,1589],{},[1556,1645,1646],{},"Air drawn after withdrawing from the liquid, to stop dripping while the arm moves.",[1538,1648,1649,1654,1657],{},[1556,1650,1651],{},[924,1652,1653],{},"aspirate_trailing_air_gap_speed",[1556,1655,1656],{},"20.0 µL\u002Fs",[1556,1658,1659],{},"Plunger speed for the trailing air gap.",[1538,1661,1662,1667,1669],{},[1556,1663,1664],{},[924,1665,1666],{},"aspirate_trailing_air_gap_delay",[1556,1668,1615],{},[1556,1670,1671],{},"Wait time after the trailing air gap is drawn.",[1538,1673,1674,1679,1682],{},[1556,1675,1676],{},[924,1677,1678],{},"aspirate_system_trailing_air_gap",[1556,1680,1681],{},"0.0 µL",[1556,1683,1684],{},"Extra system air gap after the trailing air gap, keeping system liquid away from the sample.",[1538,1686,1687,1692,1694],{},[1556,1688,1689],{},[924,1690,1691],{},"aspirate_system_trailing_air_gap_speed",[1556,1693,1656],{},[1556,1695,1696],{},"Plunger speed for the system trailing air gap.",[1538,1698,1699,1704,1706],{},[1556,1700,1701],{},[924,1702,1703],{},"aspirate_system_trailing_air_gap_delay",[1556,1705,1615],{},[1556,1707,1708],{},"Wait time after the system trailing air gap is drawn.",[1538,1710,1711,1716,1718],{},[1556,1712,1713],{},[924,1714,1715],{},"aspirate_excess_volume",[1556,1717,1681],{},[1556,1719,1720,1721,1724],{},"Volume drawn on top of the sample. ",[948,1722,1723],{},"Not discarded automatically"," — dispense it explicitly.",[1538,1726,1727,1732,1735],{},[1556,1728,1729],{},[924,1730,1731],{},"aspirate_retract_speed",[1556,1733,1734],{},"10.0 mm\u002Fs",[1556,1736,1737],{},"Slow Z withdrawal speed out of the liquid after aspirating.",[1538,1739,1740,1745,1748],{},[1556,1741,1742],{},[924,1743,1744],{},"aspirate_retract_offset",[1556,1746,1747],{},"0.0 mm",[1556,1749,1750],{},"Height above the container the tips retract to after aspirating. Unread.",[1538,1752,1753,1758,1761],{},[1556,1754,1755],{},[924,1756,1757],{},"aspirate_plunger_accel",[1556,1759,1760],{},"5760 µL\u002Fs²",[1556,1762,1763],{},"Plunger acceleration for the sample draw (air gaps use the drive's own defaults).",[1538,1765,1766,1771,1774],{},[1556,1767,1768],{},[924,1769,1770],{},"aspirate_plunger_decel",[1556,1772,1773],{},"16000 µL\u002Fs²",[1556,1775,1776],{},"Plunger deceleration for the sample draw.",[1538,1778,1779,1784,1787],{},[1556,1780,1781],{},[924,1782,1783],{},"aspirate_lld_detection_sensitivity",[1556,1785,1786],{},"STANDARD",[1556,1788,1789,1792],{},[948,1790,1791],{},"LiHA only"," — liquid-level detection sensitivity. The MCA has no LLD; ignored on the MCA head.",[962,1794,1796],{"id":1795},"dispense-parameters","Dispense Parameters",[1532,1798,1799,1809],{},[1535,1800,1801],{},[1538,1802,1803,1805,1807],{},[1541,1804,1543],{},[1541,1806,1546],{},[1541,1808,1549],{},[1551,1810,1811,1823,1838,1850,1862,1875,1887,1899,1911,1923,1935],{},[1538,1812,1813,1818,1820],{},[1556,1814,1815],{},[924,1816,1817],{},"dispense_speed",[1556,1819,1563],{},[1556,1821,1822],{},"Dispense plunger speed.",[1538,1824,1825,1830,1833],{},[1556,1826,1827],{},[924,1828,1829],{},"dispense_breakoff_speed",[1556,1831,1832],{},"150.0 µL\u002Fs",[1556,1834,1835,1837],{},[948,1836,1791],{}," — final speed as the plunger stops, for a clean free-dispense break-off. Ignored on the MCA.",[1538,1839,1840,1845,1847],{},[1556,1841,1842],{},[924,1843,1844],{},"dispense_delay",[1556,1846,1615],{},[1556,1848,1849],{},"Wait time after the sample is dispensed.",[1538,1851,1852,1857,1859],{},[1556,1853,1854],{},[924,1855,1856],{},"dispense_delay_before",[1556,1858,1615],{},[1556,1860,1861],{},"Wait time after the tips lower and before the dispense starts.",[1538,1863,1864,1869,1872],{},[1556,1865,1866],{},[924,1867,1868],{},"dispense_trailing_air_gap_after",[1556,1870,1871],{},"False",[1556,1873,1874],{},"Whether to draw a trailing air gap after dispensing (volume\u002Fspeed from the aspirate attributes).",[1538,1876,1877,1882,1884],{},[1556,1878,1879],{},[924,1880,1881],{},"dispense_tip_touch_speed",[1556,1883,1734],{},[1556,1885,1886],{},"Tip-touch speed after dispensing.",[1538,1888,1889,1894,1896],{},[1556,1890,1891],{},[924,1892,1893],{},"dispense_tip_touch_delay",[1556,1895,1615],{},[1556,1897,1898],{},"Tip-touch delay after dispensing.",[1538,1900,1901,1906,1908],{},[1556,1902,1903],{},[924,1904,1905],{},"dispense_retract_speed",[1556,1907,1734],{},[1556,1909,1910],{},"Slow Z withdrawal speed out of the liquid after dispensing.",[1538,1912,1913,1918,1920],{},[1556,1914,1915],{},[924,1916,1917],{},"dispense_retract_offset",[1556,1919,1747],{},[1556,1921,1922],{},"Height above the container the tips retract to after dispensing. Unread.",[1538,1924,1925,1930,1932],{},[1556,1926,1927],{},[924,1928,1929],{},"dispense_plunger_accel",[1556,1931,1760],{},[1556,1933,1934],{},"Plunger acceleration for the dispense.",[1538,1936,1937,1942,1944],{},[1556,1938,1939],{},[924,1940,1941],{},"dispense_plunger_decel",[1556,1943,1773],{},[1556,1945,1946],{},"Plunger deceleration for the dispense.",[915,1948,1949],{"color":917,"icon":918},[920,1950,1951,1954,1955,1957,1958,1962,1963,976,1965,1967,1968,1050,1971,1974,1975,927],{},[948,1952,1953],{},"Deliberately absent",": mixing, tip-touch geometry, and liquid-level-detection protocol settings are not modeled on ",[924,1956,933],{},", even though EVOware stores them per sub-class. These are properties of the ",[1959,1960,1961],"em",{},"pipetting step",", not of the liquid — the same liquid is mixed in one protocol and not the next — so they're passed as arguments to ",[924,1964,975],{},[924,1966,979],{}," instead (",[924,1969,1970],{},"mix_cycles",[924,1972,1973],{},"touch_side",", etc.). See ",[940,1976,617],{"href":751},[962,1978,1980],{"id":1979},"mapping-from-evoware","Mapping from EVOware",[920,1982,1983,1984,1986,1987,1989,1990,1992,1993,976,1995,1997,1998,2001],{},"One ",[924,1985,933],{}," instance corresponds to one EVOware ",[924,1988,1069],{},". EVOware groups several sub-classes — each valid for one tip type and one volume band — under a single named liquid class; this SDK flattens that structure into ",[924,1991,1073],{}," + ",[924,1994,1076],{},[924,1996,1079],{}," on separate classes, one per sub-class. Only ",[924,1999,2000],{},"\u003CSingle>"," (single-pipetting-mode) values are modeled; EVOware's multi-pipetting mode is not supported.",[962,2003,2005],{"id":2004},"checking-tip-compatibility","Checking Tip Compatibility",[994,2007,2009],{"className":996,"code":2008,"language":998,"meta":999,"style":999},"tip = evo.mca.get()\nliquid_class = Water200uL()\nliquid_class.check_tip(tip)\n# UserWarning: Water200uL is calibrated for EvoTip_MCA_DiTi_200, received EvoTip_MCA_DiTi_50.\n",[924,2010,2011,2021,2029,2034],{"__ignoreMap":999},[1003,2012,2013,2016,2018],{"class":1005,"line":1006},[1003,2014,2015],{"class":1013},"tip ",[1003,2017,1043],{"class":1009},[1003,2019,2020],{"class":1013}," evo.mca.get()\n",[1003,2022,2023,2025,2027],{"class":1005,"line":1023},[1003,2024,1485],{"class":1013},[1003,2026,1043],{"class":1009},[1003,2028,1490],{"class":1013},[1003,2030,2031],{"class":1005,"line":1030},[1003,2032,2033],{"class":1013},"liquid_class.check_tip(tip)\n",[1003,2035,2036],{"class":1005,"line":1111},[1003,2037,2038],{"class":1498},"# UserWarning: Water200uL is calibrated for EvoTip_MCA_DiTi_200, received EvoTip_MCA_DiTi_50.\n",[920,2040,2041,2044],{},[924,2042,2043],{},"check_tip()"," is informational only — pipetting proceeds regardless of a mismatch; it does not raise.",[2046,2047,2048],"style",{},"html pre.shiki code .sxkbv, html code.shiki .sxkbv{--shiki-light:#A0111F;--shiki-default:#A0111F;--shiki-dark:#FF7B72}html pre.shiki code .sc-9e, html code.shiki .sc-9e{--shiki-light:#0E1116;--shiki-default:#0E1116;--shiki-dark:#E6EDF3}html pre.shiki code .sNqAu, html code.shiki .sNqAu{--shiki-light:#702C00;--shiki-default:#702C00;--shiki-dark:#FFA657}html pre.shiki code .sOiAX, html code.shiki .sOiAX{--shiki-light:#023B95;--shiki-default:#023B95;--shiki-dark:#79C0FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s4qFZ, html code.shiki .s4qFZ{--shiki-light:#622CBC;--shiki-default:#622CBC;--shiki-dark:#D2A8FF}html pre.shiki code .sCx38, html code.shiki .sCx38{--shiki-light:#032563;--shiki-default:#032563;--shiki-dark:#A5D6FF}html pre.shiki code .sIsDC, html code.shiki .sIsDC{--shiki-light:#66707B;--shiki-default:#66707B;--shiki-dark:#8B949E}",{"title":999,"searchDepth":1006,"depth":1023,"links":2050},[2051,2052,2053,2054,2055,2056,2057,2058],{"id":964,"depth":1023,"text":965},{"id":1060,"depth":1023,"text":943},{"id":1177,"depth":1023,"text":1178},{"id":1349,"depth":1023,"text":1350},{"id":1522,"depth":1023,"text":1523},{"id":1795,"depth":1023,"text":1796},{"id":1979,"depth":1023,"text":1980},{"id":2004,"depth":1023,"text":2005},"Using and customizing liquid classes for the Tecan Freedom EVO.","md",{},"\u002Fliquid-handling-and-robots\u002Ftecan-freedom-evo\u002Fliquid-classes",{"title":364,"description":2059},"Ik9qfAJ15enwvZeQAurKg2vX4NeA4DkTfDm55t-IdEg",[2066,6],{"title":754,"description":2067,"path":755},"Moving labware around the deck with the Tecan Freedom EVO's Robotic Manipulator Arm.",1791294190500]