##// END OF EJS Templates
Create 'ip_address_rx', 'daughterboard_rx' and 'antenna_rx' parameters (USRP Rx) and Update models.py file (Pedestal)
eynilupu -
r413:231bd42642ba
parent child
Show More
@@ -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', 'ip_address', 'daughterboard', 'antenna', 'type', 'parameters', 'status', 'total_units', 'author', 'hash')
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', 'ip_address', 'daughterboard', 'antenna', 'type', 'parameters', 'status', 'total_units', 'author', 'hash')
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