1
2
3
4
5
6
7
8
9
10
11
12
13
14
16 '''
17 Container for a generic io command
18 '''
20 self.op = op
21 self.args = args if args else {}
22
24 '''
25 Container for a port or signal set command
26 '''
29
30 - def _set(self, components, component_name,
31 data_type, dimensions, *component_value):
32 '''
33 add a set component command
34 '''
35 self.args.setdefault(components, {})
36 self.args[components][component_name] = {
37 'format' : {'type' : data_type},
38 'data' : [val for val in component_value]
39 }
40 if dimensions > 1:
41 self.args[components][component_name]['format']['dimensions'] = [dimensions]
42
43 - def set_signal(self, signal_name, data_type, *signal_value):
44 '''
45 add a set signal command
46 '''
47 dimensions = len(signal_value)
48 self._set('signals', signal_name, data_type, dimensions, *signal_value)
49 return self
50
51 - def set_port(self, port_name, data_type, *port_value):
52 '''
53 add a set port command
54 '''
55 dimensions = len(port_value)
56 self._set('ports', port_name, data_type, dimensions, *port_value)
57 return self
58