diff --git a/api/Pipfile b/api/Pipfile index e37e6e1c5f9..950a39b9f71 100755 --- a/api/Pipfile +++ b/api/Pipfile @@ -11,6 +11,7 @@ opentrons-shared-data = { editable = true, path = "../shared-data/python" } opentrons = { editable = true, path = "." } opentrons-hardware = { editable = true, path = "./../hardware", extras=["FLEX"] } numpy = "==1.22.3" +packaging = "==21.3" pyusb = "==1.2.1" [dev-packages] diff --git a/api/Pipfile.lock b/api/Pipfile.lock index b08815e2656..0109bfba247 100644 --- a/api/Pipfile.lock +++ b/api/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "8a1eb02e26b3ae9d690880546729375c7b74c8e53a8f1806eefdbeac5829dc67" + "sha256": "f931b3b78087f32b1e1d8b344f4d01258b4fbb62cf22d59910f90041a72da0b5" }, "pipfile-spec": 6, "requires": {}, @@ -179,11 +179,12 @@ }, "packaging": { "hashes": [ - "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", - "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9" + "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb", + "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522" ], - "markers": "python_version >= '3.7'", - "version": "==24.0" + "index": "pypi", + "markers": "python_version >= '3.6'", + "version": "==21.3" }, "pydantic": { "hashes": [ @@ -228,6 +229,14 @@ "markers": "python_version >= '3.7'", "version": "==1.10.12" }, + "pyparsing": { + "hashes": [ + "sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad", + "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742" + ], + "markers": "python_full_version >= '3.6.8'", + "version": "==3.1.2" + }, "pyrsistent": { "hashes": [ "sha256:0724c506cd8b63c69c7f883cc233aac948c1ea946ea95996ad8b1380c25e1d3f", @@ -278,6 +287,7 @@ "sha256:6ad50f4613289f3c4d276b6d2ac8901d776dcb929994cce93f55a69e858c595f", "sha256:7eea9b81b0ff908000a825db024313f622895bd578e8a17433e0474cd7d2da83" ], + "markers": "python_version >= '3.7'", "version": "==4.2.2" }, "pyusb": { @@ -291,11 +301,11 @@ }, "setuptools": { "hashes": [ - "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987", - "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32" + "sha256:937a48c7cdb7a21eb53cd7f9b59e525503aa8abaf3584c730dc5f7a5bec3a650", + "sha256:a58a8fde0541dab0419750bcc521fbdf8585f6e5cb41909df3a472ef7b81ca95" ], "markers": "python_version >= '3.8'", - "version": "==69.5.1" + "version": "==70.1.1" }, "sniffio": { "hashes": [ @@ -307,11 +317,11 @@ }, "typing-extensions": { "hashes": [ - "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0", - "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a" + "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", + "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8" ], "markers": "python_version >= '3.8'", - "version": "==4.11.0" + "version": "==4.12.2" }, "wrapt": { "hashes": [ @@ -425,11 +435,11 @@ }, "backports.tarfile": { "hashes": [ - "sha256:73e0179647803d3726d82e76089d01d8549ceca9bace469953fcb4d97cf2d417", - "sha256:9c2ef9696cb73374f7164e17fc761389393ca76777036f5aad42e8b93fcd8009" + "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34", + "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991" ], "markers": "python_version < '3.12'", - "version": "==1.1.1" + "version": "==1.2.0" }, "black": { "hashes": [ @@ -463,11 +473,11 @@ }, "certifi": { "hashes": [ - "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f", - "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1" + "sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516", + "sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56" ], "markers": "python_version >= '3.6'", - "version": "==2024.2.2" + "version": "==2024.6.2" }, "charset-normalizer": { "hashes": [ @@ -772,59 +782,59 @@ }, "fonttools": { "hashes": [ - "sha256:0118ef998a0699a96c7b28457f15546815015a2710a1b23a7bf6c1be60c01636", - "sha256:0d145976194a5242fdd22df18a1b451481a88071feadf251221af110ca8f00ce", - "sha256:0e19bd9e9964a09cd2433a4b100ca7f34e34731e0758e13ba9a1ed6e5468cc0f", - "sha256:0f08c901d3866a8905363619e3741c33f0a83a680d92a9f0e575985c2634fcc1", - "sha256:1250e818b5f8a679ad79660855528120a8f0288f8f30ec88b83db51515411fcc", - "sha256:15c94eeef6b095831067f72c825eb0e2d48bb4cea0647c1b05c981ecba2bf39f", - "sha256:1621ee57da887c17312acc4b0e7ac30d3a4fb0fec6174b2e3754a74c26bbed1e", - "sha256:180194c7fe60c989bb627d7ed5011f2bef1c4d36ecf3ec64daec8302f1ae0716", - "sha256:278e50f6b003c6aed19bae2242b364e575bcb16304b53f2b64f6551b9c000e15", - "sha256:32b17504696f605e9e960647c5f64b35704782a502cc26a37b800b4d69ff3c77", - "sha256:3bee3f3bd9fa1d5ee616ccfd13b27ca605c2b4270e45715bd2883e9504735034", - "sha256:4060acc2bfa2d8e98117828a238889f13b6f69d59f4f2d5857eece5277b829ba", - "sha256:54dcf21a2f2d06ded676e3c3f9f74b2bafded3a8ff12f0983160b13e9f2fb4a7", - "sha256:56fc244f2585d6c00b9bcc59e6593e646cf095a96fe68d62cd4da53dd1287b55", - "sha256:599bdb75e220241cedc6faebfafedd7670335d2e29620d207dd0378a4e9ccc5a", - "sha256:5f6bc991d1610f5c3bbe997b0233cbc234b8e82fa99fc0b2932dc1ca5e5afec0", - "sha256:60a3409c9112aec02d5fb546f557bca6efa773dcb32ac147c6baf5f742e6258b", - "sha256:68b3fb7775a923be73e739f92f7e8a72725fd333eab24834041365d2278c3671", - "sha256:76f1777d8b3386479ffb4a282e74318e730014d86ce60f016908d9801af9ca2a", - "sha256:806e7912c32a657fa39d2d6eb1d3012d35f841387c8fc6cf349ed70b7c340039", - "sha256:84d7751f4468dd8cdd03ddada18b8b0857a5beec80bce9f435742abc9a851a74", - "sha256:865a58b6e60b0938874af0968cd0553bcd88e0b2cb6e588727117bd099eef836", - "sha256:8ac27f436e8af7779f0bb4d5425aa3535270494d3bc5459ed27de3f03151e4c2", - "sha256:8b4850fa2ef2cfbc1d1f689bc159ef0f45d8d83298c1425838095bf53ef46308", - "sha256:8b5ad456813d93b9c4b7ee55302208db2b45324315129d85275c01f5cb7e61a2", - "sha256:8e2f1a4499e3b5ee82c19b5ee57f0294673125c65b0a1ff3764ea1f9db2f9ef5", - "sha256:9696fe9f3f0c32e9a321d5268208a7cc9205a52f99b89479d1b035ed54c923f1", - "sha256:96a48e137c36be55e68845fc4284533bda2980f8d6f835e26bca79d7e2006438", - "sha256:a8feca65bab31479d795b0d16c9a9852902e3a3c0630678efb0b2b7941ea9c74", - "sha256:aefa011207ed36cd280babfaa8510b8176f1a77261833e895a9d96e57e44802f", - "sha256:b2b92381f37b39ba2fc98c3a45a9d6383bfc9916a87d66ccb6553f7bdd129097", - "sha256:b3c61423f22165541b9403ee39874dcae84cd57a9078b82e1dce8cb06b07fa2e", - "sha256:b5b48a1121117047d82695d276c2af2ee3a24ffe0f502ed581acc2673ecf1037", - "sha256:c18b49adc721a7d0b8dfe7c3130c89b8704baf599fb396396d07d4aa69b824a1", - "sha256:c5b8cab0c137ca229433570151b5c1fc6af212680b58b15abd797dcdd9dd5051", - "sha256:c7e91abdfae1b5c9e3a543f48ce96013f9a08c6c9668f1e6be0beabf0a569c1b", - "sha256:cadf4e12a608ef1d13e039864f484c8a968840afa0258b0b843a0556497ea9ed", - "sha256:dc0673361331566d7a663d7ce0f6fdcbfbdc1f59c6e3ed1165ad7202ca183c68", - "sha256:de7c29bdbdd35811f14493ffd2534b88f0ce1b9065316433b22d63ca1cd21f14", - "sha256:e9d9298be7a05bb4801f558522adbe2feea1b0b103d5294ebf24a92dd49b78e5", - "sha256:ee1af4be1c5afe4c96ca23badd368d8dc75f611887fb0c0dac9f71ee5d6f110e", - "sha256:f7e89853d8bea103c8e3514b9f9dc86b5b4120afb4583b57eb10dfa5afbe0936" + "sha256:099634631b9dd271d4a835d2b2a9e042ccc94ecdf7e2dd9f7f34f7daf333358d", + "sha256:0c555e039d268445172b909b1b6bdcba42ada1cf4a60e367d68702e3f87e5f64", + "sha256:1e677bfb2b4bd0e5e99e0f7283e65e47a9814b0486cb64a41adf9ef110e078f2", + "sha256:2367d47816cc9783a28645bc1dac07f8ffc93e0f015e8c9fc674a5b76a6da6e4", + "sha256:28d072169fe8275fb1a0d35e3233f6df36a7e8474e56cb790a7258ad822b6fd6", + "sha256:31f0e3147375002aae30696dd1dc596636abbd22fca09d2e730ecde0baad1d6b", + "sha256:3e0ad3c6ea4bd6a289d958a1eb922767233f00982cf0fe42b177657c86c80a8f", + "sha256:45b4afb069039f0366a43a5d454bc54eea942bfb66b3fc3e9a2c07ef4d617380", + "sha256:4a2a6ba400d386e904fd05db81f73bee0008af37799a7586deaa4aef8cd5971e", + "sha256:4f520d9ac5b938e6494f58a25c77564beca7d0199ecf726e1bd3d56872c59749", + "sha256:52a6e0a7a0bf611c19bc8ec8f7592bdae79c8296c70eb05917fd831354699b20", + "sha256:5a4788036201c908079e89ae3f5399b33bf45b9ea4514913f4dbbe4fac08efe0", + "sha256:6b4f04b1fbc01a3569d63359f2227c89ab294550de277fd09d8fca6185669fa4", + "sha256:715b41c3e231f7334cbe79dfc698213dcb7211520ec7a3bc2ba20c8515e8a3b5", + "sha256:73121a9b7ff93ada888aaee3985a88495489cc027894458cb1a736660bdfb206", + "sha256:74ae2441731a05b44d5988d3ac2cf784d3ee0a535dbed257cbfff4be8bb49eb9", + "sha256:7d6166192dcd925c78a91d599b48960e0a46fe565391c79fe6de481ac44d20ac", + "sha256:7f193f060391a455920d61684a70017ef5284ccbe6023bb056e15e5ac3de11d1", + "sha256:907fa0b662dd8fc1d7c661b90782ce81afb510fc4b7aa6ae7304d6c094b27bce", + "sha256:93156dd7f90ae0a1b0e8871032a07ef3178f553f0c70c386025a808f3a63b1f4", + "sha256:93bc9e5aaa06ff928d751dc6be889ff3e7d2aa393ab873bc7f6396a99f6fbb12", + "sha256:95db0c6581a54b47c30860d013977b8a14febc206c8b5ff562f9fe32738a8aca", + "sha256:973d030180eca8255b1bce6ffc09ef38a05dcec0e8320cc9b7bcaa65346f341d", + "sha256:9cd7a6beec6495d1dffb1033d50a3f82dfece23e9eb3c20cd3c2444d27514068", + "sha256:9fe9096a60113e1d755e9e6bda15ef7e03391ee0554d22829aa506cdf946f796", + "sha256:a209d2e624ba492df4f3bfad5996d1f76f03069c6133c60cd04f9a9e715595ec", + "sha256:a239afa1126b6a619130909c8404070e2b473dd2b7fc4aacacd2e763f8597fea", + "sha256:ba9f09ff17f947392a855e3455a846f9855f6cf6bec33e9a427d3c1d254c712f", + "sha256:bb7273789f69b565d88e97e9e1da602b4ee7ba733caf35a6c2affd4334d4f005", + "sha256:bd5bc124fae781a4422f61b98d1d7faa47985f663a64770b78f13d2c072410c2", + "sha256:bff98816cb144fb7b85e4b5ba3888a33b56ecef075b0e95b95bcd0a5fbf20f06", + "sha256:c4ee5a24e281fbd8261c6ab29faa7fd9a87a12e8c0eed485b705236c65999109", + "sha256:c93ed66d32de1559b6fc348838c7572d5c0ac1e4a258e76763a5caddd8944002", + "sha256:d1a24f51a3305362b94681120c508758a88f207fa0a681c16b5a4172e9e6c7a9", + "sha256:d8f191a17369bd53a5557a5ee4bab91d5330ca3aefcdf17fab9a497b0e7cff7a", + "sha256:daaef7390e632283051e3cf3e16aff2b68b247e99aea916f64e578c0449c9c68", + "sha256:e40013572bfb843d6794a3ce076c29ef4efd15937ab833f520117f8eccc84fd6", + "sha256:eceef49f457253000e6a2d0f7bd08ff4e9fe96ec4ffce2dbcb32e34d9c1b8161", + "sha256:ee595d7ba9bba130b2bec555a40aafa60c26ce68ed0cf509983e0f12d88674fd", + "sha256:ef50ec31649fbc3acf6afd261ed89d09eb909b97cc289d80476166df8438524d", + "sha256:fa1f3e34373aa16045484b4d9d352d4c6b5f9f77ac77a178252ccbc851e8b2ee", + "sha256:fca66d9ff2ac89b03f5aa17e0b21a97c21f3491c46b583bb131eb32c7bab33af" ], "markers": "python_version >= '3.8'", - "version": "==4.51.0" + "version": "==4.53.0" }, "gprof2dot": { "hashes": [ - "sha256:45b4d298bd36608fccf9511c3fd88a773f7a1abc04d6cd39445b11ba43133ec5", - "sha256:f165b3851d3c52ee4915eb1bd6cca571e5759823c2cd0f71a79bda93c2dc85d6" + "sha256:45b14ad7ce64e299c8f526881007b9eb2c6b75505d5613e96e66ee4d5ab33696", + "sha256:fa1420c60025a9eb7734f65225b4da02a10fc6dd741b37fa129bc6b41951e5ab" ], - "markers": "python_version >= '2.7'", - "version": "==2022.7.29" + "markers": "python_version >= '3.8'", + "version": "==2024.6.6" }, "hypothesis": { "hashes": [ @@ -853,11 +863,11 @@ }, "importlib-metadata": { "hashes": [ - "sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570", - "sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2" + "sha256:509ecb2ab77071db5137c655e24ceb3eee66e7bbc6574165d0d114d9fc4bbe68", + "sha256:ffef94b0b66046dd8ea2d619b701fe978d9264d38f3998bc4c27ec3b146a87c8" ], "markers": "python_version >= '3.8'", - "version": "==7.1.0" + "version": "==7.2.1" }, "iniconfig": { "hashes": [ @@ -1162,11 +1172,11 @@ }, "more-itertools": { "hashes": [ - "sha256:686b06abe565edfab151cb8fd385a05651e1fdf8f0a14191e4439283421f8684", - "sha256:8fccb480c43d3e99a00087634c06dd02b0d50fbf088b380de5a41a015ec239e1" + "sha256:e5d93ef411224fbcef366a6e8ddc4c5781bc6359d43412a65dd5964e46111463", + "sha256:ea6a02e24a9161e51faad17a8782b92a0df82c12c1c8886fec7f0c3fa1a1b320" ], "markers": "python_version >= '3.8'", - "version": "==10.2.0" + "version": "==10.3.0" }, "mypy": { "hashes": [ @@ -1272,11 +1282,12 @@ }, "packaging": { "hashes": [ - "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", - "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9" + "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb", + "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522" ], - "markers": "python_version >= '3.7'", - "version": "==24.0" + "index": "pypi", + "markers": "python_version >= '3.6'", + "version": "==21.3" }, "pathspec": { "hashes": [ @@ -1367,19 +1378,19 @@ }, "pkginfo": { "hashes": [ - "sha256:5df73835398d10db79f8eecd5cd86b1f6d29317589ea70796994d49399af6297", - "sha256:889a6da2ed7ffc58ab5b900d888ddce90bce912f2d2de1dc1c26f4cb9fe65097" + "sha256:2e0dca1cf4c8e39644eed32408ea9966ee15e0d324c62ba899a393b3c6b467aa", + "sha256:bfa76a714fdfc18a045fcd684dbfc3816b603d9d075febef17cb6582bea29573" ], - "markers": "python_version >= '3.6'", - "version": "==1.10.0" + "markers": "python_version >= '3.8'", + "version": "==1.11.1" }, "platformdirs": { "hashes": [ - "sha256:031cd18d4ec63ec53e82dceaac0417d218a6863f7745dfcc9efe7793b7039bdf", - "sha256:17d5a1161b3fd67b390023cb2d3b026bbd40abde6fdb052dfbd3a29c3ba22ee1" + "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee", + "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3" ], "markers": "python_version >= '3.8'", - "version": "==4.2.1" + "version": "==4.2.2" }, "pluggy": { "hashes": [ @@ -1529,12 +1540,12 @@ }, "pytest-asyncio": { "hashes": [ - "sha256:68516fdd1018ac57b846c9846b954f0393b26f094764a28c955eabb0536a4e8a", - "sha256:ffe523a89c1c222598c76856e76852b787504ddb72dd5d9b6617ffa8aa2cde5f" + "sha256:009b48127fbe44518a547bddd25611551b0e43ccdbf1e67d12479f569832c20b", + "sha256:5f5c72948f4c49e7db4f29f2521d4031f1c27f86e57b046126654083d4770268" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==0.23.6" + "version": "==0.23.7" }, "pytest-cov": { "hashes": [ @@ -1585,7 +1596,7 @@ "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", "version": "==2.9.0.post0" }, "readme-renderer": { @@ -1598,11 +1609,11 @@ }, "requests": { "hashes": [ - "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f", - "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1" + "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", + "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6" ], - "markers": "python_version >= '3.7'", - "version": "==2.31.0" + "markers": "python_version >= '3.8'", + "version": "==2.32.3" }, "requests-toolbelt": { "hashes": [ @@ -1633,7 +1644,7 @@ "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", "version": "==1.16.0" }, "snowballstemmer": { @@ -1784,19 +1795,19 @@ }, "typing-extensions": { "hashes": [ - "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0", - "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a" + "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", + "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8" ], "markers": "python_version >= '3.8'", - "version": "==4.11.0" + "version": "==4.12.2" }, "urllib3": { "hashes": [ - "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", - "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19" + "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472", + "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168" ], "markers": "python_version >= '3.8'", - "version": "==2.2.1" + "version": "==2.2.2" }, "wheel": { "hashes": [ @@ -1809,11 +1820,11 @@ }, "zipp": { "hashes": [ - "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b", - "sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715" + "sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19", + "sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c" ], "markers": "python_version >= '3.8'", - "version": "==3.18.1" + "version": "==3.19.2" } } } diff --git a/api/release-notes.md b/api/release-notes.md index 737b4063c9c..4ba3074bf31 100644 --- a/api/release-notes.md +++ b/api/release-notes.md @@ -6,6 +6,16 @@ log][]. For a list of currently known issues, please see the [Opentrons issue tr --- +## Opentrons Robot Software Changes in 7.3.1 + +Welcome to the v7.3.1 release of the Opentrons robot software! + +### Improved Features + +- Updated values for how much a tip overlaps with the pipette nozzle when the pipette picks up tips, in order to make protocols more reliable. These new values only apply to JSON protocols and Python protocols specifying API version 2.19. + +--- + ## Opentrons Robot Software Changes in 7.3.0 Welcome to the v7.3.0 release of the Opentrons robot software! diff --git a/api/setup.py b/api/setup.py index 1811b6b4e2d..2e1fa5380f8 100755 --- a/api/setup.py +++ b/api/setup.py @@ -66,6 +66,7 @@ def get_version(): "typing-extensions>=4.0.0,<5", "click>=8.0.0,<9", 'importlib-metadata >= 1.0 ; python_version < "3.8"', + "packaging>=21.0", ] EXTRAS = { diff --git a/api/src/opentrons/hardware_control/dev_types.py b/api/src/opentrons/hardware_control/dev_types.py index 6eb459fef0f..e6122bf86aa 100644 --- a/api/src/opentrons/hardware_control/dev_types.py +++ b/api/src/opentrons/hardware_control/dev_types.py @@ -84,6 +84,7 @@ class PipetteDict(InstrumentDict): tip_length: float working_volume: float tip_overlap: Dict[str, float] + versioned_tip_overlap: Dict[str, Dict[str, float]] available_volume: float return_tip_height: float default_aspirate_flow_rates: Dict[str, float] diff --git a/api/src/opentrons/hardware_control/instruments/ot2/pipette.py b/api/src/opentrons/hardware_control/instruments/ot2/pipette.py index 436cf121e7a..5ce653f28a4 100644 --- a/api/src/opentrons/hardware_control/instruments/ot2/pipette.py +++ b/api/src/opentrons/hardware_control/instruments/ot2/pipette.py @@ -631,9 +631,8 @@ def as_dict(self) -> "Pipette.DictType": "default_dispense_flow_rates": self.dispense_flow_rates_lookup, "tip_length": self.current_tip_length, "return_tip_height": self.active_tip_settings.default_return_tip_height, - "tip_overlap": self.tip_overlap[ - "v0" - ], # TODO(cb, 2024-06-11): hard coded to "v0" - when versioned tip overlaps are fully integrated this must change + "tip_overlap": self.tip_overlap["v0"], + "versioned_tip_overlap": self.tip_overlap, "back_compat_names": self._config.pipette_backcompat_names, "supported_tips": self.liquid_class.supported_tips, } diff --git a/api/src/opentrons/hardware_control/instruments/ot2/pipette_handler.py b/api/src/opentrons/hardware_control/instruments/ot2/pipette_handler.py index 5a61cf6abee..0e9e8690b64 100644 --- a/api/src/opentrons/hardware_control/instruments/ot2/pipette_handler.py +++ b/api/src/opentrons/hardware_control/instruments/ot2/pipette_handler.py @@ -212,6 +212,7 @@ def get_attached_instrument(self, mount: MountType) -> PipetteDict: "blow_out_flow_rate", "working_volume", "tip_overlap", + "versioned_tip_overlap", "available_volume", "return_tip_height", "default_aspirate_flow_rates", diff --git a/api/src/opentrons/hardware_control/instruments/ot3/pipette.py b/api/src/opentrons/hardware_control/instruments/ot3/pipette.py index 986dd88130b..c9ef68e4e1b 100644 --- a/api/src/opentrons/hardware_control/instruments/ot3/pipette.py +++ b/api/src/opentrons/hardware_control/instruments/ot3/pipette.py @@ -581,6 +581,7 @@ def as_dict(self) -> "Pipette.DictType": "tip_length": self.current_tip_length, "return_tip_height": self.active_tip_settings.default_return_tip_height, "tip_overlap": self.tip_overlap["v0"], + "versioned_tip_overlap": self.tip_overlap, "back_compat_names": self._config.pipette_backcompat_names, "supported_tips": self.liquid_class.supported_tips, } diff --git a/api/src/opentrons/hardware_control/instruments/ot3/pipette_handler.py b/api/src/opentrons/hardware_control/instruments/ot3/pipette_handler.py index 8133eb081c9..db02775e3d0 100644 --- a/api/src/opentrons/hardware_control/instruments/ot3/pipette_handler.py +++ b/api/src/opentrons/hardware_control/instruments/ot3/pipette_handler.py @@ -228,6 +228,7 @@ def get_attached_instrument(self, mount: OT3Mount) -> PipetteDict: "blow_out_flow_rate", "working_volume", "tip_overlap", + "versioned_tip_overlap", "available_volume", "return_tip_height", "default_aspirate_flow_rates", diff --git a/api/src/opentrons/hardware_control/modules/mod_abc.py b/api/src/opentrons/hardware_control/modules/mod_abc.py index 9d5527991f6..b41315e6815 100644 --- a/api/src/opentrons/hardware_control/modules/mod_abc.py +++ b/api/src/opentrons/hardware_control/modules/mod_abc.py @@ -2,7 +2,7 @@ import asyncio import logging import re -from typing import ClassVar, Mapping, Optional, TypeVar +from typing import ClassVar, Mapping, Optional, TypeVar, cast from packaging.version import InvalidVersion, parse, Version from opentrons.config import IS_ROBOT, ROBOT_FIRMWARE_DIR from opentrons.drivers.rpi_drivers.types import USBPort @@ -18,9 +18,14 @@ def parse_fw_version(version: str) -> Version: try: device_version = parse(version) + # This is a patch for older versions of packaging - they would try and parse old + # kidns of versions and return a LegacyVersion object. We can't check for that + # explicitly because they removed it in modern versions of packaging. + if not isinstance(device_version, Version): + raise InvalidVersion() except InvalidVersion: device_version = parse("v0.0.0") - return device_version + return cast(Version, device_version) class AbstractModule(abc.ABC): diff --git a/api/src/opentrons/protocol_api/core/engine/instrument.py b/api/src/opentrons/protocol_api/core/engine/instrument.py index 0d99b42e7da..0813e702f9b 100644 --- a/api/src/opentrons/protocol_api/core/engine/instrument.py +++ b/api/src/opentrons/protocol_api/core/engine/instrument.py @@ -35,7 +35,7 @@ from opentrons.protocol_api._nozzle_layout import NozzleLayout from opentrons.hardware_control.nozzle_manager import NozzleConfigurationType from opentrons.hardware_control.nozzle_manager import NozzleMap -from . import deck_conflict +from . import deck_conflict, overlap_versions from ..instrument import AbstractInstrument from .well import WellCore @@ -782,7 +782,13 @@ def set_flow_rate( def configure_for_volume(self, volume: float) -> None: self._engine_client.execute_command( - cmd.ConfigureForVolumeParams(pipetteId=self._pipette_id, volume=volume) + cmd.ConfigureForVolumeParams( + pipetteId=self._pipette_id, + volume=volume, + tipOverlapNotAfterVersion=overlap_versions.overlap_for_api_version( + self._protocol_core.api_version + ), + ) ) def prepare_to_aspirate(self) -> None: diff --git a/api/src/opentrons/protocol_api/core/engine/overlap_versions.py b/api/src/opentrons/protocol_api/core/engine/overlap_versions.py new file mode 100644 index 00000000000..ed14859ecd3 --- /dev/null +++ b/api/src/opentrons/protocol_api/core/engine/overlap_versions.py @@ -0,0 +1,16 @@ +"""Mappings between API versions and overlap versions.""" +from functools import lru_cache +from typing_extensions import Final +from opentrons.protocols.api_support.types import APIVersion + +_OVERLAP_VERSION_MAP: Final = {APIVersion(2, 0): "v0", APIVersion(2, 19): "v1"} + + +@lru_cache(1) +def overlap_for_api_version(api_version: APIVersion) -> str: + """Get the overlap version for a specific API version.""" + defined = list(reversed(sorted(_OVERLAP_VERSION_MAP.keys()))) + for version in defined: + if version <= api_version: + return _OVERLAP_VERSION_MAP[version] + return _OVERLAP_VERSION_MAP[APIVersion(2, 0)] diff --git a/api/src/opentrons/protocol_api/core/engine/protocol.py b/api/src/opentrons/protocol_api/core/engine/protocol.py index 171b4b28478..35b3494b5f2 100644 --- a/api/src/opentrons/protocol_api/core/engine/protocol.py +++ b/api/src/opentrons/protocol_api/core/engine/protocol.py @@ -68,8 +68,7 @@ AbsorbanceReaderCore, ) from .exceptions import InvalidModuleLocationError -from . import load_labware_params -from . import deck_conflict +from . import load_labware_params, deck_conflict, overlap_versions if TYPE_CHECKING: from ...labware import Labware @@ -510,7 +509,13 @@ def load_instrument( """ engine_mount = MountType[mount.name] load_result = self._engine_client.execute_command_without_recovery( - cmd.LoadPipetteParams(pipetteName=instrument_name, mount=engine_mount) + cmd.LoadPipetteParams( + pipetteName=instrument_name, + mount=engine_mount, + tipOverlapNotAfterVersion=overlap_versions.overlap_for_api_version( + self._api_version + ), + ) ) return InstrumentCore( diff --git a/api/src/opentrons/protocol_engine/commands/configure_for_volume.py b/api/src/opentrons/protocol_engine/commands/configure_for_volume.py index 9a84e16dc45..8415c401fe7 100644 --- a/api/src/opentrons/protocol_engine/commands/configure_for_volume.py +++ b/api/src/opentrons/protocol_engine/commands/configure_for_volume.py @@ -25,6 +25,13 @@ class ConfigureForVolumeParams(PipetteIdMixin): "than a pipette-specific maximum volume.", ge=0, ) + tipOverlapNotAfterVersion: Optional[str] = Field( + None, + description="A version of tip overlap data to not exceed. The highest-versioned " + "tip overlap data that does not exceed this version will be used. Versions are " + "expressed as vN where N is an integer, counting up from v0. If None, the current " + "highest version will be used.", + ) class ConfigureForVolumePrivateResult(PipetteConfigUpdateResultMixin): @@ -57,6 +64,7 @@ async def execute( pipette_result = await self._equipment.configure_for_volume( pipette_id=params.pipetteId, volume=params.volume, + tip_overlap_version=params.tipOverlapNotAfterVersion, ) return SuccessData( diff --git a/api/src/opentrons/protocol_engine/commands/load_pipette.py b/api/src/opentrons/protocol_engine/commands/load_pipette.py index ea7ac60bad3..5b3d1c22693 100644 --- a/api/src/opentrons/protocol_engine/commands/load_pipette.py +++ b/api/src/opentrons/protocol_engine/commands/load_pipette.py @@ -49,6 +49,13 @@ class LoadPipetteParams(BaseModel): description="An optional ID to assign to this pipette. If None, an ID " "will be generated.", ) + tipOverlapNotAfterVersion: Optional[str] = Field( + None, + description="A version of tip overlap data to not exceed. The highest-versioned " + "tip overlap data that does not exceed this version will be used. Versions are " + "expressed as vN where N is an integer, counting up from v0. If None, the current " + "highest version will be used.", + ) class LoadPipetteResult(BaseModel): @@ -109,6 +116,7 @@ async def execute( pipette_name=params.pipetteName, mount=params.mount, pipette_id=params.pipetteId, + tip_overlap_version=params.tipOverlapNotAfterVersion, ) return SuccessData( diff --git a/api/src/opentrons/protocol_engine/execution/equipment.py b/api/src/opentrons/protocol_engine/execution/equipment.py index d41894a4cb2..17e9fbf0ffe 100644 --- a/api/src/opentrons/protocol_engine/execution/equipment.py +++ b/api/src/opentrons/protocol_engine/execution/equipment.py @@ -205,6 +205,7 @@ async def load_pipette( pipette_name: PipetteNameType, mount: MountType, pipette_id: Optional[str], + tip_overlap_version: Optional[str], ) -> LoadedPipetteData: """Ensure the requested pipette is attached. @@ -213,6 +214,8 @@ async def load_pipette( mount: The mount on which pipette must be attached. pipette_id: An optional identifier to assign the pipette. If None, an identifier will be generated. + tip_overlap_version: An optional specifier for the version of tip overlap data to use. + If None, defaults to v0. Does not need to be format checked - this function does it. Returns: A LoadedPipetteData object. @@ -227,6 +230,11 @@ async def load_pipette( if isinstance(pipette_name, PipetteNameType) else pipette_name ) + sanitized_overlap_version = ( + pipette_data_provider.validate_and_default_tip_overlap_version( + tip_overlap_version + ) + ) pipette_id = pipette_id or self._model_utils.generate_id() if not use_virtual_pipettes: @@ -259,14 +267,16 @@ async def load_pipette( serial_number = pipette_dict["pipette_id"] static_pipette_config = pipette_data_provider.get_pipette_static_config( - pipette_dict + pipette_dict=pipette_dict, tip_overlap_version=sanitized_overlap_version ) else: serial_number = self._model_utils.generate_id(prefix="fake-serial-number-") static_pipette_config = ( self._virtual_pipette_data_provider.get_virtual_pipette_static_config( - pipette_name_value, pipette_id + pipette_name=pipette_name_value, + pipette_id=pipette_id, + tip_overlap_version=sanitized_overlap_version, ) ) serial = serial_number or "" @@ -369,9 +379,7 @@ async def load_module( ) async def configure_for_volume( - self, - pipette_id: str, - volume: float, + self, pipette_id: str, volume: float, tip_overlap_version: Optional[str] ) -> LoadedConfigureForVolumeData: """Ensure the requested volume can be configured for the given pipette. @@ -383,6 +391,11 @@ async def configure_for_volume( A LoadedConfiguredVolumeData object. """ use_virtual_pipettes = self._state_store.config.use_virtual_pipettes + sanitized_overlap_version = ( + pipette_data_provider.validate_and_default_tip_overlap_version( + tip_overlap_version + ) + ) if not use_virtual_pipettes: mount = self._state_store.pipettes.get_mount(pipette_id).to_hw_mount() @@ -392,7 +405,7 @@ async def configure_for_volume( serial_number = pipette_dict["pipette_id"] static_pipette_config = pipette_data_provider.get_pipette_static_config( - pipette_dict + pipette_dict=pipette_dict, tip_overlap_version=sanitized_overlap_version ) else: @@ -403,7 +416,9 @@ async def configure_for_volume( serial_number = self._model_utils.generate_id(prefix="fake-serial-number-") static_pipette_config = self._virtual_pipette_data_provider.get_virtual_pipette_static_config_by_model_string( - model, pipette_id + pipette_model_string=model, + pipette_id=pipette_id, + tip_overlap_version=sanitized_overlap_version, ) return LoadedConfigureForVolumeData( diff --git a/api/src/opentrons/protocol_engine/resources/pipette_data_provider.py b/api/src/opentrons/protocol_engine/resources/pipette_data_provider.py index e29976d3fc4..e5a13af3f9a 100644 --- a/api/src/opentrons/protocol_engine/resources/pipette_data_provider.py +++ b/api/src/opentrons/protocol_engine/resources/pipette_data_provider.py @@ -1,6 +1,7 @@ """Pipette config data providers.""" from dataclasses import dataclass -from typing import Dict, Optional +from typing import Dict, Optional, Sequence +import re from opentrons_shared_data.pipette.dev_types import PipetteName, PipetteModel from opentrons_shared_data.pipette import ( @@ -17,9 +18,34 @@ ) from opentrons_shared_data.errors.exceptions import MissingConfigurationData +from ..errors.exceptions import InvalidLoadPipetteSpecsError from ..types import FlowRates from ...types import Point +_TIP_OVERLAP_VERSION_RE = re.compile(r"^v\d+$") + + +def validate_and_default_tip_overlap_version(version_spec: Optional[str]) -> str: + """Validate and sanitize tip overlap versions for later consumption. + + Something that comes out of this function will be of the correct format, but a given kind of + pipette may not have this version of data. + """ + if version_spec is None: + return f"v{pipette_definition.TIP_OVERLAP_VERSION_MAXIMUM}" + valid = _TIP_OVERLAP_VERSION_RE.match(version_spec) + if not valid: + raise InvalidLoadPipetteSpecsError( + f"Tip overlap version specification {version_spec} is invalid." + ) + try: + _ = int(version_spec[1:]) + except ValueError: + raise InvalidLoadPipetteSpecsError( + f"Tip overlap version specification {version_spec} is invalid." + ) + return version_spec + @dataclass(frozen=True) class LoadedStaticPipetteData: @@ -112,14 +138,14 @@ def get_nozzle_layout_for_pipette(self, pipette_id: str) -> NozzleMap: return self._nozzle_manager_layout_by_id[pipette_id].current_configuration def get_virtual_pipette_static_config_by_model_string( - self, pipette_model_string: str, pipette_id: str + self, pipette_model_string: str, pipette_id: str, tip_overlap_version: str ) -> LoadedStaticPipetteData: """Get the config of a pipette when you know its model string (e.g. from state).""" pipette_model = pipette_load_name.convert_pipette_model( PipetteModel(pipette_model_string) ) return self._get_virtual_pipette_static_config_by_model( - pipette_model, pipette_id + pipette_model, pipette_id, tip_overlap_version ) def _get_virtual_pipette_full_config_by_model_string( @@ -136,7 +162,10 @@ def _get_virtual_pipette_full_config_by_model_string( ) def _get_virtual_pipette_static_config_by_model( # noqa: C901 - self, pipette_model: pipette_definition.PipetteModelVersionType, pipette_id: str + self, + pipette_model: pipette_definition.PipetteModelVersionType, + pipette_id: str, + tip_overlap_version: str, ) -> LoadedStaticPipetteData: if pipette_id not in self._liquid_class_by_id: self._liquid_class_by_id[pipette_id] = pip_types.LiquidClasses.default @@ -189,9 +218,12 @@ def _get_virtual_pipette_static_config_by_model( # noqa: C901 if configuration is not None: try: tip_overlap_dict_for_tip_type = ( - configuration.configuration_by_nozzle_map[ - nozzle_manager.current_configuration.valid_map_key - ][tip_type.name].versioned_tip_overlap_dictionary["v0"] + get_latest_tip_overlap_before_version( + configuration.configuration_by_nozzle_map[ + nozzle_manager.current_configuration.valid_map_key + ][tip_type.name].versioned_tip_overlap_dictionary, + tip_overlap_version, + ) ) break except KeyError: @@ -201,7 +233,10 @@ def _get_virtual_pipette_static_config_by_model( # noqa: C901 ].get("default") if default is not None: tip_overlap_dict_for_tip_type = ( - default.versioned_tip_overlap_dictionary["v0"] + get_latest_tip_overlap_before_version( + default.versioned_tip_overlap_dictionary, + tip_overlap_version, + ) ) break except KeyError: @@ -243,16 +278,18 @@ def _get_virtual_pipette_static_config_by_model( # noqa: C901 ) def get_virtual_pipette_static_config( - self, pipette_name: PipetteName, pipette_id: str + self, pipette_name: PipetteName, pipette_id: str, tip_overlap_version: str ) -> LoadedStaticPipetteData: """Get the config for a virtual pipette, given only the pipette name.""" pipette_model = pipette_load_name.convert_pipette_name(pipette_name) return self._get_virtual_pipette_static_config_by_model( - pipette_model, pipette_id + pipette_model, pipette_id, tip_overlap_version ) -def get_pipette_static_config(pipette_dict: PipetteDict) -> LoadedStaticPipetteData: +def get_pipette_static_config( + pipette_dict: PipetteDict, tip_overlap_version: str +) -> LoadedStaticPipetteData: """Get the config for a pipette, given the state/config object from the HW API.""" back_left_offset = pipette_dict["pipette_bounding_box_offsets"].back_left_corner front_right_offset = pipette_dict["pipette_bounding_box_offsets"].front_right_corner @@ -270,7 +307,9 @@ def get_pipette_static_config(pipette_dict: PipetteDict) -> LoadedStaticPipetteD tip_configuration_lookup_table={ k.value: v for k, v in pipette_dict["supported_tips"].items() }, - nominal_tip_overlap=pipette_dict["tip_overlap"], + nominal_tip_overlap=get_latest_tip_overlap_before_version( + pipette_dict["versioned_tip_overlap"], tip_overlap_version + ), # TODO(mc, 2023-02-28): these two values are not present in PipetteDict # https://opentrons.atlassian.net/browse/RCORE-655 home_position=0, @@ -283,3 +322,26 @@ def get_pipette_static_config(pipette_dict: PipetteDict) -> LoadedStaticPipetteD front_right_offset[0], front_right_offset[1], front_right_offset[2] ), ) + + +def get_latest_tip_overlap_before_version( + overlap: Dict[str, Dict[str, float]], version: str +) -> Dict[str, float]: + """Get the latest tip overlap definitions that are equal or older than the version.""" + # TODO: make this less awful + def _numeric(versionstr: str) -> int: + return int(versionstr[1:]) + + def _latest(versions: Sequence[int], target: int) -> int: + last = 0 + for version in versions: + if version > target: + return last + last = version + return last + + numeric_target = _numeric(version) + numeric_versions = sorted([_numeric(k) for k in overlap.keys()]) + found_numeric_version = _latest(numeric_versions, numeric_target) + found_version = f"v{found_numeric_version}" + return overlap[found_version] diff --git a/api/src/opentrons/protocol_runner/legacy_command_mapper.py b/api/src/opentrons/protocol_runner/legacy_command_mapper.py index 9761b89c7fb..021d03de809 100644 --- a/api/src/opentrons/protocol_runner/legacy_command_mapper.py +++ b/api/src/opentrons/protocol_runner/legacy_command_mapper.py @@ -719,7 +719,10 @@ def _map_instrument_load( pipette_id=pipette_id, serial_number=serial, config=pipette_data_provider.get_pipette_static_config( - instrument_load_info.pipette_dict + # Compatibility note - this is the version of tip overlap data, it stays at 0 + # so protocol behavior does not change when you run a legacy JSON protocol + instrument_load_info.pipette_dict, + "v0", ), ) queue_action = pe_actions.QueueCommandAction( diff --git a/api/src/opentrons/protocols/api_support/definitions.py b/api/src/opentrons/protocols/api_support/definitions.py index 01fbddbc41f..483f95f4801 100644 --- a/api/src/opentrons/protocols/api_support/definitions.py +++ b/api/src/opentrons/protocols/api_support/definitions.py @@ -1,6 +1,6 @@ from .types import APIVersion -MAX_SUPPORTED_VERSION = APIVersion(2, 18) +MAX_SUPPORTED_VERSION = APIVersion(2, 19) """The maximum supported protocol API version in this release.""" MIN_SUPPORTED_VERSION = APIVersion(2, 0) diff --git a/api/tests/opentrons/protocol_api/core/engine/test_instrument_core.py b/api/tests/opentrons/protocol_api/core/engine/test_instrument_core.py index 63251a258c0..1cbf8b143fd 100644 --- a/api/tests/opentrons/protocol_api/core/engine/test_instrument_core.py +++ b/api/tests/opentrons/protocol_api/core/engine/test_instrument_core.py @@ -48,6 +48,8 @@ from opentrons.protocols.api_support.types import APIVersion from opentrons.types import Location, Mount, MountType, Point +from ... import versions_below, versions_at_or_above + @pytest.fixture def mock_engine_client(decoy: Decoy) -> EngineClient: @@ -1228,3 +1230,47 @@ def test_is_tip_tracking_available( mock_engine_client.state.pipettes.get_primary_nozzle(subject.pipette_id) ).then_return(primary_nozzle) assert subject.is_tip_tracking_available() == expected_result + + +@pytest.mark.parametrize("version", versions_below(APIVersion(2, 19), flex_only=False)) +def test_configure_for_volume_pre_219( + decoy: Decoy, + mock_engine_client: EngineClient, + mock_protocol_core: ProtocolCore, + subject: InstrumentCore, + version: APIVersion, +) -> None: + """Configure_for_volume should specify overlap version.""" + decoy.when(mock_protocol_core.api_version).then_return(version) + subject.configure_for_volume(123.0) + decoy.verify( + mock_engine_client.execute_command( + cmd.ConfigureForVolumeParams( + pipetteId=subject.pipette_id, + volume=123.0, + tipOverlapNotAfterVersion="v0", + ) + ) + ) + + +@pytest.mark.parametrize("version", versions_at_or_above(APIVersion(2, 19))) +def test_configure_for_volume_post_219( + decoy: Decoy, + mock_engine_client: EngineClient, + mock_protocol_core: ProtocolCore, + subject: InstrumentCore, + version: APIVersion, +) -> None: + """Configure_for_volume should specify overlap version.""" + decoy.when(mock_protocol_core.api_version).then_return(version) + subject.configure_for_volume(123.0) + decoy.verify( + mock_engine_client.execute_command( + cmd.ConfigureForVolumeParams( + pipetteId=subject.pipette_id, + volume=123.0, + tipOverlapNotAfterVersion="v1", + ) + ) + ) diff --git a/api/tests/opentrons/protocol_api/core/engine/test_overlap_versions.py b/api/tests/opentrons/protocol_api/core/engine/test_overlap_versions.py new file mode 100644 index 00000000000..9d41a431026 --- /dev/null +++ b/api/tests/opentrons/protocol_api/core/engine/test_overlap_versions.py @@ -0,0 +1,26 @@ +"""Test the tip overlap selection logic in the API core.""" +import pytest + +from opentrons.protocol_api.core.engine.overlap_versions import overlap_for_api_version +from opentrons.protocols.api_support.types import APIVersion + +from ... import versions_below, versions_at_or_above + + +@pytest.mark.parametrize( + "api_version", versions_below(APIVersion(2, 19), flex_only=False) +) +def test_all_below_219_use_v0(api_version: APIVersion) -> None: + """Versions below 2.19 should use v0.""" + assert overlap_for_api_version(api_version) == "v0" + + +@pytest.mark.parametrize("api_version", versions_at_or_above(APIVersion(2, 19))) +def test_all_above_219_use_v1(api_version: APIVersion) -> None: + """Versions above 2.19 should use v1.""" + assert overlap_for_api_version(api_version) == "v1" + + +def test_future_api_version_uses_v1() -> None: + """Future versions should use v1.""" + assert overlap_for_api_version(APIVersion(2, 99)) == "v1" diff --git a/api/tests/opentrons/protocol_api/core/engine/test_protocol_core.py b/api/tests/opentrons/protocol_api/core/engine/test_protocol_core.py index 0a380fdc2cd..9a68084cc89 100644 --- a/api/tests/opentrons/protocol_api/core/engine/test_protocol_core.py +++ b/api/tests/opentrons/protocol_api/core/engine/test_protocol_core.py @@ -87,6 +87,8 @@ STANDARD_OT3_DECK, ) +from ... import versions_below, versions_at_or_above + @pytest.fixture(scope="session") def ot2_standard_deck_def() -> DeckDefinitionV5: @@ -236,7 +238,46 @@ def test_get_slot_item_empty( assert subject.get_slot_item(DeckSlotName.SLOT_1) is None -def test_load_instrument( +@pytest.mark.parametrize( + "api_version", versions_below(APIVersion(2, 19), flex_only=False) +) +def test_load_instrument_pre_219( + decoy: Decoy, + mock_sync_hardware_api: SyncHardwareAPI, + mock_engine_client: EngineClient, + subject: ProtocolCore, +) -> None: + """It should issue a LoadPipette command.""" + decoy.when( + mock_engine_client.execute_command_without_recovery( + cmd.LoadPipetteParams( + pipetteName=PipetteNameType.P300_SINGLE, + mount=MountType.LEFT, + tipOverlapNotAfterVersion="v0", + ) + ) + ).then_return(commands.LoadPipetteResult(pipetteId="cool-pipette")) + + decoy.when( + mock_engine_client.state.pipettes.get_flow_rates("cool-pipette") + ).then_return( + FlowRates( + default_aspirate={"1.1": 22}, + default_dispense={"3.3": 44}, + default_blow_out={"5.5": 66}, + ), + ) + + result = subject.load_instrument( + instrument_name=PipetteNameType.P300_SINGLE, mount=Mount.LEFT + ) + + assert isinstance(result, InstrumentCore) + assert result.pipette_id == "cool-pipette" + + +@pytest.mark.parametrize("api_version", versions_at_or_above(APIVersion(2, 19))) +def test_load_instrument_post_219( decoy: Decoy, mock_sync_hardware_api: SyncHardwareAPI, mock_engine_client: EngineClient, @@ -246,7 +287,9 @@ def test_load_instrument( decoy.when( mock_engine_client.execute_command_without_recovery( cmd.LoadPipetteParams( - pipetteName=PipetteNameType.P300_SINGLE, mount=MountType.LEFT + pipetteName=PipetteNameType.P300_SINGLE, + mount=MountType.LEFT, + tipOverlapNotAfterVersion="v1", ) ) ).then_return(commands.LoadPipetteResult(pipetteId="cool-pipette")) diff --git a/api/tests/opentrons/protocol_engine/commands/test_configure_for_volume.py b/api/tests/opentrons/protocol_engine/commands/test_configure_for_volume.py index 0bd683fc1fe..7a9aefd8e5d 100644 --- a/api/tests/opentrons/protocol_engine/commands/test_configure_for_volume.py +++ b/api/tests/opentrons/protocol_engine/commands/test_configure_for_volume.py @@ -1,4 +1,5 @@ """Test load pipette commands.""" +import pytest from decoy import Decoy from opentrons.protocol_engine.execution import ( @@ -22,18 +23,26 @@ from opentrons.types import Point +@pytest.mark.parametrize( + "data", + [ + ConfigureForVolumeParams( + pipetteId="some id", + volume=1, + ), + ConfigureForVolumeParams( + pipetteId="some id", + volume=1, + tipOverlapNotAfterVersion="v3", + ), + ], +) async def test_configure_for_volume_implementation( - decoy: Decoy, - equipment: EquipmentHandler, + decoy: Decoy, equipment: EquipmentHandler, data: ConfigureForVolumeParams ) -> None: """A ConfigureForVolume command should have an execution implementation.""" subject = ConfigureForVolumeImplementation(equipment=equipment) - data = ConfigureForVolumeParams( - pipetteId="some id", - volume=1, - ) - config = LoadedStaticPipetteData( model="some-model", display_name="Hello", @@ -56,6 +65,7 @@ async def test_configure_for_volume_implementation( await equipment.configure_for_volume( pipette_id="some id", volume=1, + tip_overlap_version=data.tipOverlapNotAfterVersion, ) ).then_return( LoadedConfigureForVolumeData( diff --git a/api/tests/opentrons/protocol_engine/commands/test_load_pipette.py b/api/tests/opentrons/protocol_engine/commands/test_load_pipette.py index cb1913da0bb..c93122efccc 100644 --- a/api/tests/opentrons/protocol_engine/commands/test_load_pipette.py +++ b/api/tests/opentrons/protocol_engine/commands/test_load_pipette.py @@ -23,10 +23,27 @@ from ..pipette_fixtures import get_default_nozzle_map +@pytest.mark.parametrize( + "data", + [ + LoadPipetteParams( + pipetteName=PipetteNameType.P300_SINGLE, + mount=MountType.LEFT, + pipetteId="some id", + ), + LoadPipetteParams( + pipetteName=PipetteNameType.P300_SINGLE, + mount=MountType.LEFT, + pipetteId="some id", + tipOverlapNotAfterVersion="v2", + ), + ], +) async def test_load_pipette_implementation( decoy: Decoy, equipment: EquipmentHandler, state_view: StateView, + data: LoadPipetteParams, ) -> None: """A LoadPipette command should have an execution implementation.""" subject = LoadPipetteImplementation(equipment=equipment, state_view=state_view) @@ -47,17 +64,13 @@ async def test_load_pipette_implementation( back_left_corner_offset=Point(x=1, y=2, z=3), front_right_corner_offset=Point(x=4, y=5, z=6), ) - data = LoadPipetteParams( - pipetteName=PipetteNameType.P300_SINGLE, - mount=MountType.LEFT, - pipetteId="some id", - ) decoy.when( await equipment.load_pipette( pipette_name=PipetteNameType.P300_SINGLE, mount=MountType.LEFT, pipette_id="some id", + tip_overlap_version=data.tipOverlapNotAfterVersion, ) ).then_return( LoadedPipetteData( @@ -113,6 +126,7 @@ async def test_load_pipette_implementation_96_channel( pipette_name=PipetteNameType.P1000_96, mount=MountType.LEFT, pipette_id="some id", + tip_overlap_version=None, ) ).then_return( LoadedPipetteData( diff --git a/api/tests/opentrons/protocol_engine/execution/test_equipment_handler.py b/api/tests/opentrons/protocol_engine/execution/test_equipment_handler.py index 1177894e977..c8db4b3191f 100644 --- a/api/tests/opentrons/protocol_engine/execution/test_equipment_handler.py +++ b/api/tests/opentrons/protocol_engine/execution/test_equipment_handler.py @@ -1,9 +1,10 @@ """Test equipment command execution side effects.""" import pytest +from _pytest.fixtures import SubRequest import inspect from datetime import datetime from decoy import Decoy, matchers -from typing import Any, Optional, cast +from typing import Any, Optional, cast, Dict from opentrons_shared_data.pipette.dev_types import PipetteNameType from opentrons_shared_data.pipette import pipette_definition @@ -121,9 +122,16 @@ async def temp_module_v2(decoy: Decoy) -> TempDeck: return temp_mod +@pytest.fixture(params=["v0", "v1", "v3"]) +def tip_overlap_versions(request: SubRequest) -> str: + """Get a series of tip overlap versions.""" + return cast(str, request.param) + + @pytest.fixture def loaded_static_pipette_data( supported_tip_fixture: pipette_definition.SupportedTipsDefinition, + target_tip_overlap_data: Dict[str, float], ) -> LoadedStaticPipetteData: """Get a pipette config data value object.""" return LoadedStaticPipetteData( @@ -138,7 +146,7 @@ def loaded_static_pipette_data( default_dispense={"c": 7.89}, ), tip_configuration_lookup_table={4.56: supported_tip_fixture}, - nominal_tip_overlap={"default": 9.87}, + nominal_tip_overlap=target_tip_overlap_data, home_position=10.11, nozzle_offset_z=12.13, nozzle_map=get_default_nozzle_map(PipetteNameType.P300_SINGLE), @@ -147,6 +155,12 @@ def loaded_static_pipette_data( ) +@pytest.fixture +def target_tip_overlap_data(tip_overlap_versions: str) -> Dict[str, float]: + """Get the corresponding overlap data for the version.""" + return {"default": 2.13 * int(tip_overlap_versions[1:])} + + @pytest.fixture def virtual_pipette_data_provider( decoy: Decoy, @@ -606,6 +620,7 @@ async def test_load_pipette( hardware_api: HardwareControlAPI, state_store: StateStore, loaded_static_pipette_data: LoadedStaticPipetteData, + tip_overlap_versions: str, subject: EquipmentHandler, ) -> None: """It should load pipette data, check attachment, and generate an ID.""" @@ -621,7 +636,14 @@ async def test_load_pipette( ) decoy.when( - pipette_data_provider.get_pipette_static_config(pipette_dict) + pipette_data_provider.validate_and_default_tip_overlap_version( + tip_overlap_versions + ) + ).then_return(tip_overlap_versions) + decoy.when( + pipette_data_provider.get_pipette_static_config( + pipette_dict=pipette_dict, tip_overlap_version=tip_overlap_versions + ), ).then_return(loaded_static_pipette_data) decoy.when(hardware_api.get_instrument_max_height(mount=HwMount.LEFT)).then_return( @@ -632,6 +654,7 @@ async def test_load_pipette( pipette_name=PipetteNameType.P300_SINGLE, mount=MountType.LEFT, pipette_id=None, + tip_overlap_version=tip_overlap_versions, ) assert result == LoadedPipetteData( @@ -656,6 +679,7 @@ async def test_load_pipette_96_channels( hardware_api: HardwareControlAPI, state_store: StateStore, loaded_static_pipette_data: LoadedStaticPipetteData, + tip_overlap_versions: str, subject: EquipmentHandler, ) -> None: """It should load pipette data, check attachment, and generate an ID.""" @@ -667,7 +691,14 @@ async def test_load_pipette_96_channels( pipette_dict ) decoy.when( - pipette_data_provider.get_pipette_static_config(pipette_dict) + pipette_data_provider.validate_and_default_tip_overlap_version( + tip_overlap_versions + ) + ).then_return(tip_overlap_versions) + decoy.when( + pipette_data_provider.get_pipette_static_config( + pipette_dict=pipette_dict, tip_overlap_version=tip_overlap_versions + ) ).then_return(loaded_static_pipette_data) decoy.when(hardware_api.get_instrument_max_height(mount=HwMount.LEFT)).then_return( @@ -678,6 +709,7 @@ async def test_load_pipette_96_channels( pipette_name=PipetteNameType.P1000_96, mount=MountType.LEFT, pipette_id=None, + tip_overlap_version=tip_overlap_versions, ) assert result == LoadedPipetteData( @@ -692,6 +724,7 @@ async def test_load_pipette_uses_provided_id( hardware_api: HardwareControlAPI, state_store: StateStore, loaded_static_pipette_data: LoadedStaticPipetteData, + tip_overlap_versions: str, subject: EquipmentHandler, ) -> None: """It should use the provided ID rather than generating an ID for the pipette.""" @@ -702,13 +735,21 @@ async def test_load_pipette_uses_provided_id( pipette_dict ) decoy.when( - pipette_data_provider.get_pipette_static_config(pipette_dict) + pipette_data_provider.validate_and_default_tip_overlap_version( + tip_overlap_versions + ) + ).then_return(tip_overlap_versions) + decoy.when( + pipette_data_provider.get_pipette_static_config( + pipette_dict=pipette_dict, tip_overlap_version=tip_overlap_versions + ) ).then_return(loaded_static_pipette_data) result = await subject.load_pipette( pipette_name=PipetteNameType.P300_SINGLE, mount=MountType.LEFT, pipette_id="my-pipette-id", + tip_overlap_version=tip_overlap_versions, ) assert result == LoadedPipetteData( @@ -724,6 +765,7 @@ async def test_load_pipette_use_virtual( state_store: StateStore, loaded_static_pipette_data: LoadedStaticPipetteData, subject: EquipmentHandler, + tip_overlap_versions: str, virtual_pipette_data_provider: pipette_data_provider.VirtualPipetteDataProvider, ) -> None: """It should use the provided ID rather than generating an ID for the pipette.""" @@ -733,15 +775,22 @@ async def test_load_pipette_use_virtual( decoy.when(model_utils.generate_id(prefix="fake-serial-number-")).then_return( "fake-serial" ) - + decoy.when( + pipette_data_provider.validate_and_default_tip_overlap_version( + tip_overlap_versions + ) + ).then_return(tip_overlap_versions) decoy.when( virtual_pipette_data_provider.get_virtual_pipette_static_config( - PipetteNameType.P300_SINGLE.value, "unique-id" + PipetteNameType.P300_SINGLE.value, "unique-id", tip_overlap_versions ) ).then_return(loaded_static_pipette_data) result = await subject.load_pipette( - pipette_name=PipetteNameType.P300_SINGLE, mount=MountType.LEFT, pipette_id=None + pipette_name=PipetteNameType.P300_SINGLE, + mount=MountType.LEFT, + pipette_id=None, + tip_overlap_version=tip_overlap_versions, ) assert result == LoadedPipetteData( @@ -781,6 +830,7 @@ async def test_load_pipette_raises_if_pipette_not_attached( pipette_name=PipetteNameType.P300_SINGLE, mount=MountType.LEFT, pipette_id=None, + tip_overlap_version="v9999", ) diff --git a/api/tests/opentrons/protocol_engine/resources/test_pipette_data_provider.py b/api/tests/opentrons/protocol_engine/resources/test_pipette_data_provider.py index 37fc0635c3f..b77a8cf25a8 100644 --- a/api/tests/opentrons/protocol_engine/resources/test_pipette_data_provider.py +++ b/api/tests/opentrons/protocol_engine/resources/test_pipette_data_provider.py @@ -1,9 +1,12 @@ """Test pipette data provider.""" +from typing import Dict +from sys import maxsize import pytest from opentrons_shared_data.pipette.dev_types import PipetteNameType, PipetteModel from opentrons_shared_data.pipette import pipette_definition, types as pip_types from opentrons_shared_data.pipette.pipette_definition import ( PipetteBoundingBoxOffsetDefinition, + TIP_OVERLAP_VERSION_MAXIMUM, ) from opentrons.hardware_control.dev_types import PipetteDict @@ -11,9 +14,12 @@ from opentrons.protocol_engine.resources.pipette_data_provider import ( LoadedStaticPipetteData, VirtualPipetteDataProvider, + validate_and_default_tip_overlap_version, + get_latest_tip_overlap_before_version, ) from opentrons.protocol_engine.resources import pipette_data_provider as subject +from opentrons.protocol_engine.errors.exceptions import InvalidLoadPipetteSpecsError from ..pipette_fixtures import get_default_nozzle_map from opentrons.types import Point @@ -29,7 +35,7 @@ def test_get_virtual_pipette_static_config( ) -> None: """It should return config data given a pipette name.""" result = subject_instance.get_virtual_pipette_static_config( - PipetteNameType.P20_SINGLE_GEN2.value, "some-id" + PipetteNameType.P20_SINGLE_GEN2.value, "some-id", "v0" ) assert result == LoadedStaticPipetteData( @@ -66,7 +72,7 @@ def test_configure_virtual_pipette_for_volume( ) -> None: """It should return an updated config if the liquid class changes.""" result1 = subject_instance.get_virtual_pipette_static_config( - PipetteNameType.P50_SINGLE_FLEX.value, "my-pipette" + PipetteNameType.P50_SINGLE_FLEX.value, "my-pipette", "v0" ) assert result1 == LoadedStaticPipetteData( model="p50_single_v3.6", @@ -91,7 +97,7 @@ def test_configure_virtual_pipette_for_volume( "my-pipette", 1, result1.model ) result2 = subject_instance.get_virtual_pipette_static_config( - PipetteNameType.P50_SINGLE_FLEX.value, "my-pipette" + PipetteNameType.P50_SINGLE_FLEX.value, "my-pipette", "v0" ) assert result2 == LoadedStaticPipetteData( model="p50_single_v3.6", @@ -119,7 +125,7 @@ def test_load_virtual_pipette_by_model_string( ) -> None: """It should return config data given a pipette model.""" result = subject_instance.get_virtual_pipette_static_config_by_model_string( - "p300_multi_v2.1", "my-pipette" + "p300_multi_v2.1", "my-pipette", "v0" ) assert result == LoadedStaticPipetteData( model="p300_multi_v2.1", @@ -180,12 +186,12 @@ def test_load_virtual_pipette_nozzle_layout( assert result.configuration.value == "COLUMN" -def test_get_pipette_static_config( +@pytest.fixture +def pipette_dict( supported_tip_fixture: pipette_definition.SupportedTipsDefinition, -) -> None: - """It should return config data given a PipetteDict.""" - dummy_nozzle_map = get_default_nozzle_map(PipetteNameType.P300_SINGLE_GEN2) - pipette_dict: PipetteDict = { +) -> PipetteDict: + """Get a pipette dict.""" + return { "name": "p300_single_gen2", "min_volume": 20, "max_volume": 300, @@ -204,6 +210,12 @@ def test_get_pipette_static_config( "opentrons/opentrons_96_tiprack_300ul/1": 8.2, "opentrons/opentrons_96_filtertiprack_200ul/1": 8.2, }, + "versioned_tip_overlap": { + "v0": { + "default": 8.2, + }, + "v2": {"default": 9.3}, + }, "available_volume": 300.0, "return_tip_height": 0.5, "default_aspirate_flow_rates": {"2.0": 46.43, "2.1": 92.86}, @@ -220,14 +232,31 @@ def test_get_pipette_static_config( "default_aspirate_speeds": {"2.0": 5.021202, "2.6": 10.042404}, "default_push_out_volume": 3, "supported_tips": {pip_types.PipetteTipType.t300: supported_tip_fixture}, - "current_nozzle_map": dummy_nozzle_map, + "current_nozzle_map": get_default_nozzle_map(PipetteNameType.P300_SINGLE_GEN2), "pipette_bounding_box_offsets": PipetteBoundingBoxOffsetDefinition( backLeftCorner=[10, 20, 30], frontRightCorner=[40, 50, 60], ), } - result = subject.get_pipette_static_config(pipette_dict) + +@pytest.mark.parametrize( + "tip_overlap_version,overlap_data", + [ + ("v0", {"default": 8.2}), + ("v1", {"default": 8.2}), + ("v2", {"default": 9.3}), + ("v10000", {"default": 9.3}), + ], +) +def test_get_pipette_static_config( + supported_tip_fixture: pipette_definition.SupportedTipsDefinition, + pipette_dict: PipetteDict, + tip_overlap_version: str, + overlap_data: Dict[str, float], +) -> None: + """It should return config data given a PipetteDict.""" + result = subject.get_pipette_static_config(pipette_dict, tip_overlap_version) assert result == LoadedStaticPipetteData( model="p300_single_v2.0", @@ -241,16 +270,62 @@ def test_get_pipette_static_config( default_blow_out={"2.0": 46.43, "2.2": 92.86}, ), tip_configuration_lookup_table={300: supported_tip_fixture}, - nominal_tip_overlap={ - "default": 8.2, - "opentrons/opentrons_96_tiprack_300ul/1": 8.2, - "opentrons/opentrons_96_filtertiprack_200ul/1": 8.2, - }, + nominal_tip_overlap=overlap_data, # TODO(mc, 2023-02-28): these two values are not present in PipetteDict # https://opentrons.atlassian.net/browse/RCORE-655 nozzle_offset_z=0, home_position=0, - nozzle_map=dummy_nozzle_map, + nozzle_map=get_default_nozzle_map(PipetteNameType.P300_SINGLE_GEN2), back_left_corner_offset=Point(10, 20, 30), front_right_corner_offset=Point(40, 50, 60), ) + + +@pytest.mark.parametrize( + "version", + [ + "", + "qwe", + "v", + "v-1", + "vab", + ], +) +def test_validate_bad_tip_overlap_versions(version: str) -> None: + """Raise for bad tip overlap version specs.""" + with pytest.raises(InvalidLoadPipetteSpecsError): + validate_and_default_tip_overlap_version(version) + + +def test_default_tip_overlap_versions() -> None: + """Default None tip overlap version specs.""" + assert ( + validate_and_default_tip_overlap_version(None) + == f"v{TIP_OVERLAP_VERSION_MAXIMUM}" + ) + + +@pytest.mark.parametrize("version", ["v0", "v1", f"v{maxsize+1}"]) +def test_pass_valid_tip_overlap_versions(version: str) -> None: + """Pass valid tip overlap specs.""" + assert validate_and_default_tip_overlap_version(version) == version + + +@pytest.mark.parametrize( + "version,target_data", + [ + ("v0", {"default": 123.0}), + ("v1", {"default": 321.1}), + ("v3", {"default": 333.5}), + ("v9999", {"default": 4414.99}), + ], +) +def test_get_latest_tip_overlap(version: str, target_data: Dict[str, float]) -> None: + """Test the search function for latest offset.""" + overlap = { + "v0": {"default": 123.0}, + "v1": {"default": 321.1}, + "v2": {"default": 333.5}, + "v1231": {"default": 4414.99}, + } + assert get_latest_tip_overlap_before_version(overlap, version) == target_data diff --git a/api/tests/opentrons/protocol_runner/test_legacy_command_mapper.py b/api/tests/opentrons/protocol_runner/test_legacy_command_mapper.py index cfafc74c095..011b790da85 100644 --- a/api/tests/opentrons/protocol_runner/test_legacy_command_mapper.py +++ b/api/tests/opentrons/protocol_runner/test_legacy_command_mapper.py @@ -336,7 +336,7 @@ def test_map_instrument_load(decoy: Decoy) -> None: pipette_config = cast(LoadedStaticPipetteData, {"config": True}) decoy.when( - pipette_data_provider.get_pipette_static_config(pipette_dict) + pipette_data_provider.get_pipette_static_config(pipette_dict, "v0"), ).then_return(pipette_config) expected_id_and_key = "commands.LOAD_PIPETTE-0" diff --git a/app-shell/build/release-notes.md b/app-shell/build/release-notes.md index 78aa19b0142..eadc8b068b2 100644 --- a/app-shell/build/release-notes.md +++ b/app-shell/build/release-notes.md @@ -6,6 +6,18 @@ log][]. For a list of currently known issues, please see the [Opentrons issue tr --- +## Opentrons App Changes in 7.3.1 + +Welcome to the v7.3.1 release of the Opentrons App! + +There are no changes to the Opentrons App in v7.3.1, but it is required for updating the robot software to improve some features. + +### Known Issue + +- Robots that have completed a run won't appear as available until you clear the run completion notification. This appears as a banner on the protocol run screen in the app, or as a splash screen on the Flex touchscreen. + +--- + ## Opentrons App Changes in 7.3.0 Welcome to the v7.3.0 release of the Opentrons App! This release adds support for Python protocols with runtime parameters, letting you change the behavior of a protocol each time you run it. diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0190369ce5][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_DeckConfiguration1NoFixtures].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0190369ce5][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_DeckConfiguration1NoFixtures].json index b112640529e..8ebc6de2c19 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0190369ce5][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_DeckConfiguration1NoFixtures].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0190369ce5][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_DeckConfiguration1NoFixtures].json @@ -8847,7 +8847,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0256665840][OT2_S_v2_16_P300M_P20S_aspirateDispenseMix0Volume].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0256665840][OT2_S_v2_16_P300M_P20S_aspirateDispenseMix0Volume].json index 6f83a5d6911..550231278e3 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0256665840][OT2_S_v2_16_P300M_P20S_aspirateDispenseMix0Volume].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0256665840][OT2_S_v2_16_P300M_P20S_aspirateDispenseMix0Volume].json @@ -2315,7 +2315,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p300_multi_gen2" + "pipetteName": "p300_multi_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" @@ -2325,7 +2326,8 @@ "notes": [], "params": { "mount": "right", - "pipetteName": "p20_single_gen2" + "pipetteName": "p20_single_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[041ad55e7b][OT2_S_v2_15_P300M_P20S_HS_TC_TM_dispense_changes].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[041ad55e7b][OT2_S_v2_15_P300M_P20S_HS_TC_TM_dispense_changes].json index ad7ef1e580a..0cab55a47e3 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[041ad55e7b][OT2_S_v2_15_P300M_P20S_HS_TC_TM_dispense_changes].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[041ad55e7b][OT2_S_v2_15_P300M_P20S_HS_TC_TM_dispense_changes].json @@ -2351,7 +2351,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p300_multi_gen2" + "pipetteName": "p300_multi_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" @@ -2361,7 +2362,8 @@ "notes": [], "params": { "mount": "right", - "pipetteName": "p20_single_gen2" + "pipetteName": "p20_single_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0c4ae179bb][OT2_S_v2_15_P300M_P20S_HS_TC_TM_SmokeTestV3].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0c4ae179bb][OT2_S_v2_15_P300M_P20S_HS_TC_TM_SmokeTestV3].json index 9d93af638b5..dbaf1c41736 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0c4ae179bb][OT2_S_v2_15_P300M_P20S_HS_TC_TM_SmokeTestV3].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0c4ae179bb][OT2_S_v2_15_P300M_P20S_HS_TC_TM_SmokeTestV3].json @@ -2351,7 +2351,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p300_multi_gen2" + "pipetteName": "p300_multi_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" @@ -2361,7 +2362,8 @@ "notes": [], "params": { "mount": "right", - "pipetteName": "p20_single_gen2" + "pipetteName": "p20_single_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[10d250f82a][Flex_S_v2_15_P1000_96_GRIP_HS_TM_QuickZymoMagbeadRNAExtraction].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[10d250f82a][Flex_S_v2_15_P1000_96_GRIP_HS_TM_QuickZymoMagbeadRNAExtraction].json index 7d0523b90af..64bd55e8c97 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[10d250f82a][Flex_S_v2_15_P1000_96_GRIP_HS_TM_QuickZymoMagbeadRNAExtraction].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[10d250f82a][Flex_S_v2_15_P1000_96_GRIP_HS_TM_QuickZymoMagbeadRNAExtraction].json @@ -13209,7 +13209,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[12a2a22254][Flex_S_v2_15_P1000M_P50M_GRIP_HS_MB_TC_TM_IlluminaDNAEnrichment].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[12a2a22254][Flex_S_v2_15_P1000M_P50M_GRIP_HS_MB_TC_TM_IlluminaDNAEnrichment].json index f4ddc666273..f10838363e2 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[12a2a22254][Flex_S_v2_15_P1000M_P50M_GRIP_HS_MB_TC_TM_IlluminaDNAEnrichment].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[12a2a22254][Flex_S_v2_15_P1000M_P50M_GRIP_HS_MB_TC_TM_IlluminaDNAEnrichment].json @@ -9417,7 +9417,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_multi_flex" + "pipetteName": "p1000_multi_flex", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" @@ -9427,7 +9428,8 @@ "notes": [], "params": { "mount": "right", - "pipetteName": "p50_multi_flex" + "pipetteName": "p50_multi_flex", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[1960aa7a4c][Flex_S_v2_15_P1000M_P50M_GRIP_HS_MB_TC_TM_IlluminaDNAEnrichmentv4].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[1960aa7a4c][Flex_S_v2_15_P1000M_P50M_GRIP_HS_MB_TC_TM_IlluminaDNAEnrichmentv4].json index 9badefd198a..6ae00202e99 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[1960aa7a4c][Flex_S_v2_15_P1000M_P50M_GRIP_HS_MB_TC_TM_IlluminaDNAEnrichmentv4].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[1960aa7a4c][Flex_S_v2_15_P1000M_P50M_GRIP_HS_MB_TC_TM_IlluminaDNAEnrichmentv4].json @@ -11684,7 +11684,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_multi_flex" + "pipetteName": "p1000_multi_flex", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" @@ -11694,7 +11695,8 @@ "notes": [], "params": { "mount": "right", - "pipetteName": "p50_multi_flex" + "pipetteName": "p50_multi_flex", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[19ffa9c839][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin2].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[19ffa9c839][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin2].json index 67c126eb182..bb04c84b2a3 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[19ffa9c839][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin2].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[19ffa9c839][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin2].json @@ -479,7 +479,7 @@ "errorInfo": { "args": "('trash bin in slot 12 prevents heaterShakerModuleV1 from using slot 9.',)", "class": "DeckConflictError", - "traceback": " File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n exec(\"run(__context)\", new_globs)\n\n File \"\", line 1, in \n\n File \"OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin2.py\", line 11, in run\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n return decorated_obj(*args, **kwargs)\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 826, in load_module\n module_core = self._core.load_module(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 433, in load_module\n deck_conflict.check(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/deck_conflict.py\", line 203, in check\n wrapped_deck_conflict.check(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/motion_planning/deck_conflict.py\", line 210, in check\n raise DeckConflictError(\n" + "traceback": " File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n exec(\"run(__context)\", new_globs)\n\n File \"\", line 1, in \n\n File \"OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin2.py\", line 11, in run\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n return decorated_obj(*args, **kwargs)\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 826, in load_module\n module_core = self._core.load_module(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 432, in load_module\n deck_conflict.check(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/deck_conflict.py\", line 203, in check\n wrapped_deck_conflict.check(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/motion_planning/deck_conflict.py\", line 210, in check\n raise DeckConflictError(\n" }, "errorType": "PythonException", "isDefined": false, diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[2b7fcb5b23][Flex_S_v2_18_P1000_96_TipTrackingBug].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[2b7fcb5b23][Flex_S_v2_18_P1000_96_TipTrackingBug].json index 1bf2709512b..189757769bb 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[2b7fcb5b23][Flex_S_v2_18_P1000_96_TipTrackingBug].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[2b7fcb5b23][Flex_S_v2_18_P1000_96_TipTrackingBug].json @@ -2316,7 +2316,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[2eaf98de6a][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_TriggerPrepareForMountMovement].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[2eaf98de6a][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_TriggerPrepareForMountMovement].json index ac3a688dc21..b33503630d4 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[2eaf98de6a][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_TriggerPrepareForMountMovement].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[2eaf98de6a][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_TriggerPrepareForMountMovement].json @@ -9365,7 +9365,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4a82419f1f][OT2_S_v2_16_P300M_P20S_HS_TC_TM_SmokeTestV3].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4a82419f1f][OT2_S_v2_16_P300M_P20S_HS_TC_TM_SmokeTestV3].json index 633f10e7f49..4928e443759 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4a82419f1f][OT2_S_v2_16_P300M_P20S_HS_TC_TM_SmokeTestV3].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4a82419f1f][OT2_S_v2_16_P300M_P20S_HS_TC_TM_SmokeTestV3].json @@ -2351,7 +2351,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p300_multi_gen2" + "pipetteName": "p300_multi_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" @@ -2361,7 +2362,8 @@ "notes": [], "params": { "mount": "right", - "pipetteName": "p20_single_gen2" + "pipetteName": "p20_single_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4b17883f74][OT2_S_v2_17_P300M_P20S_HS_TC_TM_dispense_changes].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4b17883f74][OT2_S_v2_17_P300M_P20S_HS_TC_TM_dispense_changes].json index c12f413c65d..a9183d0ebff 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4b17883f74][OT2_S_v2_17_P300M_P20S_HS_TC_TM_dispense_changes].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4b17883f74][OT2_S_v2_17_P300M_P20S_HS_TC_TM_dispense_changes].json @@ -2351,7 +2351,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p300_multi_gen2" + "pipetteName": "p300_multi_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" @@ -2361,7 +2362,8 @@ "notes": [], "params": { "mount": "right", - "pipetteName": "p20_single_gen2" + "pipetteName": "p20_single_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[54f717cfd1][OT2_S_v2_16_P300S_None_verifyNoFloatingPointErrorInPipetting].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[54f717cfd1][OT2_S_v2_16_P300S_None_verifyNoFloatingPointErrorInPipetting].json index a6b245696cc..b501a5cb5ae 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[54f717cfd1][OT2_S_v2_16_P300S_None_verifyNoFloatingPointErrorInPipetting].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[54f717cfd1][OT2_S_v2_16_P300S_None_verifyNoFloatingPointErrorInPipetting].json @@ -1519,7 +1519,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p300_single_gen2" + "pipetteName": "p300_single_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[5e958b7c98][Flex_X_v2_16_P300MGen2_None_OT2PipetteInFlexProtocol].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[5e958b7c98][Flex_X_v2_16_P300MGen2_None_OT2PipetteInFlexProtocol].json index af0765765b9..60b6ef99119 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[5e958b7c98][Flex_X_v2_16_P300MGen2_None_OT2PipetteInFlexProtocol].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[5e958b7c98][Flex_X_v2_16_P300MGen2_None_OT2PipetteInFlexProtocol].json @@ -1167,7 +1167,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p300_multi_gen2" + "pipetteName": "p300_multi_gen2", + "tipOverlapNotAfterVersion": "v0" }, "status": "failed" } diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e34343cfc][Flex_S_v2_15_P1000_96_GRIP_HS_MB_TM_MagMaxRNAExtraction].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e34343cfc][Flex_S_v2_15_P1000_96_GRIP_HS_MB_TM_MagMaxRNAExtraction].json index ce09c27f618..e614b9523bb 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e34343cfc][Flex_S_v2_15_P1000_96_GRIP_HS_MB_TM_MagMaxRNAExtraction].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e34343cfc][Flex_S_v2_15_P1000_96_GRIP_HS_MB_TM_MagMaxRNAExtraction].json @@ -13128,7 +13128,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e5128f107][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin1].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e5128f107][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin1].json index 1286cf1703d..52e04c9a33b 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e5128f107][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin1].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e5128f107][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin1].json @@ -479,7 +479,7 @@ "errorInfo": { "args": "('trash bin in slot 12 prevents heaterShakerModuleV1 from using slot 11.',)", "class": "DeckConflictError", - "traceback": " File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n exec(\"run(__context)\", new_globs)\n\n File \"\", line 1, in \n\n File \"OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin1.py\", line 11, in run\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n return decorated_obj(*args, **kwargs)\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 826, in load_module\n module_core = self._core.load_module(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 433, in load_module\n deck_conflict.check(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/deck_conflict.py\", line 203, in check\n wrapped_deck_conflict.check(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/motion_planning/deck_conflict.py\", line 223, in check\n raise DeckConflictError(\n" + "traceback": " File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n exec(\"run(__context)\", new_globs)\n\n File \"\", line 1, in \n\n File \"OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin1.py\", line 11, in run\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n return decorated_obj(*args, **kwargs)\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 826, in load_module\n module_core = self._core.load_module(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 432, in load_module\n deck_conflict.check(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/deck_conflict.py\", line 203, in check\n wrapped_deck_conflict.check(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/motion_planning/deck_conflict.py\", line 223, in check\n raise DeckConflictError(\n" }, "errorType": "PythonException", "isDefined": false, diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6f84e60cb0][OT2_S_v2_16_P300M_P20S_HS_TC_TM_aspirateDispenseMix0Volume].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6f84e60cb0][OT2_S_v2_16_P300M_P20S_HS_TC_TM_aspirateDispenseMix0Volume].json index 8c4000cba0d..614d40ded7a 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6f84e60cb0][OT2_S_v2_16_P300M_P20S_HS_TC_TM_aspirateDispenseMix0Volume].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6f84e60cb0][OT2_S_v2_16_P300M_P20S_HS_TC_TM_aspirateDispenseMix0Volume].json @@ -2315,7 +2315,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p300_multi_gen2" + "pipetteName": "p300_multi_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" @@ -2325,7 +2326,8 @@ "notes": [], "params": { "mount": "right", - "pipetteName": "p20_single_gen2" + "pipetteName": "p20_single_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[8860ee702c][OT2_S_v2_14_P300M_P20S_HS_TC_TM_SmokeTestV3].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[8860ee702c][OT2_S_v2_14_P300M_P20S_HS_TC_TM_SmokeTestV3].json index 113c414c7f0..7a5facf8aed 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[8860ee702c][OT2_S_v2_14_P300M_P20S_HS_TC_TM_SmokeTestV3].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[8860ee702c][OT2_S_v2_14_P300M_P20S_HS_TC_TM_SmokeTestV3].json @@ -2351,7 +2351,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p300_multi_gen2" + "pipetteName": "p300_multi_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" @@ -2361,7 +2362,8 @@ "notes": [], "params": { "mount": "right", - "pipetteName": "p20_single_gen2" + "pipetteName": "p20_single_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[88a20da279][Flex_S_v2_15_P50M_P1000M_KAPALibraryQuantLongv2].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[88a20da279][Flex_S_v2_15_P50M_P1000M_KAPALibraryQuantLongv2].json index 8d71efedc42..6dd9f8a87ae 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[88a20da279][Flex_S_v2_15_P50M_P1000M_KAPALibraryQuantLongv2].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[88a20da279][Flex_S_v2_15_P50M_P1000M_KAPALibraryQuantLongv2].json @@ -17857,7 +17857,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p50_multi_flex" + "pipetteName": "p50_multi_flex", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" @@ -17867,7 +17868,8 @@ "notes": [], "params": { "mount": "right", - "pipetteName": "p1000_multi_flex" + "pipetteName": "p1000_multi_flex", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[89a8226c4e][Flex_X_v2_16_P1000_96_TC_PartialTipPickupThermocyclerLidConflict].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[89a8226c4e][Flex_X_v2_16_P1000_96_TC_PartialTipPickupThermocyclerLidConflict].json index 5de0808774f..bb0c5a2f96f 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[89a8226c4e][Flex_X_v2_16_P1000_96_TC_PartialTipPickupThermocyclerLidConflict].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[89a8226c4e][Flex_X_v2_16_P1000_96_TC_PartialTipPickupThermocyclerLidConflict].json @@ -1164,7 +1164,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[8fcfd2ced0][Flex_S_v2_16_P1000_96_TC_PartialTipPickupColumn].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[8fcfd2ced0][Flex_S_v2_16_P1000_96_TC_PartialTipPickupColumn].json index 4a0d3446b37..396969bf7ad 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[8fcfd2ced0][Flex_S_v2_16_P1000_96_TC_PartialTipPickupColumn].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[8fcfd2ced0][Flex_S_v2_16_P1000_96_TC_PartialTipPickupColumn].json @@ -1164,7 +1164,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[9e56ee92f6][Flex_X_v2_16_P1000_96_GRIP_DropLabwareIntoTrashBin].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[9e56ee92f6][Flex_X_v2_16_P1000_96_GRIP_DropLabwareIntoTrashBin].json index 7c092c597df..3c5adf8c662 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[9e56ee92f6][Flex_X_v2_16_P1000_96_GRIP_DropLabwareIntoTrashBin].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[9e56ee92f6][Flex_X_v2_16_P1000_96_GRIP_DropLabwareIntoTrashBin].json @@ -1225,7 +1225,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[a08c261369][Flex_S_v2_16_P1000_96_GRIP_DeckConfiguration1NoModulesNoFixtures].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[a08c261369][Flex_S_v2_16_P1000_96_GRIP_DeckConfiguration1NoModulesNoFixtures].json index 99425f44a58..9e6012c9462 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[a08c261369][Flex_S_v2_16_P1000_96_GRIP_DeckConfiguration1NoModulesNoFixtures].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[a08c261369][Flex_S_v2_16_P1000_96_GRIP_DeckConfiguration1NoModulesNoFixtures].json @@ -7074,7 +7074,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[ac886d7768][Flex_S_v2_15_P1000_96_GRIP_HS_MB_TC_TM_IDTXgen96Part1to3].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[ac886d7768][Flex_S_v2_15_P1000_96_GRIP_HS_MB_TC_TM_IDTXgen96Part1to3].json index 1c5a668499c..2f023c9a10d 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[ac886d7768][Flex_S_v2_15_P1000_96_GRIP_HS_MB_TC_TM_IDTXgen96Part1to3].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[ac886d7768][Flex_S_v2_15_P1000_96_GRIP_HS_MB_TC_TM_IDTXgen96Part1to3].json @@ -10969,7 +10969,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[adc0621263][Flex_X_v2_16_P1000_96_TC_pipetteCollisionWithThermocyclerLid].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[adc0621263][Flex_X_v2_16_P1000_96_TC_pipetteCollisionWithThermocyclerLid].json index 1a9d05d4e35..0e7581dc507 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[adc0621263][Flex_X_v2_16_P1000_96_TC_pipetteCollisionWithThermocyclerLid].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[adc0621263][Flex_X_v2_16_P1000_96_TC_pipetteCollisionWithThermocyclerLid].json @@ -2377,7 +2377,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[b0ce7dde5d][Flex_X_v2_16_P1000_96_TC_PartialTipPickupTryToReturnTip].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[b0ce7dde5d][Flex_X_v2_16_P1000_96_TC_PartialTipPickupTryToReturnTip].json index aef520d2b0d..7a0b43d3d7a 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[b0ce7dde5d][Flex_X_v2_16_P1000_96_TC_PartialTipPickupTryToReturnTip].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[b0ce7dde5d][Flex_X_v2_16_P1000_96_TC_PartialTipPickupTryToReturnTip].json @@ -1164,7 +1164,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[baf79d9b4a][Flex_S_v2_15_P1000S_None_SimpleNormalizeLongRight].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[baf79d9b4a][Flex_S_v2_15_P1000S_None_SimpleNormalizeLongRight].json index 3924c7dea03..fd41b1d2efe 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[baf79d9b4a][Flex_S_v2_15_P1000S_None_SimpleNormalizeLongRight].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[baf79d9b4a][Flex_S_v2_15_P1000S_None_SimpleNormalizeLongRight].json @@ -10686,7 +10686,8 @@ "notes": [], "params": { "mount": "right", - "pipetteName": "p1000_single_flex" + "pipetteName": "p1000_single_flex", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[c745e5824a][Flex_S_v2_16_P1000_96_GRIP_DeckConfiguration1NoModules].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[c745e5824a][Flex_S_v2_16_P1000_96_GRIP_DeckConfiguration1NoModules].json index 754cb2ab367..1bda2054c5d 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[c745e5824a][Flex_S_v2_16_P1000_96_GRIP_DeckConfiguration1NoModules].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[c745e5824a][Flex_S_v2_16_P1000_96_GRIP_DeckConfiguration1NoModules].json @@ -9378,7 +9378,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d48bc4f0c9][OT2_S_v2_17_P300M_P20S_HS_TC_TM_SmokeTestV3].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d48bc4f0c9][OT2_S_v2_17_P300M_P20S_HS_TC_TM_SmokeTestV3].json index 5760c7a671e..6c9c0208a1d 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d48bc4f0c9][OT2_S_v2_17_P300M_P20S_HS_TC_TM_SmokeTestV3].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d48bc4f0c9][OT2_S_v2_17_P300M_P20S_HS_TC_TM_SmokeTestV3].json @@ -2351,7 +2351,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p300_multi_gen2" + "pipetteName": "p300_multi_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" @@ -2361,7 +2362,8 @@ "notes": [], "params": { "mount": "right", - "pipetteName": "p20_single_gen2" + "pipetteName": "p20_single_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d8cb88b3b2][Flex_S_v2_16_P1000_96_TC_PartialTipPickupSingle].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d8cb88b3b2][Flex_S_v2_16_P1000_96_TC_PartialTipPickupSingle].json index 9215f33214e..6430b932d73 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d8cb88b3b2][Flex_S_v2_16_P1000_96_TC_PartialTipPickupSingle].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d8cb88b3b2][Flex_S_v2_16_P1000_96_TC_PartialTipPickupSingle].json @@ -1164,7 +1164,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[de4249ddfb][Flex_X_v2_16_NO_PIPETTES_TC_TrashBinAndThermocyclerConflict].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[de4249ddfb][Flex_X_v2_16_NO_PIPETTES_TC_TrashBinAndThermocyclerConflict].json index 5db5cf0dd3d..b9f59d0a6b4 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[de4249ddfb][Flex_X_v2_16_NO_PIPETTES_TC_TrashBinAndThermocyclerConflict].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[de4249ddfb][Flex_X_v2_16_NO_PIPETTES_TC_TrashBinAndThermocyclerConflict].json @@ -138,7 +138,7 @@ "errorInfo": { "args": "('thermocyclerModuleV2 in slot B1 prevents trash bin from using slot A1.',)", "class": "DeckConflictError", - "traceback": " File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n exec(\"run(__context)\", new_globs)\n\n File \"\", line 1, in \n\n File \"Flex_X_v2_16_NO_PIPETTES_TC_TrashBinAndThermocyclerConflict.py\", line 13, in run\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n return decorated_obj(*args, **kwargs)\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 530, in load_trash_bin\n trash_bin = self._core.load_trash_bin(slot_name, addressable_area_name)\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 541, in load_trash_bin\n self._add_disposal_location_to_engine(trash_bin)\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 150, in _add_disposal_location_to_engine\n deck_conflict.check(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/deck_conflict.py\", line 203, in check\n wrapped_deck_conflict.check(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/motion_planning/deck_conflict.py\", line 210, in check\n raise DeckConflictError(\n" + "traceback": " File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n exec(\"run(__context)\", new_globs)\n\n File \"\", line 1, in \n\n File \"Flex_X_v2_16_NO_PIPETTES_TC_TrashBinAndThermocyclerConflict.py\", line 13, in run\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n return decorated_obj(*args, **kwargs)\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 530, in load_trash_bin\n trash_bin = self._core.load_trash_bin(slot_name, addressable_area_name)\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 546, in load_trash_bin\n self._add_disposal_location_to_engine(trash_bin)\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 149, in _add_disposal_location_to_engine\n deck_conflict.check(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/deck_conflict.py\", line 203, in check\n wrapped_deck_conflict.check(\n\n File \"/usr/local/lib/python3.10/site-packages/opentrons/motion_planning/deck_conflict.py\", line 210, in check\n raise DeckConflictError(\n" }, "errorType": "PythonException", "isDefined": false, diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[de842b7217][Flex_S_v2_15_P1000_96_GRIP_HS_MB_TM_OmegaHDQDNAExtraction].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[de842b7217][Flex_S_v2_15_P1000_96_GRIP_HS_MB_TM_OmegaHDQDNAExtraction].json index a498ae85a38..64607e7dfc6 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[de842b7217][Flex_S_v2_15_P1000_96_GRIP_HS_MB_TM_OmegaHDQDNAExtraction].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[de842b7217][Flex_S_v2_15_P1000_96_GRIP_HS_MB_TM_OmegaHDQDNAExtraction].json @@ -13333,7 +13333,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[e907467039][Flex_S_v2_15_P1000M_P50M_GRIP_HS_MB_TC_TM_IlluminaDNAPrep24x].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[e907467039][Flex_S_v2_15_P1000M_P50M_GRIP_HS_MB_TC_TM_IlluminaDNAPrep24x].json index a81496615b7..cd13180ed50 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[e907467039][Flex_S_v2_15_P1000M_P50M_GRIP_HS_MB_TC_TM_IlluminaDNAPrep24x].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[e907467039][Flex_S_v2_15_P1000M_P50M_GRIP_HS_MB_TC_TM_IlluminaDNAPrep24x].json @@ -8147,7 +8147,8 @@ "notes": [], "params": { "mount": "right", - "pipetteName": "p1000_multi_flex" + "pipetteName": "p1000_multi_flex", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" @@ -8157,7 +8158,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p50_multi_flex" + "pipetteName": "p50_multi_flex", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f0efddcd7d][Flex_X_v2_16_P1000_96_DropTipsWithNoTrash].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f0efddcd7d][Flex_X_v2_16_P1000_96_DropTipsWithNoTrash].json index 8ea159c4166..f26f6dfc20b 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f0efddcd7d][Flex_X_v2_16_P1000_96_DropTipsWithNoTrash].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f0efddcd7d][Flex_X_v2_16_P1000_96_DropTipsWithNoTrash].json @@ -1312,7 +1312,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f51172f73b][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_Smoke].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f51172f73b][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_Smoke].json index 0a302979bc3..7814a25c912 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f51172f73b][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_Smoke].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f51172f73b][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_Smoke].json @@ -8180,7 +8180,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f7085d7134][Flex_X_v2_16_P1000_96_TC_pipetteCollisionWithThermocyclerLidClips].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f7085d7134][Flex_X_v2_16_P1000_96_TC_pipetteCollisionWithThermocyclerLidClips].json index 6489882dd9d..85e25d6cc25 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f7085d7134][Flex_X_v2_16_P1000_96_TC_pipetteCollisionWithThermocyclerLidClips].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f7085d7134][Flex_X_v2_16_P1000_96_TC_pipetteCollisionWithThermocyclerLidClips].json @@ -1273,7 +1273,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f834b97da1][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_DeckConfiguration1].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f834b97da1][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_DeckConfiguration1].json index 323a36e0c93..e117b9d0f7c 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f834b97da1][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_DeckConfiguration1].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f834b97da1][Flex_S_v2_16_P1000_96_GRIP_HS_MB_TC_TM_DeckConfiguration1].json @@ -11151,7 +11151,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p1000_96" + "pipetteName": "p1000_96", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[fc60ef9cbd][OT2_S_v2_16_P300M_P20S_HS_TC_TM_dispense_changes].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[fc60ef9cbd][OT2_S_v2_16_P300M_P20S_HS_TC_TM_dispense_changes].json index a1502bbbb59..fbe6fcfb75d 100644 --- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[fc60ef9cbd][OT2_S_v2_16_P300M_P20S_HS_TC_TM_dispense_changes].json +++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[fc60ef9cbd][OT2_S_v2_16_P300M_P20S_HS_TC_TM_dispense_changes].json @@ -2351,7 +2351,8 @@ "notes": [], "params": { "mount": "left", - "pipetteName": "p300_multi_gen2" + "pipetteName": "p300_multi_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" @@ -2361,7 +2362,8 @@ "notes": [], "params": { "mount": "right", - "pipetteName": "p20_single_gen2" + "pipetteName": "p20_single_gen2", + "tipOverlapNotAfterVersion": "v0" }, "result": {}, "status": "succeeded" diff --git a/robot-server/robot_server/robot/calibration/tip_length/user_flow.py b/robot-server/robot_server/robot/calibration/tip_length/user_flow.py index a51f5f5412e..282c1feb6f0 100644 --- a/robot-server/robot_server/robot/calibration/tip_length/user_flow.py +++ b/robot-server/robot_server/robot/calibration/tip_length/user_flow.py @@ -200,7 +200,6 @@ async def save_offset(self): def _get_default_tip_length(self) -> float: tiprack: labware.Labware = self._deck[TIP_RACK_SLOT] # type: ignore full_length = tiprack.tip_length - # add the versioned stuff here overlap_dict: Dict[str, float] = self._hw_pipette.tip_overlap["v0"] overlap = overlap_dict.get(tiprack.uri, 0) return full_length - overlap diff --git a/shared-data/command/schemas/8.json b/shared-data/command/schemas/8.json index 11f0edf7b69..586174612a1 100644 --- a/shared-data/command/schemas/8.json +++ b/shared-data/command/schemas/8.json @@ -501,6 +501,11 @@ "description": "Amount of liquid in uL. Must be at least 0 and no greater than a pipette-specific maximum volume.", "minimum": 0, "type": "number" + }, + "tipOverlapNotAfterVersion": { + "title": "Tipoverlapnotafterversion", + "description": "A version of tip overlap data to not exceed. The highest-versioned tip overlap data that does not exceed this version will be used. Versions are expressed as vN where N is an integer, counting up from v0. If None, the current highest version will be used.", + "type": "string" } }, "required": ["pipetteId", "volume"] @@ -1647,6 +1652,11 @@ "title": "Pipetteid", "description": "An optional ID to assign to this pipette. If None, an ID will be generated.", "type": "string" + }, + "tipOverlapNotAfterVersion": { + "title": "Tipoverlapnotafterversion", + "description": "A version of tip overlap data to not exceed. The highest-versioned tip overlap data that does not exceed this version will be used. Versions are expressed as vN where N is an integer, counting up from v0. If None, the current highest version will be used.", + "type": "string" } }, "required": ["pipetteName", "mount"] diff --git a/shared-data/js/__tests__/__snapshots__/pipettes.test.ts.snap b/shared-data/js/__tests__/__snapshots__/pipettes.test.ts.snap index d014e5b4385..d3c22f665f9 100644 --- a/shared-data/js/__tests__/__snapshots__/pipettes.test.ts.snap +++ b/shared-data/js/__tests__/__snapshots__/pipettes.test.ts.snap @@ -5967,5971 +5967,3 @@ exports[`pipette data accessors > getPipetteNameSpecs > name p1000_single snapsh }, } `; - -exports[`pipette data accessors getPipetteModelSpecs model p10_multi_v1 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": -1, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2, - }, - "channels": 8, - "defaultAspirateFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 5, - "valuesByApiLevel": Object { - "2.0": 5, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 10, - "valuesByApiLevel": Object { - "2.0": 10, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_10ul/1", - "opentrons/opentrons_96_filtertiprack_10ul/1", - "opentrons/geb_96_tiprack_10ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P10 8-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -4, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 10, - "minVolume": 1, - "model": "p10_multi_v1", - "modelOffset": Array [ - 0, - 31.5, - -25.8, - ], - "name": "p10_multi", - "nozzleOffset": Array [ - 0, - 31.5, - 0.8, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.4, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 33, - }, - "tipOverlap": Object { - "default": 3.29, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 1.893415617, - -1.1069, - 3.042593193, - ], - Array [ - 2.497849452, - -0.1888, - 1.30410391, - ], - Array [ - 5.649462387, - -0.0081, - 0.8528667891, - ], - Array [ - 12.74444519, - -0.0018, - 0.8170558891, - ], - ], - "dispense": Array [ - Array [ - 12.74444519, - 0, - 0.8058688085, - ], - ], - }, - Object { - "aspirate": Array [ - Array [ - 1.438649211, - 0.01931415115, - 0.691538317, - ], - Array [ - 1.836824579, - 0.03868955123, - 0.6636639129, - ], - Array [ - 2.960052684, - 0.00470371018, - 0.7260899411, - ], - Array [ - 4.487508789, - 0.005175245625, - 0.7246941713, - ], - Array [ - 10.59661421, - 0.001470408978, - 0.7413196584, - ], - ], - "dispense": Array [ - Array [ - 12.74444519, - 0, - 0.8058688085, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p10_multi_v1.3 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": -2.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 0.5, - }, - "channels": 8, - "defaultAspirateFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 5, - "valuesByApiLevel": Object { - "2.0": 5, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 10, - "valuesByApiLevel": Object { - "2.0": 10, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_10ul/1", - "opentrons/opentrons_96_filtertiprack_10ul/1", - "opentrons/geb_96_tiprack_10ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P10 8-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -5.5, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 10, - "minVolume": 1, - "model": "p10_multi_v1.3", - "modelOffset": Array [ - 0, - 31.5, - -25.8, - ], - "name": "p10_multi", - "nozzleOffset": Array [ - 0, - 31.5, - 0.8, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.4, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 33, - }, - "tipOverlap": Object { - "default": 3.29, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 1.893415617, - -1.1069, - 3.042593193, - ], - Array [ - 2.497849452, - -0.1888, - 1.30410391, - ], - Array [ - 5.649462387, - -0.0081, - 0.8528667891, - ], - Array [ - 12.74444519, - -0.0018, - 0.8170558891, - ], - ], - "dispense": Array [ - Array [ - 12.74444519, - 0, - 0.8058688085, - ], - ], - }, - Object { - "aspirate": Array [ - Array [ - 1.438649211, - 0.01931415115, - 0.691538317, - ], - Array [ - 1.836824579, - 0.03868955123, - 0.6636639129, - ], - Array [ - 2.960052684, - 0.00470371018, - 0.7260899411, - ], - Array [ - 4.487508789, - 0.005175245625, - 0.7246941713, - ], - Array [ - 10.59661421, - 0.001470408978, - 0.7413196584, - ], - ], - "dispense": Array [ - Array [ - 12.74444519, - 0, - 0.8058688085, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p10_multi_v1.4 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": -1, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2, - }, - "channels": 8, - "defaultAspirateFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 5, - "valuesByApiLevel": Object { - "2.0": 5, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 10, - "valuesByApiLevel": Object { - "2.0": 10, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_10ul/1", - "opentrons/opentrons_96_filtertiprack_10ul/1", - "opentrons/geb_96_tiprack_10ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P10 8-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -4.5, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 10, - "minVolume": 1, - "model": "p10_multi_v1.4", - "modelOffset": Array [ - 0, - 31.5, - -25.8, - ], - "name": "p10_multi", - "nozzleOffset": Array [ - 0, - 31.5, - 0.8, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.4, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 33, - }, - "tipOverlap": Object { - "default": 3.29, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 1.893415617, - -1.1069, - 3.042593193, - ], - Array [ - 2.497849452, - -0.1888, - 1.30410391, - ], - Array [ - 5.649462387, - -0.0081, - 0.8528667891, - ], - Array [ - 12.74444519, - -0.0018, - 0.8170558891, - ], - ], - "dispense": Array [ - Array [ - 12.74444519, - 0, - 0.8058688085, - ], - ], - }, - Object { - "aspirate": Array [ - Array [ - 1.438649211, - 0.01931415115, - 0.691538317, - ], - Array [ - 1.836824579, - 0.03868955123, - 0.6636639129, - ], - Array [ - 2.960052684, - 0.00470371018, - 0.7260899411, - ], - Array [ - 4.487508789, - 0.005175245625, - 0.7246941713, - ], - Array [ - 10.59661421, - 0.001470408978, - 0.7413196584, - ], - ], - "dispense": Array [ - Array [ - 12.74444519, - 0, - 0.8058688085, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p10_multi_v1.5 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": -1, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2, - }, - "channels": 8, - "defaultAspirateFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 5, - "valuesByApiLevel": Object { - "2.0": 5, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 10, - "valuesByApiLevel": Object { - "2.0": 10, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_10ul/1", - "opentrons/opentrons_96_filtertiprack_10ul/1", - "opentrons/geb_96_tiprack_10ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P10 8-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -4.5, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 10, - "minVolume": 1, - "model": "p10_multi_v1.5", - "modelOffset": Array [ - 0, - 31.5, - -25.8, - ], - "name": "p10_multi", - "nozzleOffset": Array [ - 0, - 31.5, - 0.8, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.55, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 3, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "dropTipShake", - "doubleDropTip", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 33, - }, - "tipOverlap": Object { - "default": 3.29, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 1.774444444, - -0.1917910448, - 1.2026, - ], - Array [ - 2.151481481, - -0.0706286837, - 1.0125, - ], - Array [ - 2.898518519, - -0.04343083788, - 0.954, - ], - Array [ - 6.373333333, - -0.00905990194, - 0.8544, - ], - Array [ - 11.00259259, - -0.002325900358, - 0.8115, - ], - ], - "dispense": Array [ - Array [ - 12.74444519, - 0, - 0.8058688085, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p10_single_v1 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": -1, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2, - }, - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 5, - "valuesByApiLevel": Object { - "2.0": 5, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 10, - "valuesByApiLevel": Object { - "2.0": 10, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_10ul/1", - "opentrons/opentrons_96_filtertiprack_10ul/1", - "opentrons/geb_96_tiprack_10ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P10 Single-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -4.5, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 10, - "minVolume": 1, - "model": "p10_single_v1", - "modelOffset": Array [ - 0, - 0, - -13, - ], - "name": "p10_single", - "nozzleOffset": Array [ - 0, - 0, - 12, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.1, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.3, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 33, - }, - "tipOverlap": Object { - "default": 3.29, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 1.8263, - -0.0958, - 1.088, - ], - Array [ - 2.5222, - -0.104, - 1.1031, - ], - Array [ - 3.2354, - -0.0447, - 0.9536, - ], - Array [ - 3.9984, - -0.012, - 0.8477, - ], - Array [ - 12.5135, - -0.0021, - 0.8079, - ], - ], - "dispense": Array [ - Array [ - 12.5135, - 0, - 0.7945, - ], - ], - }, - Object { - "aspirate": Array [ - Array [ - 1.438649211, - 0.01931415115, - 0.691538317, - ], - Array [ - 1.836824579, - 0.03868955123, - 0.6636639129, - ], - Array [ - 2.960052684, - 0.00470371018, - 0.7260899411, - ], - Array [ - 4.487508789, - 0.005175245625, - 0.7246941713, - ], - Array [ - 10.59661421, - 0.001470408978, - 0.7413196584, - ], - ], - "dispense": Array [ - Array [ - 12.5135, - 0, - 0.7945, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p10_single_v1.3 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": -2.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 0.5, - }, - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 5, - "valuesByApiLevel": Object { - "2.0": 5, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 10, - "valuesByApiLevel": Object { - "2.0": 10, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_10ul/1", - "opentrons/opentrons_96_filtertiprack_10ul/1", - "opentrons/geb_96_tiprack_10ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P10 Single-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -6, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 10, - "minVolume": 1, - "model": "p10_single_v1.3", - "modelOffset": Array [ - 0, - 0, - -13, - ], - "name": "p10_single", - "nozzleOffset": Array [ - 0, - 0, - 12, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.1, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.3, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 33, - }, - "tipOverlap": Object { - "default": 3.29, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 1.8263, - -0.0958, - 1.088, - ], - Array [ - 2.5222, - -0.104, - 1.1031, - ], - Array [ - 3.2354, - -0.0447, - 0.9536, - ], - Array [ - 3.9984, - -0.012, - 0.8477, - ], - Array [ - 12.5135, - -0.0021, - 0.8079, - ], - ], - "dispense": Array [ - Array [ - 12.5135, - 0, - 0.7945, - ], - ], - }, - Object { - "aspirate": Array [ - Array [ - 1.438649211, - 0.01931415115, - 0.691538317, - ], - Array [ - 1.836824579, - 0.03868955123, - 0.6636639129, - ], - Array [ - 2.960052684, - 0.00470371018, - 0.7260899411, - ], - Array [ - 4.487508789, - 0.005175245625, - 0.7246941713, - ], - Array [ - 10.59661421, - 0.001470408978, - 0.7413196584, - ], - ], - "dispense": Array [ - Array [ - 12.5135, - 0, - 0.7945, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p10_single_v1.4 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": -0.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2.5, - }, - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 5, - "valuesByApiLevel": Object { - "2.0": 5, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 10, - "valuesByApiLevel": Object { - "2.0": 10, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_10ul/1", - "opentrons/opentrons_96_filtertiprack_10ul/1", - "opentrons/geb_96_tiprack_10ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P10 Single-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -5.2, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 10, - "minVolume": 1, - "model": "p10_single_v1.4", - "modelOffset": Array [ - 0, - 0, - -13, - ], - "name": "p10_single", - "nozzleOffset": Array [ - 0, - 0, - 12, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.1, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.3, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 33, - }, - "tipOverlap": Object { - "default": 3.29, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 1.8263, - -0.0958, - 1.088, - ], - Array [ - 2.5222, - -0.104, - 1.1031, - ], - Array [ - 3.2354, - -0.0447, - 0.9536, - ], - Array [ - 3.9984, - -0.012, - 0.8477, - ], - Array [ - 12.5135, - -0.0021, - 0.8079, - ], - ], - "dispense": Array [ - Array [ - 12.5135, - 0, - 0.7945, - ], - ], - }, - Object { - "aspirate": Array [ - Array [ - 1.438649211, - 0.01931415115, - 0.691538317, - ], - Array [ - 1.836824579, - 0.03868955123, - 0.6636639129, - ], - Array [ - 2.960052684, - 0.00470371018, - 0.7260899411, - ], - Array [ - 4.487508789, - 0.005175245625, - 0.7246941713, - ], - Array [ - 10.59661421, - 0.001470408978, - 0.7413196584, - ], - ], - "dispense": Array [ - Array [ - 12.5135, - 0, - 0.7945, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p10_single_v1.5 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": -0.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2.5, - }, - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 5, - "valuesByApiLevel": Object { - "2.0": 5, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 10, - "valuesByApiLevel": Object { - "2.0": 10, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_10ul/1", - "opentrons/opentrons_96_filtertiprack_10ul/1", - "opentrons/geb_96_tiprack_10ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P10 Single-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -5.2, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 10, - "minVolume": 1, - "model": "p10_single_v1.5", - "modelOffset": Array [ - 0, - 0, - -13, - ], - "name": "p10_single", - "nozzleOffset": Array [ - 0, - 0, - 12, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.1, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.3, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 33, - }, - "tipOverlap": Object { - "default": 3.29, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 1.553425807, - -0.03427618068, - 0.83, - ], - Array [ - 1.934976526, - -0.007134812859, - 0.7878, - ], - Array [ - 2.689843897, - -0.007238069768, - 0.788, - ], - Array [ - 6.161165493, - 0.0004663523509, - 0.7673, - ], - Array [ - 10.7963169, - 0.0002200157553, - 0.7688, - ], - ], - "dispense": Array [ - Array [ - 12.5135, - 0, - 0.7945, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p50_multi_v1 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 2, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2.5, - }, - "channels": 8, - "defaultAspirateFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 25, - "valuesByApiLevel": Object { - "2.0": 25, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 50, - "valuesByApiLevel": Object { - "2.0": 50, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P50 8-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -3.5, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 50, - "minVolume": 5, - "model": "p50_multi_v1", - "modelOffset": Array [ - 0, - 31.5, - -25.8, - ], - "name": "p50_multi", - "nozzleOffset": Array [ - 0, - 31.5, - 0.8, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.6, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 51.7, - }, - "tipOverlap": Object { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 12.29687531, - -0.0049, - 3.134703694, - ], - Array [ - 50, - -0.0002, - 3.077116024, - ], - ], - "dispense": Array [ - Array [ - 50, - 0, - 3.06368702, - ], - ], - }, - Object { - "aspirate": Array [ - Array [ - 5.5768667, - 0.076142366, - 2.363797525, - ], - Array [ - 7.0999333, - 0.0338396036, - 2.599714392, - ], - Array [ - 11.5943825, - 0.0130432679, - 2.747366988, - ], - Array [ - 17.6461325, - 0.007010609879, - 2.817311933, - ], - Array [ - 50, - 0.002620115513, - 2.894787178, - ], - ], - "dispense": Array [ - Array [ - 50, - 0, - 3.06368702, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p50_multi_v1.3 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 0.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2, - }, - "channels": 8, - "defaultAspirateFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 25, - "valuesByApiLevel": Object { - "2.0": 25, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 50, - "valuesByApiLevel": Object { - "2.0": 50, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P50 8-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -5, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 50, - "minVolume": 5, - "model": "p50_multi_v1.3", - "modelOffset": Array [ - 0, - 31.5, - -25.8, - ], - "name": "p50_multi", - "nozzleOffset": Array [ - 0, - 31.5, - 0.8, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.6, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 51.7, - }, - "tipOverlap": Object { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 12.29687531, - -0.0049, - 3.134703694, - ], - Array [ - 50, - -0.0002, - 3.077116024, - ], - ], - "dispense": Array [ - Array [ - 50, - 0, - 3.06368702, - ], - ], - }, - Object { - "aspirate": Array [ - Array [ - 5.5768667, - 0.076142366, - 2.363797525, - ], - Array [ - 7.0999333, - 0.0338396036, - 2.599714392, - ], - Array [ - 11.5943825, - 0.0130432679, - 2.747366988, - ], - Array [ - 17.6461325, - 0.007010609879, - 2.817311933, - ], - Array [ - 50, - 0.002620115513, - 2.894787178, - ], - ], - "dispense": Array [ - Array [ - 50, - 0, - 3.06368702, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p50_multi_v1.4 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 0.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2, - }, - "channels": 8, - "defaultAspirateFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 25, - "valuesByApiLevel": Object { - "2.0": 25, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 50, - "valuesByApiLevel": Object { - "2.0": 50, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P50 8-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -4, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 50, - "minVolume": 5, - "model": "p50_multi_v1.4", - "modelOffset": Array [ - 0, - 31.5, - -25.8, - ], - "name": "p50_multi", - "nozzleOffset": Array [ - 0, - 31.5, - 0.8, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.6, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 51.7, - }, - "tipOverlap": Object { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 12.29687531, - -0.0049, - 3.134703694, - ], - Array [ - 50, - -0.0002, - 3.077116024, - ], - ], - "dispense": Array [ - Array [ - 50, - 0, - 3.06368702, - ], - ], - }, - Object { - "aspirate": Array [ - Array [ - 5.5768667, - 0.076142366, - 2.363797525, - ], - Array [ - 7.0999333, - 0.0338396036, - 2.599714392, - ], - Array [ - 11.5943825, - 0.0130432679, - 2.747366988, - ], - Array [ - 17.6461325, - 0.007010609879, - 2.817311933, - ], - Array [ - 50, - 0.002620115513, - 2.894787178, - ], - ], - "dispense": Array [ - Array [ - 50, - 0, - 3.06368702, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p50_multi_v1.5 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 0.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2, - }, - "channels": 8, - "defaultAspirateFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 25, - "valuesByApiLevel": Object { - "2.0": 25, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 50, - "valuesByApiLevel": Object { - "2.0": 50, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P50 8-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -4, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 50, - "minVolume": 5, - "model": "p50_multi_v1.5", - "modelOffset": Array [ - 0, - 31.5, - -25.8, - ], - "name": "p50_multi", - "nozzleOffset": Array [ - 0, - 31.5, - 0.8, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.8, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 3, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "dropTipShake", - "doubleDropTip", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 51.7, - }, - "tipOverlap": Object { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 6.190392157, - -0.01092438778, - 3.1628, - ], - Array [ - 7.639705882, - -0.02712575255, - 3.2631, - ], - Array [ - 10.69666667, - 0.0001007939816, - 3.0551, - ], - Array [ - 24.49343137, - 0.0003978066956, - 3.0519, - ], - Array [ - 50, - -0.00001501363238, - 3.062, - ], - ], - "dispense": Array [ - Array [ - 50, - 0, - 3.06368702, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p50_single_v1 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 2, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2.01, - }, - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 25, - "valuesByApiLevel": Object { - "2.0": 25, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 50, - "valuesByApiLevel": Object { - "2.0": 50, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P50 Single-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -4.5, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 50, - "minVolume": 5, - "model": "p50_single_v1", - "modelOffset": Array [ - 0, - 0, - 0, - ], - "name": "p50_single", - "nozzleOffset": Array [ - 0, - 0, - 25, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.1, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.3, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 51.7, - }, - "tipOverlap": Object { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 11.79687499, - -0.0098, - 3.064988953, - ], - Array [ - 50, - -0.0004, - 2.954068131, - ], - ], - "dispense": Array [ - Array [ - 50, - 0, - 2.931601299, - ], - ], - }, - Object { - "aspirate": Array [ - Array [ - 5.538952382, - 0.04994568474, - 2.492829422, - ], - Array [ - 7.050333334, - 0.0335171238, - 2.583826438, - ], - Array [ - 11.5397619, - 0.01443549911, - 2.718358253, - ], - Array [ - 17.55071427, - 0.006684226987, - 2.807806088, - ], - Array [ - 50, - 0.001789563193, - 2.893710933, - ], - ], - "dispense": Array [ - Array [ - 50, - 0, - 2.931601299, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p50_single_v1.3 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 0.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2, - }, - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 25, - "valuesByApiLevel": Object { - "2.0": 25, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 50, - "valuesByApiLevel": Object { - "2.0": 50, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P50 Single-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -6, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 50, - "minVolume": 5, - "model": "p50_single_v1.3", - "modelOffset": Array [ - 0, - 0, - 0, - ], - "name": "p50_single", - "nozzleOffset": Array [ - 0, - 0, - 25, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.1, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.3, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 51.7, - }, - "tipOverlap": Object { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 11.79687499, - -0.0098, - 3.064988953, - ], - Array [ - 50, - -0.0004, - 2.954068131, - ], - ], - "dispense": Array [ - Array [ - 50, - 0, - 2.931601299, - ], - ], - }, - Object { - "aspirate": Array [ - Array [ - 5.538952382, - 0.04994568474, - 2.492829422, - ], - Array [ - 7.050333334, - 0.0335171238, - 2.583826438, - ], - Array [ - 11.5397619, - 0.01443549911, - 2.718358253, - ], - Array [ - 17.55071427, - 0.006684226987, - 2.807806088, - ], - Array [ - 50, - 0.001789563193, - 2.893710933, - ], - ], - "dispense": Array [ - Array [ - 50, - 0, - 2.931601299, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p50_single_v1.4 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 0.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2, - }, - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 25, - "valuesByApiLevel": Object { - "2.0": 25, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 50, - "valuesByApiLevel": Object { - "2.0": 50, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P50 Single-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -5, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 50, - "minVolume": 5, - "model": "p50_single_v1.4", - "modelOffset": Array [ - 0, - 0, - 0, - ], - "name": "p50_single", - "nozzleOffset": Array [ - 0, - 0, - 25, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.1, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.3, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 51.7, - }, - "tipOverlap": Object { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 11.79687499, - -0.0098, - 3.064988953, - ], - Array [ - 50, - -0.0004, - 2.954068131, - ], - ], - "dispense": Array [ - Array [ - 50, - 0, - 2.931601299, - ], - ], - }, - Object { - "aspirate": Array [ - Array [ - 5.538952382, - 0.04994568474, - 2.492829422, - ], - Array [ - 7.050333334, - 0.0335171238, - 2.583826438, - ], - Array [ - 11.5397619, - 0.01443549911, - 2.718358253, - ], - Array [ - 17.55071427, - 0.006684226987, - 2.807806088, - ], - Array [ - 50, - 0.001789563193, - 2.893710933, - ], - ], - "dispense": Array [ - Array [ - 50, - 0, - 2.931601299, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p300_multi_v1 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 3, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 3.5, - }, - "channels": 8, - "defaultAspirateFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 150, - "valuesByApiLevel": Object { - "2.0": 150, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 300, - "valuesByApiLevel": Object { - "2.0": 300, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P300 8-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -2, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 300, - "minVolume": 30, - "model": "p300_multi_v1", - "modelOffset": Array [ - 0, - 31.5, - -25.8, - ], - "name": "p300_multi", - "nozzleOffset": Array [ - 0, - 31.5, - 0.8, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.6, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 51.7, - }, - "tipOverlap": Object { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 57.25698968, - 0.017, - 18.132, - ], - Array [ - 309.2612689, - 0.001, - 19.03, - ], - ], - "dispense": Array [ - Array [ - 309.2612689, - 0, - 19.29389273, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p300_multi_v1.3 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 1.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 3.5, - }, - "channels": 8, - "defaultAspirateFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 150, - "valuesByApiLevel": Object { - "2.0": 150, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 300, - "valuesByApiLevel": Object { - "2.0": 300, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P300 8-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -3.5, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 300, - "minVolume": 30, - "model": "p300_multi_v1.3", - "modelOffset": Array [ - 0, - 31.5, - -25.8, - ], - "name": "p300_multi", - "nozzleOffset": Array [ - 0, - 31.5, - 0.8, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.6, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 51.7, - }, - "tipOverlap": Object { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 57.25698968, - 0.017, - 18.132, - ], - Array [ - 309.2612689, - 0.001, - 19.03, - ], - ], - "dispense": Array [ - Array [ - 309.2612689, - 0, - 19.29389273, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p300_multi_v1.4 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 1.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 3.5, - }, - "channels": 8, - "defaultAspirateFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 150, - "valuesByApiLevel": Object { - "2.0": 150, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 300, - "valuesByApiLevel": Object { - "2.0": 300, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P300 8-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -3.5, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm", - "value": 5, - }, - "maxVolume": 300, - "minVolume": 30, - "model": "p300_multi_v1.4", - "modelOffset": Array [ - 0, - 31.5, - -25.8, - ], - "name": "p300_multi", - "nozzleOffset": Array [ - 0, - 31.5, - 0.8, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.6, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 51.7, - }, - "tipOverlap": Object { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 57.25698968, - 0.017, - 18.132, - ], - Array [ - 309.2612689, - 0.001, - 19.03, - ], - ], - "dispense": Array [ - Array [ - 309.2612689, - 0, - 19.29389273, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p300_multi_v1.5 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 1.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 3.5, - }, - "channels": 8, - "defaultAspirateFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 150, - "valuesByApiLevel": Object { - "2.0": 150, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 300, - "valuesByApiLevel": Object { - "2.0": 300, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P300 8-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -3.5, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm", - "value": 5, - }, - "maxVolume": 300, - "minVolume": 30, - "model": "p300_multi_v1.5", - "modelOffset": Array [ - 0, - 31.5, - -25.8, - ], - "name": "p300_multi", - "nozzleOffset": Array [ - 0, - 31.5, - 0.8, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.9, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 3, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "dropTipShake", - "doubleDropTip", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 51.7, - }, - "tipOverlap": Object { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 57.25698968, - 0.017, - 18.132, - ], - Array [ - 309.2612689, - 0.001, - 19.03, - ], - ], - "dispense": Array [ - Array [ - 309.2612689, - 0, - 19.29389273, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p300_single_v1 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 0, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 1.5, - }, - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 150, - "valuesByApiLevel": Object { - "2.0": 150, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 300, - "valuesByApiLevel": Object { - "2.0": 300, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P300 Single-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -4, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 300, - "minVolume": 30, - "model": "p300_single_v1", - "modelOffset": Array [ - 0, - 0, - 0, - ], - "name": "p300_single", - "nozzleOffset": Array [ - 0, - 0, - 25, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.1, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.3, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 51.7, - }, - "tipOverlap": Object { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 36.19844973, - 0.043, - 16.548, - ], - Array [ - 54.98518519, - 0.012, - 17.658, - ], - Array [ - 73.90077516, - 0.008, - 17.902, - ], - Array [ - 111.8437953, - 0.004, - 18.153, - ], - Array [ - 302.3895337, - 0.001, - 18.23, - ], - ], - "dispense": Array [ - Array [ - 302.3895337, - 0, - 18.83156277, - ], - ], - }, - Object { - "aspirate": Array [ - Array [ - 53.958, - 0.0252, - 16.6268, - ], - Array [ - 73.0217, - 0.0141, - 17.2234, - ], - Array [ - 82.6834, - 0.0123, - 17.3586, - ], - Array [ - 120.7877, - 0.0055, - 17.9214, - ], - Array [ - 197.3909, - 0.0028, - 18.2415, - ], - Array [ - 300, - 0.0014, - 18.5235, - ], - ], - "dispense": Array [ - Array [ - 302.3895337, - 0, - 18.83156277, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p300_single_v1.3 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": -1.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 1.5, - }, - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 150, - "valuesByApiLevel": Object { - "2.0": 150, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 300, - "valuesByApiLevel": Object { - "2.0": 300, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P300 Single-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -5.5, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 300, - "minVolume": 30, - "model": "p300_single_v1.3", - "modelOffset": Array [ - 0, - 0, - 0, - ], - "name": "p300_single", - "nozzleOffset": Array [ - 0, - 0, - 25, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.1, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.3, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 51.7, - }, - "tipOverlap": Object { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 36.19844973, - 0.043, - 16.548, - ], - Array [ - 54.98518519, - 0.012, - 17.658, - ], - Array [ - 73.90077516, - 0.008, - 17.902, - ], - Array [ - 111.8437953, - 0.004, - 18.153, - ], - Array [ - 302.3895337, - 0.001, - 18.23, - ], - ], - "dispense": Array [ - Array [ - 302.3895337, - 0, - 18.83156277, - ], - ], - }, - Object { - "aspirate": Array [ - Array [ - 53.958, - 0.0252, - 16.6268, - ], - Array [ - 73.0217, - 0.0141, - 17.2234, - ], - Array [ - 82.6834, - 0.0123, - 17.3586, - ], - Array [ - 120.7877, - 0.0055, - 17.9214, - ], - Array [ - 197.3909, - 0.0028, - 18.2415, - ], - Array [ - 300, - 0.0014, - 18.5235, - ], - ], - "dispense": Array [ - Array [ - 302.3895337, - 0, - 18.83156277, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p300_single_v1.4 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 0, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 3, - }, - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 150, - "valuesByApiLevel": Object { - "2.0": 150, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 300, - "valuesByApiLevel": Object { - "2.0": 300, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P300 Single-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -4.5, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 300, - "minVolume": 30, - "model": "p300_single_v1.4", - "modelOffset": Array [ - 0, - 0, - 0, - ], - "name": "p300_single", - "nozzleOffset": Array [ - 0, - 0, - 25, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.1, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.3, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 51.7, - }, - "tipOverlap": Object { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 36.19844973, - 0.043, - 16.548, - ], - Array [ - 54.98518519, - 0.012, - 17.658, - ], - Array [ - 73.90077516, - 0.008, - 17.902, - ], - Array [ - 111.8437953, - 0.004, - 18.153, - ], - Array [ - 302.3895337, - 0.001, - 18.23, - ], - ], - "dispense": Array [ - Array [ - 302.3895337, - 0, - 18.83156277, - ], - ], - }, - Object { - "aspirate": Array [ - Array [ - 53.958, - 0.0252, - 16.6268, - ], - Array [ - 73.0217, - 0.0141, - 17.2234, - ], - Array [ - 82.6834, - 0.0123, - 17.3586, - ], - Array [ - 120.7877, - 0.0055, - 17.9214, - ], - Array [ - 197.3909, - 0.0028, - 18.2415, - ], - Array [ - 300, - 0.0014, - 18.5235, - ], - ], - "dispense": Array [ - Array [ - 302.3895337, - 0, - 18.83156277, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p300_single_v1.5 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 0, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 3, - }, - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 150, - "valuesByApiLevel": Object { - "2.0": 150, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 300, - "valuesByApiLevel": Object { - "2.0": 300, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P300 Single-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -4.5, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 300, - "minVolume": 30, - "model": "p300_single_v1.5", - "modelOffset": Array [ - 0, - 0, - 0, - ], - "name": "p300_single", - "nozzleOffset": Array [ - 0, - 0, - 25, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.1, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 10, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.3, - }, - "quirks": Array [ - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 51.7, - }, - "tipOverlap": Object { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 35.11266179, - 0.03721315938, - 16.2497, - ], - Array [ - 44.37338506, - 0.02084320206, - 16.8245, - ], - Array [ - 63.12001468, - 0.01519931266, - 17.0749, - ], - Array [ - 148.3020792, - 0.005910516464, - 17.6612, - ], - Array [ - 224.5387262, - 0.00227975152, - 18.1997, - ], - Array [ - 301.049323, - 0.001359578667, - 18.4063, - ], - ], - "dispense": Array [ - Array [ - 302.3895337, - 0, - 18.83156277, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p1000_single_v1 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 1, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 3, - }, - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 2000, - "min": 50, - "value": 500, - "valuesByApiLevel": Object { - "2.0": 500, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 2000, - "min": 50, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_1000ul/1", - "opentrons/opentrons_96_filtertiprack_1000ul/1", - "opentrons/geb_96_tiprack_1000ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P1000 Single-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -2.2, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 1000, - "minVolume": 100, - "model": "p1000_single_v1", - "modelOffset": Array [ - 0, - 0, - 20, - ], - "name": "p1000_single", - "nozzleOffset": Array [ - 0, - 0, - 45, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.1, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 15, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "pickupTipShake", - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 76.7, - }, - "tipOverlap": Object { - "default": 7.95, - "opentrons/eppendorf_96_tiprack_1000ul_eptips/1": 0, - "opentrons/geb_96_tiprack_1000ul/1": 11.2, - "opentrons/opentrons_96_filtertiprack_1000ul/1": 7.95, - "opentrons/opentrons_96_tiprack_1000ul/1": 7.95, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 148.9157, - 0.0213, - 56.3986, - ], - Array [ - 210.8237, - 0.0108, - 57.9568, - ], - Array [ - 241.2405, - 0.0025, - 59.717, - ], - Array [ - 365.2719, - 0.0046, - 59.2043, - ], - Array [ - 614.4871, - 0.0023, - 60.0431, - ], - Array [ - 1000, - 0.001, - 60.8209, - ], - ], - "dispense": Array [ - Array [ - 1000, - 0, - 61.3275, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p1000_single_v1.3 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 0.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2.5, - }, - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 2000, - "min": 50, - "value": 500, - "valuesByApiLevel": Object { - "2.0": 500, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 2000, - "min": 50, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_1000ul/1", - "opentrons/opentrons_96_filtertiprack_1000ul/1", - "opentrons/geb_96_tiprack_1000ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P1000 Single-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -4, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.7, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 1000, - "minVolume": 100, - "model": "p1000_single_v1.3", - "modelOffset": Array [ - 0, - 0, - 20, - ], - "name": "p1000_single", - "nozzleOffset": Array [ - 0, - 0, - 45, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.1, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 15, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "pickupTipShake", - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 76.7, - }, - "tipOverlap": Object { - "default": 7.95, - "opentrons/eppendorf_96_tiprack_1000ul_eptips/1": 0, - "opentrons/geb_96_tiprack_1000ul/1": 11.2, - "opentrons/opentrons_96_filtertiprack_1000ul/1": 7.95, - "opentrons/opentrons_96_tiprack_1000ul/1": 7.95, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 148.9157, - 0.0213, - 56.3986, - ], - Array [ - 210.8237, - 0.0108, - 57.9568, - ], - Array [ - 241.2405, - 0.0025, - 59.717, - ], - Array [ - 365.2719, - 0.0046, - 59.2043, - ], - Array [ - 614.4871, - 0.0023, - 60.0431, - ], - Array [ - 1000, - 0.001, - 60.8209, - ], - ], - "dispense": Array [ - Array [ - 1000, - 0, - 61.3275, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p1000_single_v1.4 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 0.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2.5, - }, - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 2000, - "min": 50, - "value": 500, - "valuesByApiLevel": Object { - "2.0": 500, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 2000, - "min": 50, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_1000ul/1", - "opentrons/opentrons_96_filtertiprack_1000ul/1", - "opentrons/geb_96_tiprack_1000ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P1000 Single-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -4, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.7, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 1000, - "minVolume": 100, - "model": "p1000_single_v1.4", - "modelOffset": Array [ - 0, - 0, - 20, - ], - "name": "p1000_single", - "nozzleOffset": Array [ - 0, - 0, - 45, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.1, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 15, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "pickupTipShake", - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 76.7, - }, - "tipOverlap": Object { - "default": 7.95, - "opentrons/eppendorf_96_tiprack_1000ul_eptips/1": 0, - "opentrons/geb_96_tiprack_1000ul/1": 11.2, - "opentrons/opentrons_96_filtertiprack_1000ul/1": 7.95, - "opentrons/opentrons_96_tiprack_1000ul/1": 7.95, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 148.9157, - 0.0213, - 56.3986, - ], - Array [ - 210.8237, - 0.0108, - 57.9568, - ], - Array [ - 241.2405, - 0.0025, - 59.717, - ], - Array [ - 365.2719, - 0.0046, - 59.2043, - ], - Array [ - 614.4871, - 0.0023, - 60.0431, - ], - Array [ - 1000, - 0.001, - 60.8209, - ], - ], - "dispense": Array [ - Array [ - 1000, - 0, - 61.3275, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteModelSpecs model p1000_single_v1.5 snapshot 1`] = ` -Object { - "blowout": Object { - "max": 10, - "min": -4, - "type": "float", - "units": "mm", - "value": 0.5, - }, - "bottom": Object { - "max": 19, - "min": -2, - "type": "float", - "units": "mm", - "value": 2.5, - }, - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 2000, - "min": 50, - "value": 500, - "valuesByApiLevel": Object { - "2.0": 500, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 2000, - "min": 50, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_1000ul/1", - "opentrons/opentrons_96_filtertiprack_1000ul/1", - "opentrons/geb_96_tiprack_1000ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P1000 Single-Channel GEN1", - "dropTip": Object { - "max": 2, - "min": -6, - "type": "float", - "units": "mm", - "value": -4, - }, - "dropTipCurrent": Object { - "max": 0.8, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.7, - }, - "dropTipSpeed": Object { - "max": 30, - "min": 0.001, - "type": "float", - "units": "mm/sec", - "value": 5, - }, - "maxVolume": 1000, - "minVolume": 100, - "model": "p1000_single_v1.5", - "modelOffset": Array [ - 0, - 0, - 20, - ], - "name": "p1000_single", - "nozzleOffset": Array [ - 0, - 0, - 45, - ], - "pickUpCurrent": Object { - "max": 2, - "min": 0.05, - "type": "float", - "units": "amps", - "value": 0.15, - }, - "pickUpDistance": Object { - "max": 30, - "min": 1, - "type": "float", - "units": "mm", - "value": 15, - }, - "pickUpIncrement": Object { - "max": 10, - "min": 0, - "type": "float", - "units": "mm", - "value": 1, - }, - "pickUpPresses": Object { - "max": 10, - "min": 0, - "type": "int", - "units": "presses", - "value": 3, - }, - "pickUpSpeed": Object { - "max": 100, - "min": 1, - "type": "float", - "units": "mm/s", - "value": 30, - }, - "plungerCurrent": Object { - "max": 0.5, - "min": 0.1, - "type": "float", - "units": "amps", - "value": 0.5, - }, - "quirks": Array [ - "pickupTipShake", - "dropTipShake", - ], - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, - "tipLength": Object { - "max": 100, - "min": 0, - "type": "float", - "units": "mm", - "value": 76.7, - }, - "tipOverlap": Object { - "default": 7.95, - "opentrons/eppendorf_96_tiprack_1000ul_eptips/1": 0, - "opentrons/geb_96_tiprack_1000ul/1": 11.2, - "opentrons/opentrons_96_filtertiprack_1000ul/1": 7.95, - "opentrons/opentrons_96_tiprack_1000ul/1": 7.95, - }, - "top": Object { - "max": 19.5, - "min": 5, - "type": "float", - "units": "mm", - "value": 19.5, - }, - "ulPerMm": Array [ - Object { - "aspirate": Array [ - Array [ - 148.9157, - 0.0213, - 56.3986, - ], - Array [ - 210.8237, - 0.0108, - 57.9568, - ], - Array [ - 241.2405, - 0.0025, - 59.717, - ], - Array [ - 365.2719, - 0.0046, - 59.2043, - ], - Array [ - 614.4871, - 0.0023, - 60.0431, - ], - Array [ - 1000, - 0.001, - 60.8209, - ], - ], - "dispense": Array [ - Array [ - 1000, - 0, - 61.3275, - ], - ], - }, - ], -} -`; - -exports[`pipette data accessors getPipetteNameSpecs name p10_multi snapshot 1`] = ` -Object { - "channels": 8, - "defaultAspirateFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 5, - "valuesByApiLevel": Object { - "2.0": 5, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 10, - "valuesByApiLevel": Object { - "2.0": 10, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_10ul/1", - "opentrons/opentrons_96_filtertiprack_10ul/1", - "opentrons/geb_96_tiprack_10ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P10 8-Channel GEN1", - "maxVolume": 10, - "minVolume": 1, - "name": "p10_multi", - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, -} -`; - -exports[`pipette data accessors getPipetteNameSpecs name p10_single snapshot 1`] = ` -Object { - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 5, - "valuesByApiLevel": Object { - "2.0": 5, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 50, - "min": 0.001, - "value": 10, - "valuesByApiLevel": Object { - "2.0": 10, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_10ul/1", - "opentrons/opentrons_96_filtertiprack_10ul/1", - "opentrons/geb_96_tiprack_10ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P10 Single-Channel GEN1", - "maxVolume": 10, - "minVolume": 1, - "name": "p10_single", - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, -} -`; - -exports[`pipette data accessors getPipetteNameSpecs name p50_multi snapshot 1`] = ` -Object { - "channels": 8, - "defaultAspirateFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 25, - "valuesByApiLevel": Object { - "2.0": 25, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 50, - "valuesByApiLevel": Object { - "2.0": 50, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P50 8-Channel GEN1", - "maxVolume": 50, - "minVolume": 5, - "name": "p50_multi", - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, -} -`; - -exports[`pipette data accessors getPipetteNameSpecs name p50_single snapshot 1`] = ` -Object { - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 25, - "valuesByApiLevel": Object { - "2.0": 25, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 100, - "min": 0.001, - "value": 50, - "valuesByApiLevel": Object { - "2.0": 50, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P50 Single-Channel GEN1", - "maxVolume": 50, - "minVolume": 5, - "name": "p50_single", - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, -} -`; - -exports[`pipette data accessors getPipetteNameSpecs name p300_multi snapshot 1`] = ` -Object { - "channels": 8, - "defaultAspirateFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 150, - "valuesByApiLevel": Object { - "2.0": 150, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 300, - "valuesByApiLevel": Object { - "2.0": 300, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P300 8-Channel GEN1", - "maxVolume": 300, - "minVolume": 30, - "name": "p300_multi", - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, -} -`; - -exports[`pipette data accessors getPipetteNameSpecs name p300_single snapshot 1`] = ` -Object { - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 150, - "valuesByApiLevel": Object { - "2.0": 150, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 600, - "min": 0.001, - "value": 300, - "valuesByApiLevel": Object { - "2.0": 300, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_300ul/1", - "opentrons/opentrons_96_filtertiprack_200ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P300 Single-Channel GEN1", - "maxVolume": 300, - "minVolume": 30, - "name": "p300_single", - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, -} -`; - -exports[`pipette data accessors getPipetteNameSpecs name p1000_single snapshot 1`] = ` -Object { - "channels": 1, - "defaultAspirateFlowRate": Object { - "max": 2000, - "min": 50, - "value": 500, - "valuesByApiLevel": Object { - "2.0": 500, - }, - }, - "defaultBlowOutFlowRate": Object { - "max": 1000, - "min": 5, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultDispenseFlowRate": Object { - "max": 2000, - "min": 50, - "value": 1000, - "valuesByApiLevel": Object { - "2.0": 1000, - }, - }, - "defaultTipracks": Array [ - "opentrons/opentrons_96_tiprack_1000ul/1", - "opentrons/opentrons_96_filtertiprack_1000ul/1", - "opentrons/geb_96_tiprack_1000ul/1", - ], - "displayCategory": "GEN1", - "displayName": "P1000 Single-Channel GEN1", - "maxVolume": 1000, - "minVolume": 100, - "name": "p1000_single", - "smoothieConfigs": Object { - "homePosition": 220, - "stepsPerMM": 768, - "travelDistance": 30, - }, -} -`; diff --git a/shared-data/js/__tests__/pipettes.test.ts b/shared-data/js/__tests__/pipettes.test.ts index 4b045ee48a4..6dc9b36ec9c 100644 --- a/shared-data/js/__tests__/pipettes.test.ts +++ b/shared-data/js/__tests__/pipettes.test.ts @@ -82,15 +82,6 @@ describe('pipette data accessors', () => { default: { $otSharedSchema: '#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json', - defaultTipOverlapDictionary: { - default: 10.5, - 'opentrons/opentrons_flex_96_tiprack_1000ul/1': 9.65, - 'opentrons/opentrons_flex_96_tiprack_200ul/1': 9.76, - 'opentrons/opentrons_flex_96_tiprack_50ul/1': 10.09, - 'opentrons/opentrons_flex_96_filtertiprack_1000ul/1': 9.65, - 'opentrons/opentrons_flex_96_filtertiprack_200ul/1': 9.76, - 'opentrons/opentrons_flex_96_filtertiprack_50ul/1': 10.09, - }, defaultTipracks: [ 'opentrons/opentrons_flex_96_tiprack_1000ul/1', 'opentrons/opentrons_flex_96_tiprack_200ul/1', @@ -170,11 +161,6 @@ describe('pipette data accessors', () => { const mockLiquidDefault = { $otSharedSchema: '#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json', - defaultTipOverlapDictionary: { - default: 10.5, - [tiprackFilter50uL]: 10.5, - [tiprack50uL]: 10.5, - }, defaultTipracks: [tiprack50uL, tiprackFilter50uL], maxVolume: 50, minVolume: 5, @@ -218,11 +204,6 @@ describe('pipette data accessors', () => { } as PipetteV2LiquidSpecs const mockLiquidLowVolume = { $otSharedSchema: '#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json', - defaultTipOverlapDictionary: { - default: 10.5, - [tiprackFilter50uL]: 10.5, - [tiprack50uL]: 10.5, - }, defaultTipracks: [tiprack50uL, tiprackFilter50uL], maxVolume: 30, minVolume: 1, diff --git a/shared-data/js/labwareTools/__tests__/__snapshots__/createIrregularLabware.test.ts.snap b/shared-data/js/labwareTools/__tests__/__snapshots__/createIrregularLabware.test.ts.snap index 96ac3e3853b..fdfdd6cd42a 100644 --- a/shared-data/js/labwareTools/__tests__/__snapshots__/createIrregularLabware.test.ts.snap +++ b/shared-data/js/labwareTools/__tests__/__snapshots__/createIrregularLabware.test.ts.snap @@ -1,5 +1,3 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`test createIrregularLabware function > failing to validate against labware schema throws w/o "strict" 1`] = `[Error: Generated labware failed to validate, please check your inputs]`; - -exports[`test createIrregularLabware function failing to validate against labware schema throws w/o "strict" 1`] = `"Generated labware failed to validate, please check your inputs"`; diff --git a/shared-data/js/labwareTools/__tests__/__snapshots__/createLabware.test.ts.snap b/shared-data/js/labwareTools/__tests__/__snapshots__/createLabware.test.ts.snap index 122b6a3894e..85c5aa8c451 100644 --- a/shared-data/js/labwareTools/__tests__/__snapshots__/createLabware.test.ts.snap +++ b/shared-data/js/labwareTools/__tests__/__snapshots__/createLabware.test.ts.snap @@ -1,5 +1,3 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`createLabware > failing to validate against labware schema throws w/o "strict" 1`] = `[Error: Generated labware failed to validate, please check your inputs]`; - -exports[`createLabware failing to validate against labware schema throws w/o "strict" 1`] = `"Generated labware failed to validate, please check your inputs"`; diff --git a/shared-data/js/types.ts b/shared-data/js/types.ts index c051d51e8c0..1583c5aa372 100644 --- a/shared-data/js/types.ts +++ b/shared-data/js/types.ts @@ -521,7 +521,6 @@ export interface SupportedTips { export interface PipetteV2LiquidSpecs { $otSharedSchema: string supportedTips: SupportedTips - defaultTipOverlapDictionary: Record maxVolume: number minVolume: number defaultTipracks: string[] diff --git a/shared-data/pipette/definitions/2/general/eight_channel/p1000/3_4.json b/shared-data/pipette/definitions/2/general/eight_channel/p1000/3_4.json index 7d985e34e2c..efc70c53611 100644 --- a/shared-data/pipette/definitions/2/general/eight_channel/p1000/3_4.json +++ b/shared-data/pipette/definitions/2/general/eight_channel/p1000/3_4.json @@ -35,6 +35,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -53,6 +62,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -71,6 +89,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -89,6 +116,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -107,6 +143,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -125,6 +170,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -143,6 +197,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -161,6 +224,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -179,6 +251,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } diff --git a/shared-data/pipette/definitions/2/general/eight_channel/p1000/3_5.json b/shared-data/pipette/definitions/2/general/eight_channel/p1000/3_5.json index 7d985e34e2c..efc70c53611 100644 --- a/shared-data/pipette/definitions/2/general/eight_channel/p1000/3_5.json +++ b/shared-data/pipette/definitions/2/general/eight_channel/p1000/3_5.json @@ -35,6 +35,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -53,6 +62,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -71,6 +89,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -89,6 +116,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -107,6 +143,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -125,6 +170,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -143,6 +197,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -161,6 +224,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } @@ -179,6 +251,15 @@ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67 } } } diff --git a/shared-data/pipette/definitions/2/general/eight_channel/p50/3_4.json b/shared-data/pipette/definitions/2/general/eight_channel/p50/3_4.json index 3f0b0020c03..9ca1bfa8926 100644 --- a/shared-data/pipette/definitions/2/general/eight_channel/p50/3_4.json +++ b/shared-data/pipette/definitions/2/general/eight_channel/p50/3_4.json @@ -31,6 +31,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -45,6 +50,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -59,6 +69,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -73,6 +88,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -87,6 +107,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -101,6 +126,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -115,6 +145,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -129,6 +164,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -143,6 +183,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } diff --git a/shared-data/pipette/definitions/2/general/eight_channel/p50/3_5.json b/shared-data/pipette/definitions/2/general/eight_channel/p50/3_5.json index 3f0b0020c03..9ca1bfa8926 100644 --- a/shared-data/pipette/definitions/2/general/eight_channel/p50/3_5.json +++ b/shared-data/pipette/definitions/2/general/eight_channel/p50/3_5.json @@ -31,6 +31,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -45,6 +50,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -59,6 +69,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -73,6 +88,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -87,6 +107,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -101,6 +126,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -115,6 +145,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -129,6 +164,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } @@ -143,6 +183,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27 } } } diff --git a/shared-data/pipette/definitions/2/general/ninety_six_channel/p1000/3_4.json b/shared-data/pipette/definitions/2/general/ninety_six_channel/p1000/3_4.json index 84e2492dfb4..8245214c853 100644 --- a/shared-data/pipette/definitions/2/general/ninety_six_channel/p1000/3_4.json +++ b/shared-data/pipette/definitions/2/general/ninety_six_channel/p1000/3_4.json @@ -130,6 +130,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -142,6 +151,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21 } } }, @@ -154,6 +168,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74 } } }, @@ -166,6 +185,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } } @@ -184,6 +208,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -196,6 +229,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5 } } }, @@ -208,6 +246,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74 } } }, @@ -220,6 +263,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } } @@ -238,6 +286,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -250,6 +307,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21 } } }, @@ -262,6 +324,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74 } } }, @@ -274,6 +341,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } } @@ -292,6 +364,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -304,6 +385,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21 } } }, @@ -316,6 +402,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74 } } }, @@ -328,6 +419,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } } @@ -346,6 +442,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -358,6 +463,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21 } } }, @@ -370,6 +480,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74 } } }, @@ -382,6 +497,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } } @@ -400,6 +520,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -412,6 +541,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21 } } }, @@ -424,6 +558,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74 } } }, @@ -436,6 +575,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } } @@ -461,6 +605,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -473,6 +626,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21 } } }, @@ -485,6 +643,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74 } } }, @@ -497,6 +660,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } } diff --git a/shared-data/pipette/definitions/2/general/ninety_six_channel/p1000/3_5.json b/shared-data/pipette/definitions/2/general/ninety_six_channel/p1000/3_5.json index 515db5e61f8..8a45197f246 100644 --- a/shared-data/pipette/definitions/2/general/ninety_six_channel/p1000/3_5.json +++ b/shared-data/pipette/definitions/2/general/ninety_six_channel/p1000/3_5.json @@ -130,6 +130,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -142,6 +151,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21 } } }, @@ -154,6 +168,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74 } } }, @@ -166,6 +185,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } } @@ -184,6 +208,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -196,6 +229,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21 } } }, @@ -208,6 +246,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74 } } }, @@ -220,6 +263,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } } @@ -238,6 +286,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -250,6 +307,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21 } } }, @@ -262,6 +324,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74 } } }, @@ -274,6 +341,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } } @@ -292,6 +364,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -304,6 +385,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21 } } }, @@ -316,6 +402,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74 } } }, @@ -328,6 +419,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } } @@ -346,6 +442,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -358,6 +463,15 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -370,6 +484,15 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -382,6 +505,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } } @@ -400,6 +528,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -412,6 +549,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21 } } }, @@ -424,6 +566,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74 } } }, @@ -436,6 +583,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } } @@ -461,6 +613,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } }, @@ -473,6 +634,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.21 } } }, @@ -485,6 +651,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.74 } } }, @@ -497,6 +668,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.16 } } } diff --git a/shared-data/pipette/definitions/2/general/ninety_six_channel/p1000/3_6.json b/shared-data/pipette/definitions/2/general/ninety_six_channel/p1000/3_6.json index 273e3ef82a5..949593f74c6 100644 --- a/shared-data/pipette/definitions/2/general/ninety_six_channel/p1000/3_6.json +++ b/shared-data/pipette/definitions/2/general/ninety_six_channel/p1000/3_6.json @@ -155,6 +155,12 @@ "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } }, @@ -166,6 +172,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21 } } }, @@ -177,6 +187,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } }, @@ -188,6 +202,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16 } } } @@ -203,6 +221,12 @@ "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } }, @@ -214,6 +238,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21 } } }, @@ -225,6 +253,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } }, @@ -236,6 +268,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16 } } } @@ -251,6 +287,12 @@ "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } }, @@ -262,6 +304,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21 } } }, @@ -273,6 +319,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } }, @@ -284,6 +334,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16 } } } @@ -299,6 +353,12 @@ "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } }, @@ -310,6 +370,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21 } } }, @@ -321,6 +385,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } }, @@ -332,6 +400,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16 } } } @@ -347,6 +419,12 @@ "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } }, @@ -358,6 +436,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21 } } }, @@ -369,6 +451,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } }, @@ -380,6 +466,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16 } } } @@ -395,6 +485,12 @@ "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } }, @@ -406,6 +502,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21 } } }, @@ -417,6 +517,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } }, @@ -428,6 +532,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16 } } } @@ -443,6 +551,12 @@ "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } } @@ -458,6 +572,12 @@ "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } } @@ -480,6 +600,12 @@ "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } }, @@ -491,6 +617,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.21 } } }, @@ -502,6 +632,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.74 } } }, @@ -513,6 +647,10 @@ "v0": { "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.16 } } } diff --git a/shared-data/pipette/definitions/2/general/single_channel/p1000/3_4.json b/shared-data/pipette/definitions/2/general/single_channel/p1000/3_4.json index 50d5a0193e5..f0ebd0e00a3 100644 --- a/shared-data/pipette/definitions/2/general/single_channel/p1000/3_4.json +++ b/shared-data/pipette/definitions/2/general/single_channel/p1000/3_4.json @@ -27,6 +27,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.65, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.76, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.09, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.65, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.76, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.09 } } } diff --git a/shared-data/pipette/definitions/2/general/single_channel/p1000/3_5.json b/shared-data/pipette/definitions/2/general/single_channel/p1000/3_5.json index 50d5a0193e5..f0ebd0e00a3 100644 --- a/shared-data/pipette/definitions/2/general/single_channel/p1000/3_5.json +++ b/shared-data/pipette/definitions/2/general/single_channel/p1000/3_5.json @@ -27,6 +27,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.65, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.76, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.09, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.65, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.76, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.09 } } } diff --git a/shared-data/pipette/definitions/2/general/single_channel/p1000/3_6.json b/shared-data/pipette/definitions/2/general/single_channel/p1000/3_6.json index 50d5a0193e5..f0ebd0e00a3 100644 --- a/shared-data/pipette/definitions/2/general/single_channel/p1000/3_6.json +++ b/shared-data/pipette/definitions/2/general/single_channel/p1000/3_6.json @@ -27,6 +27,15 @@ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.65, + "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.76, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.09, + "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.65, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.76, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.09 } } } diff --git a/shared-data/pipette/definitions/2/general/single_channel/p50/3_4.json b/shared-data/pipette/definitions/2/general/single_channel/p50/3_4.json index c31466cdf07..3f8ba3c4a75 100644 --- a/shared-data/pipette/definitions/2/general/single_channel/p50/3_4.json +++ b/shared-data/pipette/definitions/2/general/single_channel/p50/3_4.json @@ -23,6 +23,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.09, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.09 } } } diff --git a/shared-data/pipette/definitions/2/general/single_channel/p50/3_5.json b/shared-data/pipette/definitions/2/general/single_channel/p50/3_5.json index c31466cdf07..3f8ba3c4a75 100644 --- a/shared-data/pipette/definitions/2/general/single_channel/p50/3_5.json +++ b/shared-data/pipette/definitions/2/general/single_channel/p50/3_5.json @@ -23,6 +23,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.09, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.09 } } } diff --git a/shared-data/pipette/definitions/2/general/single_channel/p50/3_6.json b/shared-data/pipette/definitions/2/general/single_channel/p50/3_6.json index c31466cdf07..3f8ba3c4a75 100644 --- a/shared-data/pipette/definitions/2/general/single_channel/p50/3_6.json +++ b/shared-data/pipette/definitions/2/general/single_channel/p50/3_6.json @@ -23,6 +23,11 @@ "default": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 + }, + "v1": { + "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.09, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.09 } } } diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_0.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_0.json index c781ed5fb1b..955f7f94d92 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_0.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_0.json @@ -41,13 +41,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1.0 - }, "maxVolume": 10, "minVolume": 1.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_3.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_3.json index c781ed5fb1b..955f7f94d92 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_3.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_3.json @@ -41,13 +41,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1.0 - }, "maxVolume": 10, "minVolume": 1.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_4.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_4.json index c781ed5fb1b..955f7f94d92 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_4.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_4.json @@ -41,13 +41,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1.0 - }, "maxVolume": 10, "minVolume": 1.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_5.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_5.json index c26f9dd3367..9bc999b9079 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_5.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_5.json @@ -30,13 +30,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1.0 - }, "maxVolume": 10, "minVolume": 1.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_6.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_6.json index ca296630314..e27427dca08 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_6.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p10/default/1_6.json @@ -38,13 +38,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1.0 - }, "maxVolume": 10, "minVolume": 1.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/1_0.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/1_0.json index c9a72f83aca..4754fce1887 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/1_0.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/1_0.json @@ -340,12 +340,6 @@ "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_0.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_0.json index 12736030d8e..dd8801b5f52 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_0.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_0.json @@ -340,15 +340,6 @@ "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.1, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.17, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_3.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_3.json index fd4f29a83bb..3ef1de1988d 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_3.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_3.json @@ -343,15 +343,6 @@ "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.1, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.17, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_4.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_4.json index dcc9d533490..05932a3ac7d 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_4.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_4.json @@ -343,15 +343,6 @@ "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.1, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.17, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_5.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_5.json index 83026842153..95292a3f98b 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_5.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_5.json @@ -223,15 +223,6 @@ "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.1, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.17, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p20/default/2_0.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p20/default/2_0.json index bc9f6ec8de9..a163cecca05 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p20/default/2_0.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p20/default/2_0.json @@ -290,15 +290,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 8.25, - "opentrons/opentrons_96_tiprack_20ul/1": 8.25, - "opentrons/opentrons_96_filtertiprack_20ul/1": 8.25, - "opentrons/opentrons_96_tiprack_10ul/1": 8.25, - "opentrons/opentrons_96_filtertiprack_10ul/1": 8.25, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 8.4, - "opentrons/geb_96_tiprack_10ul/1": 8.3 - }, "maxVolume": 20, "minVolume": 1.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p20/default/2_1.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p20/default/2_1.json index aa83a2e5bda..d474a145b09 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p20/default/2_1.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p20/default/2_1.json @@ -172,15 +172,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 8.25, - "opentrons/opentrons_96_tiprack_10ul/1": 8.25, - "opentrons/opentrons_96_filtertiprack_10ul/1": 8.25, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 8.4, - "opentrons/geb_96_tiprack_10ul/1": 8.3, - "opentrons/opentrons_96_tiprack_20ul/1": 8.25, - "opentrons/opentrons_96_filtertiprack_20ul/1": 8.25 - }, "maxVolume": 20, "minVolume": 1.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_0.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_0.json index 0b997a3d6ca..b1029a19e81 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_0.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_0.json @@ -52,12 +52,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47 - }, "maxVolume": 300, "minVolume": 30.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_3.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_3.json index a1a35a727e2..b1029a19e81 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_3.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_3.json @@ -52,12 +52,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47 - }, "maxVolume": 300, "minVolume": 30.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_4.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_4.json index 0b997a3d6ca..b1029a19e81 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_4.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_4.json @@ -52,12 +52,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47 - }, "maxVolume": 300, "minVolume": 30.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_5.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_5.json index a1a35a727e2..b1029a19e81 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_5.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/1_5.json @@ -52,12 +52,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47 - }, "maxVolume": 300, "minVolume": 30.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/2_0.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/2_0.json index 161e8ef45dd..a59e91d5b24 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/2_0.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/2_0.json @@ -176,11 +176,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 8.2, - "opentrons/opentrons_96_filtertiprack_200ul/1": 8.2, - "opentrons/opentrons_96_tiprack_300ul/1": 8.2 - }, "maxVolume": 300, "minVolume": 20.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/2_1.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/2_1.json index 4fee623f602..440e5fc50b0 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/2_1.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p300/default/2_1.json @@ -178,11 +178,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 8.2, - "opentrons/opentrons_96_tiprack_300ul/1": 8.2, - "opentrons/opentrons_96_filtertiprack_200ul/1": 8.2 - }, "maxVolume": 300, "minVolume": 20.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_0.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_0.json index 3714335cbe8..4306d3b746c 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_0.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_0.json @@ -113,12 +113,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47 - }, "maxVolume": 50, "minVolume": 5.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_3.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_3.json index 3714335cbe8..4306d3b746c 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_3.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_3.json @@ -113,12 +113,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47 - }, "maxVolume": 50, "minVolume": 5.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_4.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_4.json index 0d02b181a20..218246d36a2 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_4.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_4.json @@ -113,12 +113,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47 - }, "maxVolume": 50, "minVolume": 5.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_5.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_5.json index 11b13cae38f..852156a8bfa 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_5.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/1_5.json @@ -95,12 +95,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47 - }, "maxVolume": 50, "minVolume": 5.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_0.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_0.json index ac12e0bea1e..5e80e7417ec 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_0.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_0.json @@ -88,11 +88,6 @@ "defaultPushOutVolume": 2 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 - }, "maxVolume": 50, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_3.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_3.json index 38a4b01df80..538b4c5232c 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_3.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_3.json @@ -89,11 +89,6 @@ "defaultPushOutVolume": 2 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 - }, "maxVolume": 50, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_4.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_4.json index f1c15ddae49..3eca493ef04 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_4.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_4.json @@ -89,11 +89,6 @@ "defaultPushOutVolume": 2 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 - }, "maxVolume": 50, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_5.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_5.json index 80763fd4b6c..caa2de5cb48 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_5.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/default/3_5.json @@ -81,11 +81,6 @@ "defaultPushOutVolume": 2 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 - }, "maxVolume": 50, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_0.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_0.json index 870ff5f594d..9efbcd21451 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_0.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_0.json @@ -83,11 +83,6 @@ "defaultPushOutVolume": 7 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 - }, "maxVolume": 30, "minVolume": 1, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_3.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_3.json index cc629f28316..10a23141be3 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_3.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_3.json @@ -79,11 +79,6 @@ "defaultPushOutVolume": 7 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 - }, "maxVolume": 30, "minVolume": 1, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_4.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_4.json index 0e9284b04e6..acffd367df2 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_4.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_4.json @@ -79,11 +79,6 @@ "defaultPushOutVolume": 7 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 - }, "maxVolume": 30, "minVolume": 1, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_5.json b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_5.json index 0e9284b04e6..acffd367df2 100644 --- a/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_5.json +++ b/shared-data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_5.json @@ -79,11 +79,6 @@ "defaultPushOutVolume": 7 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.05, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.05 - }, "maxVolume": 30, "minVolume": 1, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/1_0.json b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/1_0.json index 0f3f56f6494..8e17a5ac22d 100644 --- a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/1_0.json +++ b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/1_0.json @@ -139,10 +139,10 @@ [436.984286, 0.000322, 15.303634], [632.861429, 0.000208, 15.353582], [828.952857, 0.00013, 15.402544], - [976.118571, 0.000095, 15.431673], - [1005.275714, -0.000067, 15.589843], - [1024.768571, -0.000021, 15.543681], - [1049.145714, -0.000013, 15.535884] + [976.118571, 9.5e-5, 15.431673], + [1005.275714, -6.7e-5, 15.589843], + [1024.768571, -2.1e-5, 15.543681], + [1049.145714, -1.3e-5, 15.535884] ] } }, @@ -162,25 +162,16 @@ [436.984286, 0.000322, 15.303634], [632.861429, 0.000208, 15.353582], [828.952857, 0.00013, 15.402544], - [976.118571, 0.000095, 15.431673], - [1005.275714, -0.000067, 15.589843], - [1024.768571, -0.000021, 15.543681], - [1049.145714, -0.000013, 15.535884] + [976.118571, 9.5e-5, 15.431673], + [1005.275714, -6.7e-5, 15.589843], + [1024.768571, -2.1e-5, 15.543681], + [1049.145714, -1.3e-5, 15.535884] ] } }, "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_0.json b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_0.json index 0f3f56f6494..8e17a5ac22d 100644 --- a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_0.json +++ b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_0.json @@ -139,10 +139,10 @@ [436.984286, 0.000322, 15.303634], [632.861429, 0.000208, 15.353582], [828.952857, 0.00013, 15.402544], - [976.118571, 0.000095, 15.431673], - [1005.275714, -0.000067, 15.589843], - [1024.768571, -0.000021, 15.543681], - [1049.145714, -0.000013, 15.535884] + [976.118571, 9.5e-5, 15.431673], + [1005.275714, -6.7e-5, 15.589843], + [1024.768571, -2.1e-5, 15.543681], + [1049.145714, -1.3e-5, 15.535884] ] } }, @@ -162,25 +162,16 @@ [436.984286, 0.000322, 15.303634], [632.861429, 0.000208, 15.353582], [828.952857, 0.00013, 15.402544], - [976.118571, 0.000095, 15.431673], - [1005.275714, -0.000067, 15.589843], - [1024.768571, -0.000021, 15.543681], - [1049.145714, -0.000013, 15.535884] + [976.118571, 9.5e-5, 15.431673], + [1005.275714, -6.7e-5, 15.589843], + [1024.768571, -2.1e-5, 15.543681], + [1049.145714, -1.3e-5, 15.535884] ] } }, "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_3.json b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_3.json index 899d08aeaee..1edafe0cfac 100644 --- a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_3.json +++ b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_3.json @@ -142,10 +142,10 @@ [436.984286, 0.000322, 15.303634], [632.861429, 0.000208, 15.353582], [828.952857, 0.00013, 15.402544], - [976.118571, 0.000095, 15.431673], - [1005.275714, -0.000067, 15.589843], - [1024.768571, -0.000021, 15.543681], - [1049.145714, -0.000013, 15.535884] + [976.118571, 9.5e-5, 15.431673], + [1005.275714, -6.7e-5, 15.589843], + [1024.768571, -2.1e-5, 15.543681], + [1049.145714, -1.3e-5, 15.535884] ] } }, @@ -165,25 +165,16 @@ [436.984286, 0.000322, 15.303634], [632.861429, 0.000208, 15.353582], [828.952857, 0.00013, 15.402544], - [976.118571, 0.000095, 15.431673], - [1005.275714, -0.000067, 15.589843], - [1024.768571, -0.000021, 15.543681], - [1049.145714, -0.000013, 15.535884] + [976.118571, 9.5e-5, 15.431673], + [1005.275714, -6.7e-5, 15.589843], + [1024.768571, -2.1e-5, 15.543681], + [1049.145714, -1.3e-5, 15.535884] ] } }, "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_4.json b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_4.json index 899d08aeaee..1edafe0cfac 100644 --- a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_4.json +++ b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_4.json @@ -142,10 +142,10 @@ [436.984286, 0.000322, 15.303634], [632.861429, 0.000208, 15.353582], [828.952857, 0.00013, 15.402544], - [976.118571, 0.000095, 15.431673], - [1005.275714, -0.000067, 15.589843], - [1024.768571, -0.000021, 15.543681], - [1049.145714, -0.000013, 15.535884] + [976.118571, 9.5e-5, 15.431673], + [1005.275714, -6.7e-5, 15.589843], + [1024.768571, -2.1e-5, 15.543681], + [1049.145714, -1.3e-5, 15.535884] ] } }, @@ -165,25 +165,16 @@ [436.984286, 0.000322, 15.303634], [632.861429, 0.000208, 15.353582], [828.952857, 0.00013, 15.402544], - [976.118571, 0.000095, 15.431673], - [1005.275714, -0.000067, 15.589843], - [1024.768571, -0.000021, 15.543681], - [1049.145714, -0.000013, 15.535884] + [976.118571, 9.5e-5, 15.431673], + [1005.275714, -6.7e-5, 15.589843], + [1024.768571, -2.1e-5, 15.543681], + [1049.145714, -1.3e-5, 15.535884] ] } }, "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_5.json b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_5.json index 1b9c88edf92..6c490c82962 100644 --- a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_5.json +++ b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_5.json @@ -142,10 +142,10 @@ [436.984286, 0.000322, 15.303634], [632.861429, 0.000208, 15.353582], [828.952857, 0.00013, 15.402544], - [976.118571, 0.000095, 15.431673], - [1005.275714, -0.000067, 15.589843], - [1024.768571, -0.000021, 15.543681], - [1049.145714, -0.000013, 15.535884] + [976.118571, 9.5e-5, 15.431673], + [1005.275714, -6.7e-5, 15.589843], + [1024.768571, -2.1e-5, 15.543681], + [1049.145714, -1.3e-5, 15.535884] ] } }, @@ -165,25 +165,16 @@ [436.984286, 0.000322, 15.303634], [632.861429, 0.000208, 15.353582], [828.952857, 0.00013, 15.402544], - [976.118571, 0.000095, 15.431673], - [1005.275714, -0.000067, 15.589843], - [1024.768571, -0.000021, 15.543681], - [1049.145714, -0.000013, 15.535884] + [976.118571, 9.5e-5, 15.431673], + [1005.275714, -6.7e-5, 15.589843], + [1024.768571, -2.1e-5, 15.543681], + [1049.145714, -1.3e-5, 15.535884] ] } }, "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_6.json b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_6.json index cd27abd81f0..0dae86106ce 100644 --- a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_6.json +++ b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_6.json @@ -175,12 +175,6 @@ "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_0.json b/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_0.json index bcba2e228bb..d969c97dd60 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_0.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_0.json @@ -44,13 +44,6 @@ }, "maxVolume": 10, "minVolume": 1.0, - "defaultTipOverlapDictionary": { - "default": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1.0 - }, "defaultTipracks": [ "opentrons/opentrons_96_tiprack_10ul/1", "opentrons/opentrons_96_filtertiprack_10ul/1", diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_3.json b/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_3.json index 7c94504d9bb..d969c97dd60 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_3.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_3.json @@ -42,13 +42,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1.0 - }, "maxVolume": 10, "minVolume": 1.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_4.json b/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_4.json index caeac6e5709..4816cdfb7a0 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_4.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_4.json @@ -39,13 +39,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1.0 - }, "maxVolume": 10, "minVolume": 1.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_5.json b/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_5.json index 32bde854b93..c2ac049b454 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_5.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p10/default/1_5.json @@ -37,13 +37,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1.0 - }, "maxVolume": 10, "minVolume": 1.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_0.json b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_0.json index 5edc982ed29..2d5f259cff9 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_0.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_0.json @@ -31,13 +31,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.95, - "opentrons/opentrons_96_tiprack_1000ul/1": 7.95, - "opentrons/opentrons_96_filtertiprack_1000ul/1": 7.95, - "opentrons/geb_96_tiprack_1000ul/1": 11.2, - "opentrons/eppendorf_96_tiprack_1000ul_eptips/1": 0.0 - }, "maxVolume": 1000, "minVolume": 100.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_3.json b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_3.json index 5edc982ed29..2d5f259cff9 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_3.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_3.json @@ -31,13 +31,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.95, - "opentrons/opentrons_96_tiprack_1000ul/1": 7.95, - "opentrons/opentrons_96_filtertiprack_1000ul/1": 7.95, - "opentrons/geb_96_tiprack_1000ul/1": 11.2, - "opentrons/eppendorf_96_tiprack_1000ul_eptips/1": 0.0 - }, "maxVolume": 1000, "minVolume": 100.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_4.json b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_4.json index 5edc982ed29..2d5f259cff9 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_4.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_4.json @@ -31,13 +31,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.95, - "opentrons/opentrons_96_tiprack_1000ul/1": 7.95, - "opentrons/opentrons_96_filtertiprack_1000ul/1": 7.95, - "opentrons/geb_96_tiprack_1000ul/1": 11.2, - "opentrons/eppendorf_96_tiprack_1000ul_eptips/1": 0.0 - }, "maxVolume": 1000, "minVolume": 100.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_5.json b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_5.json index 5edc982ed29..2d5f259cff9 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_5.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/1_5.json @@ -31,13 +31,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.95, - "opentrons/opentrons_96_tiprack_1000ul/1": 7.95, - "opentrons/opentrons_96_filtertiprack_1000ul/1": 7.95, - "opentrons/geb_96_tiprack_1000ul/1": 11.2, - "opentrons/eppendorf_96_tiprack_1000ul_eptips/1": 0.0 - }, "maxVolume": 1000, "minVolume": 100.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/2_0.json b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/2_0.json index 8417c5a36dd..f253b23a8ba 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/2_0.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/2_0.json @@ -89,12 +89,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 9.7, - "opentrons/opentrons_96_tiprack_1000ul/1": 11.5, - "opentrons/opentrons_96_filtertiprack_1000ul/1": 11.5, - "opentrons/geb_96_tiprack_1000ul/1": 9.5 - }, "maxVolume": 1000, "minVolume": 100.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/2_1.json b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/2_1.json index 46563177001..d2972302511 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/2_1.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/2_1.json @@ -92,12 +92,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 9.7, - "opentrons/opentrons_96_tiprack_1000ul/1": 11.5, - "opentrons/opentrons_96_filtertiprack_1000ul/1": 11.5, - "opentrons/geb_96_tiprack_1000ul/1": 9.5 - }, "maxVolume": 1000, "minVolume": 100.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/2_2.json b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/2_2.json index bfb9c6e83e8..3e51809385e 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/2_2.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/2_2.json @@ -92,12 +92,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 9.7, - "opentrons/opentrons_96_tiprack_1000ul/1": 11.5, - "opentrons/opentrons_96_filtertiprack_1000ul/1": 11.5, - "opentrons/geb_96_tiprack_1000ul/1": 9.5 - }, "maxVolume": 1000, "minVolume": 100.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_0.json b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_0.json index 476cb96cc69..dd8801b5f52 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_0.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_0.json @@ -340,15 +340,6 @@ "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_3.json b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_3.json index e4e765c999c..3ef1de1988d 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_3.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_3.json @@ -343,15 +343,6 @@ "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_4.json b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_4.json index f48e41f37f2..a1f0a806fa2 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_4.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_4.json @@ -269,15 +269,6 @@ "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_5.json b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_5.json index 9c939ba9c7c..8a322ace79b 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_5.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_5.json @@ -191,15 +191,6 @@ "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_6.json b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_6.json index 72187981c26..5f49411d926 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_6.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_6.json @@ -191,15 +191,6 @@ "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_7.json b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_7.json index bae4f484b6a..5f49411d926 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_7.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p1000/default/3_7.json @@ -191,15 +191,6 @@ "defaultPushOutVolume": 20 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.65, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.76, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.09, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.65, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.76, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.09 - }, "maxVolume": 1000, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p20/default/2_0.json b/shared-data/pipette/definitions/2/liquid/single_channel/p20/default/2_0.json index a2b76f0cfb2..1042db49b7d 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p20/default/2_0.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p20/default/2_0.json @@ -410,15 +410,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 8.25, - "opentrons/opentrons_96_tiprack_10ul/1": 8.25, - "opentrons/opentrons_96_filtertiprack_10ul/1": 8.25, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 8.4, - "opentrons/geb_96_tiprack_10ul/1": 8.3, - "opentrons/opentrons_96_tiprack_20ul/1": 8.25, - "opentrons/opentrons_96_filtertiprack_20ul/1": 8.25 - }, "maxVolume": 20, "minVolume": 1.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p20/default/2_1.json b/shared-data/pipette/definitions/2/liquid/single_channel/p20/default/2_1.json index e10b9ba735d..3e22b6d4eaf 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p20/default/2_1.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p20/default/2_1.json @@ -234,15 +234,6 @@ }, "maxVolume": 20, "minVolume": 1.0, - "defaultTipOverlapDictionary": { - "default": 8.25, - "opentrons/opentrons_96_tiprack_10ul/1": 8.25, - "opentrons/opentrons_96_filtertiprack_10ul/1": 8.25, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 8.4, - "opentrons/geb_96_tiprack_10ul/1": 8.3, - "opentrons/opentrons_96_tiprack_20ul/1": 8.25, - "opentrons/opentrons_96_filtertiprack_20ul/1": 8.25 - }, "defaultTipracks": [ "opentrons/opentrons_96_tiprack_20ul/1", "opentrons/opentrons_96_filtertiprack_20ul/1", diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p20/default/2_2.json b/shared-data/pipette/definitions/2/liquid/single_channel/p20/default/2_2.json index eba2ed05cb1..2526bb915fa 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p20/default/2_2.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p20/default/2_2.json @@ -292,15 +292,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 8.25, - "opentrons/opentrons_96_tiprack_10ul/1": 8.25, - "opentrons/opentrons_96_filtertiprack_10ul/1": 8.25, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 8.4, - "opentrons/geb_96_tiprack_10ul/1": 8.3, - "opentrons/opentrons_96_tiprack_20ul/1": 8.25, - "opentrons/opentrons_96_filtertiprack_20ul/1": 8.25 - }, "maxVolume": 20, "minVolume": 1.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_0.json b/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_0.json index 68ba4f899f2..028c5bb379f 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_0.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_0.json @@ -84,12 +84,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47 - }, "maxVolume": 300, "minVolume": 30.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_3.json b/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_3.json index 68ba4f899f2..028c5bb379f 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_3.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_3.json @@ -84,12 +84,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47 - }, "maxVolume": 300, "minVolume": 30.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_4.json b/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_4.json index 68ba4f899f2..028c5bb379f 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_4.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_4.json @@ -84,12 +84,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47 - }, "maxVolume": 300, "minVolume": 30.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_5.json b/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_5.json index 3c5222ee994..12dbc6059b9 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_5.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/1_5.json @@ -60,12 +60,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47 - }, "maxVolume": 300, "minVolume": 30.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/2_0.json b/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/2_0.json index 0cb69ad19ed..efe5705c0f9 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/2_0.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/2_0.json @@ -174,11 +174,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 8.2, - "opentrons/opentrons_96_tiprack_300ul/1": 8.2, - "opentrons/opentrons_96_filtertiprack_200ul/1": 8.2 - }, "maxVolume": 300, "minVolume": 20.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/2_1.json b/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/2_1.json index 0478ea9c0e5..75a672a1a0b 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/2_1.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p300/default/2_1.json @@ -176,11 +176,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 8.2, - "opentrons/opentrons_96_tiprack_300ul/1": 8.2, - "opentrons/opentrons_96_filtertiprack_200ul/1": 8.2 - }, "maxVolume": 300, "minVolume": 20.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_0.json b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_0.json index b2b8e2a3227..a777d2786c2 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_0.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_0.json @@ -104,12 +104,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47 - }, "maxVolume": 50, "minVolume": 5.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_3.json b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_3.json index 483e4593741..100ed5ed01d 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_3.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_3.json @@ -113,12 +113,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47 - }, "maxVolume": 50, "minVolume": 5.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_4.json b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_4.json index 483e4593741..100ed5ed01d 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_4.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_4.json @@ -113,12 +113,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47 - }, "maxVolume": 50, "minVolume": 5.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_5.json b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_5.json index 55e70afee0a..5226fc69982 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_5.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/1_5.json @@ -89,12 +89,6 @@ "defaultPushOutVolume": 0 } }, - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47 - }, "maxVolume": 50, "minVolume": 5.0, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_0.json b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_0.json index f5492d8809a..5e80e7417ec 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_0.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_0.json @@ -88,11 +88,6 @@ "defaultPushOutVolume": 2 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 50, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_3.json b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_3.json index a5d87c485ba..538b4c5232c 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_3.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_3.json @@ -89,11 +89,6 @@ "defaultPushOutVolume": 2 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 50, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_4.json b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_4.json index 24da0837138..9313a751f14 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_4.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_4.json @@ -91,11 +91,6 @@ "defaultPushOutVolume": 2 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 50, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_5.json b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_5.json index 0077dcf4c76..7fe702bc97d 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_5.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_5.json @@ -71,11 +71,6 @@ "defaultPushOutVolume": 2 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 50, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_6.json b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_6.json index 0077dcf4c76..7fe702bc97d 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_6.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p50/default/3_6.json @@ -71,11 +71,6 @@ "defaultPushOutVolume": 2 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 50, "minVolume": 5, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_0.json b/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_0.json index 2a292477578..a60f41b6f06 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_0.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_0.json @@ -68,11 +68,6 @@ "defaultPushOutVolume": 7 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 30, "minVolume": 1, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_3.json b/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_3.json index deae3998fe9..04603843849 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_3.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_3.json @@ -69,11 +69,6 @@ "defaultPushOutVolume": 7 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 30, "minVolume": 1, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_4.json b/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_4.json index 397dc63b230..274819fd343 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_4.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_4.json @@ -69,11 +69,6 @@ "defaultPushOutVolume": 7 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 30, "minVolume": 1, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_5.json b/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_5.json index e1b92133bd6..33e1410ce99 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_5.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_5.json @@ -67,11 +67,6 @@ "defaultPushOutVolume": 7 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 30, "minVolume": 1, "defaultTipracks": [ diff --git a/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_6.json b/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_6.json index e1b92133bd6..33e1410ce99 100644 --- a/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_6.json +++ b/shared-data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_6.json @@ -67,11 +67,6 @@ "defaultPushOutVolume": 7 } }, - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5 - }, "maxVolume": 30, "minVolume": 1, "defaultTipracks": [ diff --git a/shared-data/pipette/schemas/2/pipetteLiquidPropertiesSchema.json b/shared-data/pipette/schemas/2/pipetteLiquidPropertiesSchema.json index a4ba8e659f1..42842c4afb3 100644 --- a/shared-data/pipette/schemas/2/pipetteLiquidPropertiesSchema.json +++ b/shared-data/pipette/schemas/2/pipetteLiquidPropertiesSchema.json @@ -41,8 +41,7 @@ "maxVolume", "minVolume", "defaultTipracks", - "supportedTips", - "defaultTipOverlapDictionary" + "supportedTips" ], "additionalProperties": false, "properties": { @@ -106,16 +105,6 @@ } } }, - "defaultTipOverlapDictionary": { - "type": "object", - "description": "Map of tip overlap values with defaults", - "required": ["default"], - "$comment": "Other keys in here should be labware URIs", - "properties": { - "default": { "type": "number" } - }, - "additionalProperties": { "type": "number" } - }, "maxVolume": { "$ref": "#/definitions/positiveNumber" }, "minVolume": { "$ref": "#/definitions/positiveNumber" }, "defaultTipracks": { diff --git a/shared-data/python/opentrons_shared_data/pipette/pipette_definition.py b/shared-data/python/opentrons_shared_data/pipette/pipette_definition.py index 95aa35f8b4a..a46c668dc2c 100644 --- a/shared-data/python/opentrons_shared_data/pipette/pipette_definition.py +++ b/shared-data/python/opentrons_shared_data/pipette/pipette_definition.py @@ -6,6 +6,10 @@ from . import types as pip_types, dev_types +# The highest and lowest existing overlap version values. +TIP_OVERLAP_VERSION_MINIMUM = 0 +TIP_OVERLAP_VERSION_MAXIMUM = 1 + PLUNGER_CURRENT_MINIMUM = 0.1 PLUNGER_CURRENT_MAXIMUM = 1.5 @@ -455,11 +459,6 @@ class PipetteLiquidPropertiesDefinition(BaseModel): supported_tips: Dict[pip_types.PipetteTipType, SupportedTipsDefinition] = Field( ..., alias="supportedTips" ) - tip_overlap_dictionary: Dict[str, float] = Field( - ..., - description="The default tip overlap associated with this tip type.", - alias="defaultTipOverlapDictionary", - ) max_volume: int = Field( ..., description="The maximum supported volume of the pipette.", diff --git a/shared-data/python/tests/pipette/test_pipette_definition.py b/shared-data/python/tests/pipette/test_pipette_definition.py index 2b1f31e4fe4..9fd134ec059 100644 --- a/shared-data/python/tests/pipette/test_pipette_definition.py +++ b/shared-data/python/tests/pipette/test_pipette_definition.py @@ -45,7 +45,7 @@ def get_liquid_definition_for( } ) }, - "defaultTipOverlapDictionary": {}, + "versionedTipOverlapDictionary": {"v0": {}}, "maxVolume": 30, "minVolume": 1, "defaultTipracks": [], @@ -78,7 +78,7 @@ def get_liquid_definition_for( } ) }, - "defaultTipOverlapDictionary": {}, + "versionedTipOverlapDictionary": {"v0": {}}, "maxVolume": 100, "minVolume": 5, "defaultTipracks": [], diff --git a/shared-data/python/tests/pipette/test_validate_schema.py b/shared-data/python/tests/pipette/test_validate_schema.py index 3a851003c36..f9dc4209298 100644 --- a/shared-data/python/tests/pipette/test_validate_schema.py +++ b/shared-data/python/tests/pipette/test_validate_schema.py @@ -1,7 +1,11 @@ import os +import json +from typing import Iterator from opentrons_shared_data import get_shared_data_root -from opentrons_shared_data.pipette.pipette_definition import PipetteConfigurations +from opentrons_shared_data.pipette.pipette_definition import ( + PipetteConfigurations, +) from opentrons_shared_data.pipette.load_data import ( load_definition, load_valid_nozzle_maps, @@ -12,32 +16,42 @@ from opentrons_shared_data.pipette.dev_types import PipetteModel -def test_check_all_models_are_valid() -> None: - paths_to_validate = ( - get_shared_data_root() / "pipette" / "definitions" / "2" / "general" - ) +def iterate_models() -> Iterator[PipetteModel]: + """Get an iterator of all pipette models.""" _channel_model_str = { "single_channel": "single", "ninety_six_channel": "96", "eight_channel": "multi", } - assert os.listdir(paths_to_validate), "You have a path wrong" - for channel_dir in os.listdir(paths_to_validate): - for model_dir in os.listdir(paths_to_validate / channel_dir): - for version_file in os.listdir(paths_to_validate / channel_dir / model_dir): - version_list = version_file.split(".json")[0].split("_") - built_model: PipetteModel = PipetteModel( - f"{model_dir}_{_channel_model_str[channel_dir]}_v{version_list[0]}.{version_list[1]}" - ) + defn_root = get_shared_data_root() / "pipette" / "definitions" / "2" / "liquid" + assert os.listdir(defn_root), "A path is wrong" + for channel_dir in defn_root.iterdir(): + for model_dir in channel_dir.iterdir(): + for lc_dir in model_dir.iterdir(): + for version_file in lc_dir.iterdir(): + version_list = version_file.stem.split("_") + yield PipetteModel( + f"{model_dir.stem}_{_channel_model_str[channel_dir.stem]}_v{version_list[0]}.{version_list[1]}" + ) - model_version = convert_pipette_model(built_model) - loaded_model = load_definition( - model_version.pipette_type, - model_version.pipette_channels, - model_version.pipette_version, - ) - assert isinstance(loaded_model, PipetteConfigurations) +def test_check_all_models_are_valid() -> None: + """Make sure each model can be loaded.""" + for model in iterate_models(): + model_version = convert_pipette_model(model) + try: + loaded_model = load_definition( + model_version.pipette_type, + model_version.pipette_channels, + model_version.pipette_version, + ) + except json.JSONDecodeError: + print( + f"Failed to parse {model_version.pipette_type} {model_version.pipette_channels} {model_version.pipette_version}" + ) + raise + + assert isinstance(loaded_model, PipetteConfigurations) def test_pick_up_configs_configuration_by_nozzle_map_keys() -> None: diff --git a/step-generation/src/__tests__/__snapshots__/fixtureGeneration.test.ts.snap b/step-generation/src/__tests__/__snapshots__/fixtureGeneration.test.ts.snap index 1c1d9d85f27..93f545f568f 100644 --- a/step-generation/src/__tests__/__snapshots__/fixtureGeneration.test.ts.snap +++ b/step-generation/src/__tests__/__snapshots__/fixtureGeneration.test.ts.snap @@ -9128,15 +9128,6 @@ exports[`snapshot tests > makeContext 1`] = ` "liquids": { "default": { "$otSharedSchema": "#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json", - "defaultTipOverlapDictionary": { - "default": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - }, "defaultTipracks": [ "opentrons/opentrons_flex_96_tiprack_1000ul/1", "opentrons/opentrons_flex_96_tiprack_200ul/1", @@ -12175,13 +12166,6 @@ exports[`snapshot tests > makeContext 1`] = ` "liquids": { "default": { "$otSharedSchema": "#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json", - "defaultTipOverlapDictionary": { - "default": 3.29, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - }, "defaultTipracks": [ "opentrons/opentrons_96_tiprack_10ul/1", "opentrons/opentrons_96_filtertiprack_10ul/1", @@ -13814,13 +13798,6 @@ exports[`snapshot tests > makeContext 1`] = ` "liquids": { "default": { "$otSharedSchema": "#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json", - "defaultTipOverlapDictionary": { - "default": 3.29, - "opentrons/eppendorf_96_tiprack_10ul_eptips/1": 1, - "opentrons/geb_96_tiprack_10ul/1": 6.2, - "opentrons/opentrons_96_filtertiprack_10ul/1": 3.29, - "opentrons/opentrons_96_tiprack_10ul/1": 3.29, - }, "defaultTipracks": [ "opentrons/opentrons_96_tiprack_10ul/1", "opentrons/opentrons_96_filtertiprack_10ul/1", @@ -15185,12 +15162,6 @@ exports[`snapshot tests > makeContext 1`] = ` "liquids": { "default": { "$otSharedSchema": "#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json", - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, "defaultTipracks": [ "opentrons/opentrons_96_tiprack_300ul/1", "opentrons/opentrons_96_filtertiprack_200ul/1", @@ -16812,12 +16783,6 @@ exports[`snapshot tests > makeContext 1`] = ` "liquids": { "default": { "$otSharedSchema": "#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json", - "defaultTipOverlapDictionary": { - "default": 7.47, - "opentrons/opentrons_96_filtertiprack_200ul/1": 7.47, - "opentrons/opentrons_96_tiprack_300ul/1": 7.47, - "opentrons/tipone_96_tiprack_200ul/1": 6.1, - }, "defaultTipracks": [ "opentrons/opentrons_96_tiprack_300ul/1", "opentrons/opentrons_96_filtertiprack_200ul/1",