@@ -279,13 +279,25 def experiment(request, id_exp): | |||||
279 | kwargs = {} |
|
279 | kwargs = {} | |
280 | kwargs['experiment_keys'] = ['name', 'latitude', 'longitude', 'heading'] |
|
280 | kwargs['experiment_keys'] = ['name', 'latitude', 'longitude', 'heading'] | |
281 | kwargs['experiment'] = experiment |
|
281 | kwargs['experiment'] = experiment | |
282 | kwargs['experiment_pedestal_keys'] = ['mode', 'axis', 'speed', 'angle'] |
|
282 | ||
|
283 | if conf_pedestal.mode == 'position': | |||
|
284 | kwargs['experiment_pedestal_keys'] = ['mode', 'axis', 'angle'] | |||
|
285 | elif conf_pedestal.mode == 'speed': | |||
|
286 | kwargs['experiment_pedestal_keys'] = ['mode', 'axis', 'speed'] | |||
|
287 | else: | |||
|
288 | kwargs['experiment_pedestal_keys'] = ['mode', 'axis', 'speed', 'angle', 'min_value', 'max_value'] | |||
283 | kwargs['experiment_pedestal'] = conf_pedestal |
|
289 | kwargs['experiment_pedestal'] = conf_pedestal | |
284 | kwargs['experiment_rx_keys'] = ['samplerate_rx', 'frequency_rx', 'datadir', 'clocksource', 'timesource', 'clockrate'] |
|
290 | ||
|
291 | kwargs['experiment_rx_keys'] = ['ip_address_rx', 'daughterboard_rx', 'antenna_rx', 'samplerate_rx', 'frequency_rx', 'datadir', 'clocksource', 'timesource', 'clockrate'] | |||
285 | kwargs['experiment_rx'] = conf_rx |
|
292 | kwargs['experiment_rx'] = conf_rx | |
286 | kwargs['experiment_tx_keys'] = ['frequency', 'samplerate', 'ipp', 'delay', 'pulse_1', 'code_type_1', 'code_1', 'repetitions_1', |
|
293 | ||
287 | 'enable_2', 'pulse_2', 'code_type_2', 'code_2', 'repetitions_2'] |
|
294 | if not conf_tx.enable_2: | |
|
295 | kwargs['experiment_tx_keys'] = ['ip_address', 'daughterboard', 'antenna', 'frequency', 'samplerate', 'ipp', 'delay', 'pulse_1', 'code_type_1', 'code_1', 'repetitions_1'] | |||
|
296 | else: | |||
|
297 | kwargs['experiment_tx_keys'] = ['ip_address', 'daughterboard', 'antenna', 'frequency', 'samplerate', 'ipp', 'delay', 'pulse_1', 'code_type_1', 'code_1', 'repetitions_1', | |||
|
298 | 'pulse_2', 'code_type_2', 'code_2', 'repetitions_2'] | |||
288 | kwargs['experiment_tx'] = conf_tx |
|
299 | kwargs['experiment_tx'] = conf_tx | |
|
300 | ||||
289 | kwargs['title'] = 'Experiment' |
|
301 | kwargs['title'] = 'Experiment' | |
290 | kwargs['suptitle'] = 'Details' |
|
302 | kwargs['suptitle'] = 'Details' | |
291 | kwargs['button'] = 'Add Configuration' |
|
303 | kwargs['button'] = 'Add Configuration' |
@@ -232,6 +232,10 class PedestalConfiguration(Configuration): | |||||
232 | coded_table = base64.standard_b64encode(bytes(byte_table)) |
|
232 | coded_table = base64.standard_b64encode(bytes(byte_table)) | |
233 | coded_table_ascii = coded_table.decode('ascii') |
|
233 | coded_table_ascii = coded_table.decode('ascii') | |
234 | speed = [float(x.strip()) for x in self.speed.split(',')] |
|
234 | speed = [float(x.strip()) for x in self.speed.split(',')] | |
|
235 | ||||
|
236 | if isinstance(axis, str): | |||
|
237 | axis = [axis] | |||
|
238 | ||||
235 | payload = { |
|
239 | payload = { | |
236 | 'arraylength': len(speed), |
|
240 | 'arraylength': len(speed), | |
237 | 'axis': axis, |
|
241 | 'axis': axis, |
@@ -65,7 +65,7 class USRPRXEditionForm(forms.ModelForm): | |||||
65 |
|
65 | |||
66 | class Meta: |
|
66 | class Meta: | |
67 | model = USRPRXConfiguration |
|
67 | model = USRPRXConfiguration | |
68 |
exclude = ('template', 'device', 'label |
|
68 | exclude = ('template', 'device', 'label', 'type', 'parameters', 'status', 'total_units', 'author', 'hash') | |
69 |
|
69 | |||
70 | def clean(self): |
|
70 | def clean(self): | |
71 | form_data = super(USRPRXEditionForm, self).clean() |
|
71 | form_data = super(USRPRXEditionForm, self).clean() |
@@ -33,12 +33,12 TIME_VALUE = ( | |||||
33 |
|
33 | |||
34 | class USRPRXConfiguration(Configuration): |
|
34 | class USRPRXConfiguration(Configuration): | |
35 |
|
35 | |||
36 | ip_address = models.GenericIPAddressField( |
|
36 | ip_address_rx = models.GenericIPAddressField( | |
37 | verbose_name = 'IP address', |
|
37 | verbose_name = 'IP address', | |
38 | protocol='IPv4', |
|
38 | protocol='IPv4', | |
39 | default='0.0.0.0') |
|
39 | default='0.0.0.0') | |
40 |
|
40 | |||
41 | daughterboard = models.CharField( |
|
41 | daughterboard_rx = models.CharField( | |
42 | verbose_name='Daughterboard', |
|
42 | verbose_name='Daughterboard', | |
43 | max_length=3, |
|
43 | max_length=3, | |
44 | choices=BOARD_VALUE, |
|
44 | choices=BOARD_VALUE, | |
@@ -46,7 +46,7 class USRPRXConfiguration(Configuration): | |||||
46 | blank=False |
|
46 | blank=False | |
47 | ) |
|
47 | ) | |
48 |
|
48 | |||
49 | antenna = models.CharField( |
|
49 | antenna_rx = models.CharField( | |
50 | verbose_name='Antenna', |
|
50 | verbose_name='Antenna', | |
51 | max_length=3, |
|
51 | max_length=3, | |
52 | choices=ANT_VALUE, |
|
52 | choices=ANT_VALUE, | |
@@ -55,7 +55,7 class USRPRXConfiguration(Configuration): | |||||
55 | ) |
|
55 | ) | |
56 |
|
56 | |||
57 | samplerate_rx = models.FloatField( |
|
57 | samplerate_rx = models.FloatField( | |
58 | verbose_name='Sample Rate', |
|
58 | verbose_name='Sample Rate [MHz]', | |
59 | validators=[MinValueValidator(0.01), MaxValueValidator(10.00)], |
|
59 | validators=[MinValueValidator(0.01), MaxValueValidator(10.00)], | |
60 | blank=False, |
|
60 | blank=False, | |
61 | null=False, |
|
61 | null=False, | |
@@ -63,7 +63,7 class USRPRXConfiguration(Configuration): | |||||
63 | ) |
|
63 | ) | |
64 |
|
64 | |||
65 | frequency_rx = models.FloatField( |
|
65 | frequency_rx = models.FloatField( | |
66 | verbose_name='Frequency', |
|
66 | verbose_name='Frequency [MHz]', | |
67 | validators=[MinValueValidator(0.01)], |
|
67 | validators=[MinValueValidator(0.01)], | |
68 | blank=False, |
|
68 | blank=False, | |
69 | null=False, |
|
69 | null=False, | |
@@ -96,7 +96,7 class USRPRXConfiguration(Configuration): | |||||
96 | ) |
|
96 | ) | |
97 |
|
97 | |||
98 | clockrate = models.FloatField( |
|
98 | clockrate = models.FloatField( | |
99 | verbose_name='Clock Rate', |
|
99 | verbose_name='Clock Rate [MHz]', | |
100 | blank=False, |
|
100 | blank=False, | |
101 | null=False, |
|
101 | null=False, | |
102 | help_text='Introduce the value in MHz (10^6)' |
|
102 | help_text='Introduce the value in MHz (10^6)' | |
@@ -190,12 +190,12 class USRPRXConfiguration(Configuration): | |||||
190 |
|
190 | |||
191 | try: |
|
191 | try: | |
192 | usrp = USRPRXConfiguration.objects.get(pk=self) |
|
192 | usrp = USRPRXConfiguration.objects.get(pk=self) | |
193 | usrp_daughterboard = usrp.get_daughterboard_display() |
|
193 | usrp_daughterboard_rx = usrp.get_daughterboard_rx_display() | |
194 | usrp_antenna = usrp.get_antenna_display() |
|
194 | usrp_antenna_rx = usrp.get_antenna_rx_display() | |
195 | usrp_clocksource = usrp.get_clocksource_display() |
|
195 | usrp_clocksource = usrp.get_clocksource_display() | |
196 | usrp_timesource = usrp.get_timesource_display() |
|
196 | usrp_timesource = usrp.get_timesource_display() | |
197 |
|
197 | |||
198 | payload = {'ip_address': usrp.ip_address, 'daughterboard': usrp_daughterboard, 'antenna': usrp_antenna, 'sample_rate': usrp.samplerate_rx, 'frequency': usrp.frequency_rx, |
|
198 | payload = {'ip_address': usrp.ip_address_rx, 'daughterboard': usrp_daughterboard_rx, 'antenna': usrp_antenna_rx, 'sample_rate': usrp.samplerate_rx, 'frequency': usrp.frequency_rx, | |
199 | 'datadir': usrp.datadir, 'clock_source': usrp_clocksource, 'time_source': usrp_timesource, 'clock_rate':usrp.clockrate} |
|
199 | 'datadir': usrp.datadir, 'clock_source': usrp_clocksource, 'time_source': usrp_timesource, 'clock_rate':usrp.clockrate} | |
200 |
|
200 | |||
201 | r = requests.post(self.device.url("usrprx"), json=payload) |
|
201 | r = requests.post(self.device.url("usrprx"), json=payload) |
@@ -19,7 +19,7 def conf(request, conf_id): | |||||
19 |
|
19 | |||
20 | kwargs = {} |
|
20 | kwargs = {} | |
21 | kwargs['dev_conf'] = conf |
|
21 | kwargs['dev_conf'] = conf | |
22 | kwargs['dev_conf_keys'] = ['ip_address', 'daughterboard', 'antenna', 'samplerate_rx', 'frequency_rx', 'datadir', 'clocksource', 'timesource', 'clockrate'] |
|
22 | kwargs['dev_conf_keys'] = ['ip_address_rx', 'daughterboard_rx', 'antenna_rx', 'samplerate_rx', 'frequency_rx', 'datadir', 'clocksource', 'timesource', 'clockrate'] | |
23 |
|
23 | |||
24 | kwargs['title'] = 'Configuration' |
|
24 | kwargs['title'] = 'Configuration' | |
25 | kwargs['suptitle'] = 'Detail' |
|
25 | kwargs['suptitle'] = 'Detail' |
@@ -97,7 +97,7 class USRPTXEditionForm(forms.ModelForm): | |||||
97 |
|
97 | |||
98 | class Meta: |
|
98 | class Meta: | |
99 | model = USRPTXConfiguration |
|
99 | model = USRPTXConfiguration | |
100 |
exclude = ('template', 'device', 'label |
|
100 | exclude = ('template', 'device', 'label', 'type', 'parameters', 'status', 'total_units', 'author', 'hash') | |
101 |
|
101 | |||
102 | def clean(self): |
|
102 | def clean(self): | |
103 | form_data = super(USRPTXEditionForm, self).clean() |
|
103 | form_data = super(USRPTXEditionForm, self).clean() |
General Comments 0
You need to be logged in to leave comments.
Login now