@@ -721,7 +721,7 class RCLine(models.Model): | |||
|
721 | 721 | if ref=='first_baud': |
|
722 | 722 | return int(1 + round((tx_width + 1)/2 + params['first_height']*km2unit - params['resolution']*km2unit)) |
|
723 | 723 |
elif ref=='sub_baud': |
|
724 |
return |
|
|
724 | return np.ceil(1 + params['first_height']*km2unit - params['resolution']*km2unit/2) | |
|
725 | 725 | else: |
|
726 | 726 | return 0 |
|
727 | 727 | |
@@ -812,13 +812,16 class RCLine(models.Model): | |||
|
812 | 812 | codes = [self.array_to_points(code) for code in codes] |
|
813 | 813 | n = len(codes) |
|
814 | 814 | |
|
815 | for i, tup in enumerate(tx.pulses_as_points()): | |
|
816 | code = codes[i%n] | |
|
817 | y.extend([(c[0]+tup[0], c[1]+tup[0]) for c in code]) | |
|
818 | ||
|
819 | 815 | ranges = tx_params['range'].split(',') |
|
820 | 816 | if len(ranges)>0 and ranges[0]!='0': |
|
821 |
|
|
|
817 | dum = self.mask_ranges(tx.pulses_as_points(), ranges) | |
|
818 | else: | |
|
819 | dum = tx.pulses_as_points() | |
|
820 | ||
|
821 | for i, tup in enumerate(dum): | |
|
822 | if tup==(0,0): continue | |
|
823 | code = codes[i%n] | |
|
824 | y.extend([(c[0]+tup[0], c[1]+tup[0]) for c in code]) | |
|
822 | 825 | |
|
823 | 826 | elif self.line_type.name=='sync': |
|
824 | 827 | params = json.loads(self.params) |
@@ -847,7 +850,6 class RCLine(models.Model): | |||
|
847 | 850 | |
|
848 | 851 | elif self.line_type.name=='windows': |
|
849 | 852 | params = json.loads(self.params) |
|
850 | ||
|
851 | 853 | if 'params' in params and len(params['params'])>0: |
|
852 | 854 | tr_params = json.loads(self.get_lines(line_type__name='tr')[0].params) |
|
853 | 855 | tr_ranges = tr_params['range'].split(',') |
@@ -855,7 +857,8 class RCLine(models.Model): | |||
|
855 | 857 | y_win = self.points(ntx, ipp_u, |
|
856 | 858 | p['resolution']*p['number_of_samples']*km2unit, |
|
857 | 859 | before=int(self.rc_configuration.time_before*us2unit), |
|
858 | sync=self.get_win_ref(p, params['TX_ref'], km2unit)) | |
|
860 | sync=self.rc_configuration.sync+self.get_win_ref(p, params['TX_ref'], km2unit)) | |
|
861 | ||
|
859 | 862 | |
|
860 | 863 | if len(tr_ranges)>0 and tr_ranges[0]!='0': |
|
861 | 864 | y_win = self.mask_ranges(y_win, tr_ranges) |
@@ -955,7 +958,7 class RCLine(models.Model): | |||
|
955 | 958 | args = [int(a) for a in index.split('-')] |
|
956 | 959 | y[args[0]-1:args[1]] = Y[args[0]-1:args[1]] |
|
957 | 960 | else: |
|
958 |
y[int(index-1 |
|
|
961 | y[int(index)-1] = Y[int(index)-1] | |
|
959 | 962 | |
|
960 | 963 | return y |
|
961 | 964 |
@@ -1,6 +1,23 | |||
|
1 | 1 | |
|
2 | 2 | import json |
|
3 | 3 | |
|
4 | ||
|
5 | def parse_range(s): | |
|
6 | ||
|
7 | vars = ('TXA,', 'A,', 'TXB,', 'B,', 'TXA', 'TXB', 'A', 'B') | |
|
8 | ||
|
9 | for var in vars: | |
|
10 | if var in s: | |
|
11 | s = s.replace(var, '') | |
|
12 | if 'A' in var: | |
|
13 | ref = 'TXA' | |
|
14 | else: | |
|
15 | ref = 'TXB' | |
|
16 | return ref, s | |
|
17 | ||
|
18 | return '0', s | |
|
19 | ||
|
20 | ||
|
4 | 21 | class RCFile(object): |
|
5 | 22 | ''' |
|
6 | 23 | Class to handle Radar controller configuration files |
@@ -9,6 +26,7 class RCFile(object): | |||
|
9 | 26 | def __init__(self, f=None): |
|
10 | 27 | |
|
11 | 28 | self.data = {} |
|
29 | self.line = '' | |
|
12 | 30 | if isinstance(f, str): |
|
13 | 31 | self.f = open(f) |
|
14 | 32 | self.name = f.split('/')[-1] |
@@ -78,21 +96,7 class RCFile(object): | |||
|
78 | 96 | |
|
79 | 97 | #Add TR line |
|
80 | 98 | if 'Pulse selection_TR' in data: |
|
81 |
|
|
|
82 | rng = data['Pulse selection_TR'].replace('A,', '') | |
|
83 | ref = 'TXA' | |
|
84 | elif 'A' in data['Pulse selection_TR']: | |
|
85 | rng = data['Pulse selection_TR'].replace('A', '') | |
|
86 | ref = 'TXA' | |
|
87 | elif 'B,' in data['Pulse selection_TR']: | |
|
88 | rng = data['Pulse selection_TR'].replace('B,', '') | |
|
89 | ref = 'TXB' | |
|
90 | elif 'B' in data['Pulse selection_TR']: | |
|
91 | rng = data['Pulse selection_TR'].replace('B', '') | |
|
92 | ref = 'TXB' | |
|
93 | else: | |
|
94 | rng = data['Pulse selection_TR'] | |
|
95 | ref = '0' | |
|
99 | ref, rng = parse_range(data['Pulse selection_TR']) | |
|
96 | 100 | line = {'type':'tr', 'range': rng if rng else '0', 'TX_ref':ref} |
|
97 | 101 | else: |
|
98 | 102 | line = {'type': 'tr', 'range': '0', 'TX_ref': '0'} |
General Comments 0
You need to be logged in to leave comments.
Login now