diff --git a/gui/labrobot.py b/gui/labrobot.py new file mode 100644 index 0000000..ae570a2 --- /dev/null +++ b/gui/labrobot.py @@ -0,0 +1,73 @@ + + + +class LabPis: + """ Point in Lab Space | e.g. Point of a pipette tip""" + default_x = 0 + default_y = 0 + default_z = 0 + default_e = 0 # e.g piston position + default_id = 0 + + def __init__(self, x=default_x,y=default_y,z=default_z,id=default_id,e=default_e): + self.x = x + self.y = y + self.z = z + self.e = e + self.id = id + + def __str__(self) -> str: + return(f'') + +class LabPip(LabPis): + default_vol = 1000 # pipette volume + default_top = 20 # piston top position + default_hub = 10 # piston max hub + default_fe = 2000 # speed piston + + def __init__(self, x=LabPis.default_x, y=LabPis.default_y, z=LabPis.default_z, id=LabPis.default_id, e=LabPis.default_e, + vol=default_vol,hub=default_hub,fe=default_fe,top=default_top): + super().__init__(x=x, y=y, z=z, id=id, e=e) + self.vol = vol + self.fe = fe + self.hub = hub + self.top = top + + def __str__(self) -> str: + return super().__str__()[:-1]+f'|top={self.top}|hub={self.hub}|vol={self.vol}|fe={self.fe}>' + + def sendE(self): + return f'\n' + + def sendXYZ(self): + return f'\n' + + def go_top(self): + self.e=self.top + return self.sendE() + + def get_tip(self,x,y,z): + self.x = x + self.y = y + self.z = z + return self.go_top() + self.sendXYZ() + + def up(self): + self.z = 0 + return self.sendXYZ() + + + + +#Job 100myl of A in Vial 1 +v1 = LabPis(200,200,100,21) +a1 = LabPis(100,100,100,1) +p1 = LabPis() + + +pip = LabPip(vol=500) +pip.fe =5000 +print(pip) +print(pip.get_tip(150,150,50)) +print(pip.up()) +print(pip) \ No newline at end of file