コード例 #1
0
ファイル: bebobnormal.py プロジェクト: EMATech/hinawa-utils
 def _parse_fb_plug(self, fcp, dir, subunit_type, subunit_id, fb_type, fb_id,
                    num):
     plug = {}
     addr = BcoPlugInfo.get_function_block_addr(dir, subunit_type,
                                         subunit_id, fb_type, fb_id, num)
     plug['type'] = BcoPlugInfo.get_plug_type(fcp, addr)
     plug['name'] = BcoPlugInfo.get_plug_name(fcp, addr)
     plug['channels'] = []
     channels = BcoPlugInfo.get_plug_channels(fcp, addr)
     for channel in range(channels):
         ch = BcoPlugInfo.get_plug_ch_name(fcp, addr, channel + 1)
         plug['channels'].append(ch)
     plug['clusters'] = []
     if plug['type'] is 'IsoStream':
         clusters = BcoPlugInfo.get_plug_clusters(fcp, addr)
         for cluster in range(len(clusters)):
             clst = BcoPlugInfo.get_plug_cluster_info(fcp, addr, cluster + 1)
             plug['clusters'].append(clst)
     plug['input'] = {}
     plug['outputs'] = []
     # Music subunits have counter direction.
     try:
         plug['input'] = BcoPlugInfo.get_plug_input(fcp, addr)
     except:
         pass
     try:
         plug['outputs'] = BcoPlugInfo.get_plug_outputs(fcp, addr)
     except:
         pass
     return plug
コード例 #2
0
ファイル: bebobnormal.py プロジェクト: EMATech/hinawa-utils
 def _parse_fb_plug(self, fcp, dir, subunit_type, subunit_id, fb_type,
                    fb_id, num):
     plug = {}
     addr = BcoPlugInfo.get_function_block_addr(dir, subunit_type,
                                                subunit_id, fb_type, fb_id,
                                                num)
     plug['type'] = BcoPlugInfo.get_plug_type(fcp, addr)
     plug['name'] = BcoPlugInfo.get_plug_name(fcp, addr)
     plug['channels'] = []
     channels = BcoPlugInfo.get_plug_channels(fcp, addr)
     for channel in range(channels):
         ch = BcoPlugInfo.get_plug_ch_name(fcp, addr, channel + 1)
         plug['channels'].append(ch)
     plug['clusters'] = []
     if plug['type'] is 'IsoStream':
         clusters = BcoPlugInfo.get_plug_clusters(fcp, addr)
         for cluster in range(len(clusters)):
             clst = BcoPlugInfo.get_plug_cluster_info(
                 fcp, addr, cluster + 1)
             plug['clusters'].append(clst)
     plug['input'] = {}
     plug['outputs'] = []
     # Music subunits have counter direction.
     try:
         plug['input'] = BcoPlugInfo.get_plug_input(fcp, addr)
     except:
         pass
     try:
         plug['outputs'] = BcoPlugInfo.get_plug_outputs(fcp, addr)
     except:
         pass
     return plug
コード例 #3
0
ファイル: bebobnormal.py プロジェクト: EMATech/hinawa-utils
 def _parse_stream_formats(self, fcp):
     hoge = {}
     for type, dir_plugs in self.unit_plugs.items():
         if type == 'async':
             continue
         hoge[type] = {}
         for dir, plugs in dir_plugs.items():
             hoge[type][dir] = []
             for i, plug in enumerate(plugs):
                 addr = BcoPlugInfo.get_unit_addr(dir, type, i)
                 fmts = BcoStreamFormatInfo.get_entry_list(fcp, addr)
                 hoge[type][dir].append(fmts)
     return hoge
コード例 #4
0
ファイル: bebobnormal.py プロジェクト: EMATech/hinawa-utils
 def _parse_stream_formats(self, fcp):
     hoge = {}
     for type, dir_plugs in self.unit_plugs.items():
         if type == 'async':
             continue
         hoge[type] = {}
         for dir, plugs in dir_plugs.items():
             hoge[type][dir] = []
             for i, plug in enumerate(plugs):
                 addr = BcoPlugInfo.get_unit_addr(dir, type, i)
                 fmts = BcoStreamFormatInfo.get_entry_list(fcp, addr)
                 hoge[type][dir].append(fmts)
     return hoge
コード例 #5
0
ファイル: bebobnormal.py プロジェクト: EMATech/hinawa-utils
 def _parse_unit_plug(self, fcp, dir, type, num):
     plug = {}
     addr = BcoPlugInfo.get_unit_addr(dir, type, num)
     plug['type'] = BcoPlugInfo.get_plug_type(fcp, addr)
     plug['name'] = BcoPlugInfo.get_plug_name(fcp, addr)
     plug['channels'] = []
     channels = BcoPlugInfo.get_plug_channels(fcp, addr)
     for channel in range(channels):
         ch = BcoPlugInfo.get_plug_ch_name(fcp, addr, channel + 1)
         plug['channels'].append(ch)
     plug['clusters'] = []
     if plug['type'] is 'IsoStream':
         clusters = BcoPlugInfo.get_plug_clusters(fcp, addr)
         for cluster in range(len(clusters)):
             clst = BcoPlugInfo.get_plug_cluster_info(fcp, addr, cluster + 1)
             plug['clusters'].append(clst)
     plug['input'] = []
     plug['outputs'] = []
     if dir == 'output':
         plug['input'] = BcoPlugInfo.get_plug_input(fcp, addr)
     else:
         plug['outputs'] = BcoPlugInfo.get_plug_outputs(fcp, addr)
     return plug
コード例 #6
0
ファイル: bebobnormal.py プロジェクト: EMATech/hinawa-utils
 def _parse_unit_plug(self, fcp, dir, type, num):
     plug = {}
     addr = BcoPlugInfo.get_unit_addr(dir, type, num)
     plug['type'] = BcoPlugInfo.get_plug_type(fcp, addr)
     plug['name'] = BcoPlugInfo.get_plug_name(fcp, addr)
     plug['channels'] = []
     channels = BcoPlugInfo.get_plug_channels(fcp, addr)
     for channel in range(channels):
         ch = BcoPlugInfo.get_plug_ch_name(fcp, addr, channel + 1)
         plug['channels'].append(ch)
     plug['clusters'] = []
     if plug['type'] is 'IsoStream':
         clusters = BcoPlugInfo.get_plug_clusters(fcp, addr)
         for cluster in range(len(clusters)):
             clst = BcoPlugInfo.get_plug_cluster_info(
                 fcp, addr, cluster + 1)
             plug['clusters'].append(clst)
     plug['input'] = []
     plug['outputs'] = []
     if dir == 'output':
         plug['input'] = BcoPlugInfo.get_plug_input(fcp, addr)
     else:
         plug['outputs'] = BcoPlugInfo.get_plug_outputs(fcp, addr)
     return plug