コード例 #1
0
def resource_list_with_prefix(layout_manager, prefix, res_class, num_ress):
    def name_from_line(line):
        field = LayoutManager.layline_objid(line)
        if field:
            return field
        return LayoutManager.layline_first_field(line)
    layline_test = lambda line: LayoutManager.field_starts_with(name_from_line(line), prefix)
    res_type = ResourceType(res_class, layline_test, name_from_line)
    res_list = [layout_manager.assign_unused_resource(res_type) for _ in range(num_ress)]
    res_list.sort(key=lambda r: r.layout_name())
    return res_list
コード例 #2
0
import os
from pyhamilton import (HamiltonInterface, LayoutManager, ResourceType, Tip96,
                        INITIALIZE, PICKUP, NoTipError, HardwareError)

layfile = os.path.abspath(os.path.join('.', 'minimal_error_example.lay'))
lmgr = LayoutManager(layfile)

tip_name_from_line = lambda line: LayoutManager.layline_first_field(line)
tip_name_condition = lambda line: LayoutManager.field_starts_with(
    tip_name_from_line(line), 'HTF_L_')
tips_type = ResourceType(Tip96, tip_name_condition, tip_name_from_line)
tips = lmgr.assign_unused_resource(tips_type)

if __name__ == '__main__':
    with HamiltonInterface() as hammy:
        print('INITIALIZED!!',
              hammy.wait_on_response(hammy.send_command(INITIALIZE)))
        try:
            id = hammy.send_command(PICKUP,
                                    labwarePositions=str(tips.layout_name()) +
                                    ', 1;')
            print(hammy.wait_on_response(id, raise_first_exception=True))
        except NoTipError:
            print('\n' * 10 + 'THERE WAS NO TIP THERE' + '\n' * 10)
        except HardwareError:
            print('\n' * 10 + 'Did I just crash into something?' + '\n' * 10)