@@ -80,7 +80,7 @@ def load_labware(self, command, ot_log):
8080 result = command .get ('result' , {})
8181
8282 #get labware id
83- location = params .get (location , {})
83+ location = params .get (' location' , {})
8484 #labware TYPE
8585 load_name = params .get ('loadName' , 'unknown' )
8686 #string number 1-11
@@ -115,29 +115,34 @@ def load_labware(self, command, ot_log):
115115 if slot_name in self .deck_slots :
116116 slot_resource = self .deck_slots [slot_name ]
117117 try :
118- #check if slot already has labware (child)
119- # query for existing labware in slot
118+ # #check if slot already has labware (child)
119+ # # query for existing labware in slot
120120
121- # Grid resource if tip rack
121+ # # Grid resource if tip rack
122122 if 'tip' in load_name .lower ():
123123 #tip rack always 8x12 grid
124- labware_resource = Grid (
125- resource_name = f"{ self .node_name } _{ display_name } _{ slot_name } " ,
126- resource_class = "tip_rack" ,
127- rows = 8 ,
128- columns = 12 ,
129- attributes = {
130- "ot2_labware_id" : labware_id ,
131- "load_name" : load_name ,
132- "slot" : slot_name
133- }
134- )
135- labware_resource = self .client .add_resource (labware_resource )
136-
137-
138- #set as child of the deck slot
139- self .client .set_child (resource = slot_resource , key = "labware" , child = labware_resource )
140- self .labware_id_to_resource [labware_id ] = labware_resource
124+ # labware_resource = Grid(
125+ # resource_name = f"{self.node_name}_{display_name}_{slot_name}",
126+ # resource_class = "tip_rack",
127+ # rows = 8,
128+ # columns = 12,
129+ # attributes = {
130+ # "ot2_labware_id": labware_id,
131+ # "load_name": load_name,
132+ # "slot": slot_name
133+ # }
134+ # )
135+ # labware_resource = self.client.add_resource(labware_resource)
136+
137+ labware_resource = self .client .create_resource_from_template (
138+ template_name = load_name ,
139+ resource_name = labware_id
140+ )
141+
142+
143+ #set as child of the deck slot
144+ self .client .set_child (resource = slot_resource , key = "labware" , child = labware_resource )
145+ self .labware_id_to_resource [labware_id ] = labware_resource
141146
142147 elif 'plate' in load_name .lower () or 'well' in load_name .loawer ():
143148 #plate as grid, either 96 or 384
@@ -149,34 +154,44 @@ def load_labware(self, command, ot_log):
149154 else :
150155 rows , cols = 8 , 12 #96 well by default
151156
152- labware_resource = Grid (
153- resource_name = f"{ self .node_name } _{ display_name } _{ slot_name } " ,
154- resource_class = "plate" ,
155- rows = rows ,
156- columns = cols ,
157- attributes = {
158- "ot2_labware_id" : labware_id ,
159- "load_name" : load_name ,
160- "slot" : slot_name
161- }
162- )
163- labware_resource = self .client .add_resource (labware_resource )
157+ # labware_resource = Grid(
158+ # resource_name=f"{self.node_name}_{display_name}_{slot_name}",
159+ # resource_class="plate",
160+ # rows=rows,
161+ # columns=cols,
162+ # attributes={
163+ # "ot2_labware_id": labware_id,
164+ # "load_name": load_name,
165+ # "slot": slot_name
166+ # }
167+ # )
168+ # labware_resource = self.client.add_resource(labware_resource)
169+ labware_resource = self .client .create_resource_from_template (
170+ template_name = load_name ,
171+ resource_name = labware_id
172+ )
173+
164174 self .client .set_child (resource = slot_resource , key = "labware" , child = labware_resource )
165175 self .labware_id_to_resource [labware_id ] = labware_resource
166176
167177 else :
168178 #TODO: add addional labware types, tuberacks and modules etc, generic container for now
169- labware_resource = Container (
170- resource_name = f"{ self .node_name } _{ display_name } _{ slot_name } " ,
171- resource_class = "labware" ,
172- capacity = 100 , # Generic capacity
173- attributes = {
174- "ot2_labware_id" : labware_id ,
175- "load_name" : load_name ,
176- "slot" : slot_name
177- }
178- )
179- labware_resource = self .client .add_resource (labware_resource )
179+ # labware_resource = Container(
180+ # resource_name=f"{self.node_name}_{display_name}_{slot_name}",
181+ # resource_class="labware",
182+ # capacity=100, # Generic capacity
183+ # attributes={
184+ # "ot2_labware_id": labware_id,
185+ # "load_name": load_name,
186+ # "slot": slot_name
187+ # }
188+ # )
189+
190+ # labware_resource = self.client.add_resource(labware_resource)
191+ labware_resource = self .client .create_resource_from_template (
192+ template_name = load_name ,
193+ resource_name = labware_id
194+ )
180195 self .client .set_child (resource = slot_resource , key = "labware" , child = labware_resource )
181196 self .labware_id_to_resource [labware_id ] = labware_resource
182197
@@ -200,32 +215,38 @@ def load_pipette(self, command, ot_log):
200215 'pipette_name' : pipette_name
201216 }
202217
203- #TODO: pipette = Pool?
218+ # # TODO: pipette = Pool?
204219 if mount in self .pipette_slots :
205220 mount_resource = self .pipette_slots [mount ]
206221
222+
207223 try :
208- if 'p20' in pipette_name .lower ():
209- capacity = 20.0
210- elif 'p300' in pipette_name .lower ():
211- capacity = 300.0
212- elif 'p1000' in pipette_name .lower ():
213- capacity = 1000.0
214- #TODO: error handling
215- else :
216- capacity = 0.0
224+ # if 'p20' in pipette_name.lower():
225+ # capacity = 20.0
226+ # elif 'p300' in pipette_name.lower():
227+ # capacity = 300.0
228+ # elif 'p1000' in pipette_name.lower():
229+ # capacity = 1000.0
230+ # #TODO: error handling
231+ # else:
232+ # capacity = 0.0
217233
218- pipette_resource = Pool (
219- resource_name = f"{ self .node_name } _{ pipette_name } _{ mount } " ,
220- resource_class = "pipette" ,
221- capacity = capacity ,
222- attributes = {
223- "ot2_pipette_id" : pipette_id ,
224- "pipette_name" : pipette_name ,
225- "mount" : mount
226- }
227- )
228- pipette_resource = self .client .add_resource (pipette_resource )
234+ # pipette_resource = Pool(
235+ # resource_name=f"{self.node_name}_{pipette_name}_{mount}",
236+ # resource_class="pipette",
237+ # capacity=capacity,
238+ # attributes={
239+ # "ot2_pipette_id": pipette_id,
240+ # "pipette_name": pipette_name,
241+ # "mount": mount
242+ # }
243+ # )
244+ pipette_resource = self .client .create_resource_from_template (
245+ template_name = pipette_name ,
246+ resource_name = mount_resource
247+ )
248+
249+ # pipette_resource = self.client.add_resource(pipette_resource) #TODO: create_resource_from_template
229250 self .client .set_child (resource = mount_resource , key = 'pipette' , child = pipette_resource )
230251 self .pipette_id_to_resource [pipette_id ] = pipette_resource
231252
@@ -286,7 +307,7 @@ def aspirate(self, command, ot_log):
286307
287308 params = command .get ('params' , {})
288309
289- labware_id = params .get ('labwareID ' )
310+ labware_id = params .get ('labwareId ' )
290311 well_name = params .get ('wellName' )
291312 volume = params .get ('volume' , 0.0 )
292313
@@ -323,7 +344,7 @@ def dispense(self, command, ot_log):
323344 # For Grid resources (plates), try to get the sample/liquid at this well
324345 if isinstance (dest_labware , Grid ):
325346 try :
326- grid_key = self ._well_name_to_grid_key (well_name )
347+ grid_key = self .well_name_to_grid_key (well_name )
327348 well_contents = dest_labware .get_child (grid_key )
328349
329350 # If the well contains a Consumable resource, increase its quantity
0 commit comments