pump = instruments.Pipette(axis='a', ...)
pump.dispense(volume, <location>)
pump = instruments.Pump(axis='a')
pump.dispense(volume, <location>, flowrate=X(ul/s))
- All smart modules need to have the ability to run synchrononously or asynchronously in a protocol
magdeck = smart_modules.MagDeck()
magdeck.engage() # stays engaged forever
magdeck.engage(time=5) # stays engaged for 5 mins, then shuts off
magdeck.disengage()
centrifuge = smart_modules.Centrifuge()
centrifuge.run(time=5, rpm=5000) # time in mins
weightscale = smart_modules.WeightScale()
weightscale.read() -> returns weight in mg
weightscale.read(path='path/to/file.txt', "{{ count }}, {{ reading }}", "p10") -> returns weight in mg
weightscale.tare()
- What type of weight scale do we support? Ones that do automatic/smart averaging or direct reading.
heatdeck = smart_modules.HeatDeck()
heatdeck.temperature(80)
Note: This is no longer being pursued until hardware spec/plan is finalized.
Flavor 1:
plate1 = containers.load('96-flat', 'A1', 'my-plate', smartmodule=magdeck)
plate2 = containers.load('96-flat', 'A2', 'my-plate2', smartmodule=heatdeck)
Flavor 2:
magdeck = smart_modules.MagDeck()
plate = containers.load('96-flat', 'A1', 'my-plate')
plate.add_module(magdeck)