diff --git a/volumes/sirm/apps/main/views.py b/volumes/sirm/apps/main/views.py index 8219199..9664083 100644 --- a/volumes/sirm/apps/main/views.py +++ b/volumes/sirm/apps/main/views.py @@ -279,13 +279,25 @@ def experiment(request, id_exp): kwargs = {} kwargs['experiment_keys'] = ['name', 'latitude', 'longitude', 'heading'] kwargs['experiment'] = experiment - kwargs['experiment_pedestal_keys'] = ['mode', 'axis', 'speed', 'angle'] + + if conf_pedestal.mode == 'position': + kwargs['experiment_pedestal_keys'] = ['mode', 'axis', 'angle'] + elif conf_pedestal.mode == 'speed': + kwargs['experiment_pedestal_keys'] = ['mode', 'axis', 'speed'] + else: + kwargs['experiment_pedestal_keys'] = ['mode', 'axis', 'speed', 'angle', 'min_value', 'max_value'] kwargs['experiment_pedestal'] = conf_pedestal - kwargs['experiment_rx_keys'] = ['samplerate_rx', 'frequency_rx', 'datadir', 'clocksource', 'timesource', 'clockrate'] + + kwargs['experiment_rx_keys'] = ['ip_address_rx', 'daughterboard_rx', 'antenna_rx', 'samplerate_rx', 'frequency_rx', 'datadir', 'clocksource', 'timesource', 'clockrate'] kwargs['experiment_rx'] = conf_rx - kwargs['experiment_tx_keys'] = ['frequency', 'samplerate', 'ipp', 'delay', 'pulse_1', 'code_type_1', 'code_1', 'repetitions_1', - 'enable_2', 'pulse_2', 'code_type_2', 'code_2', 'repetitions_2'] + + if not conf_tx.enable_2: + kwargs['experiment_tx_keys'] = ['ip_address', 'daughterboard', 'antenna', 'frequency', 'samplerate', 'ipp', 'delay', 'pulse_1', 'code_type_1', 'code_1', 'repetitions_1'] + else: + kwargs['experiment_tx_keys'] = ['ip_address', 'daughterboard', 'antenna', 'frequency', 'samplerate', 'ipp', 'delay', 'pulse_1', 'code_type_1', 'code_1', 'repetitions_1', + 'pulse_2', 'code_type_2', 'code_2', 'repetitions_2'] kwargs['experiment_tx'] = conf_tx + kwargs['title'] = 'Experiment' kwargs['suptitle'] = 'Details' kwargs['button'] = 'Add Configuration' diff --git a/volumes/sirm/apps/pedestal/models.py b/volumes/sirm/apps/pedestal/models.py index d0c5917..1efcb4c 100644 --- a/volumes/sirm/apps/pedestal/models.py +++ b/volumes/sirm/apps/pedestal/models.py @@ -232,6 +232,10 @@ class PedestalConfiguration(Configuration): coded_table = base64.standard_b64encode(bytes(byte_table)) coded_table_ascii = coded_table.decode('ascii') speed = [float(x.strip()) for x in self.speed.split(',')] + + if isinstance(axis, str): + axis = [axis] + payload = { 'arraylength': len(speed), 'axis': axis, diff --git a/volumes/sirm/apps/usrp_rx/forms.py b/volumes/sirm/apps/usrp_rx/forms.py index cfbd427..136c8a4 100644 --- a/volumes/sirm/apps/usrp_rx/forms.py +++ b/volumes/sirm/apps/usrp_rx/forms.py @@ -65,7 +65,7 @@ class USRPRXEditionForm(forms.ModelForm): class Meta: model = USRPRXConfiguration - exclude = ('template', 'device', 'label', 'ip_address', 'daughterboard', 'antenna', 'type', 'parameters', 'status', 'total_units', 'author', 'hash') + exclude = ('template', 'device', 'label', 'type', 'parameters', 'status', 'total_units', 'author', 'hash') def clean(self): form_data = super(USRPRXEditionForm, self).clean() diff --git a/volumes/sirm/apps/usrp_rx/models.py b/volumes/sirm/apps/usrp_rx/models.py index b790896..1bcc79b 100644 --- a/volumes/sirm/apps/usrp_rx/models.py +++ b/volumes/sirm/apps/usrp_rx/models.py @@ -33,12 +33,12 @@ TIME_VALUE = ( class USRPRXConfiguration(Configuration): - ip_address = models.GenericIPAddressField( + ip_address_rx = models.GenericIPAddressField( verbose_name = 'IP address', protocol='IPv4', default='0.0.0.0') - daughterboard = models.CharField( + daughterboard_rx = models.CharField( verbose_name='Daughterboard', max_length=3, choices=BOARD_VALUE, @@ -46,7 +46,7 @@ class USRPRXConfiguration(Configuration): blank=False ) - antenna = models.CharField( + antenna_rx = models.CharField( verbose_name='Antenna', max_length=3, choices=ANT_VALUE, @@ -55,7 +55,7 @@ class USRPRXConfiguration(Configuration): ) samplerate_rx = models.FloatField( - verbose_name='Sample Rate', + verbose_name='Sample Rate [MHz]', validators=[MinValueValidator(0.01), MaxValueValidator(10.00)], blank=False, null=False, @@ -63,7 +63,7 @@ class USRPRXConfiguration(Configuration): ) frequency_rx = models.FloatField( - verbose_name='Frequency', + verbose_name='Frequency [MHz]', validators=[MinValueValidator(0.01)], blank=False, null=False, @@ -96,7 +96,7 @@ class USRPRXConfiguration(Configuration): ) clockrate = models.FloatField( - verbose_name='Clock Rate', + verbose_name='Clock Rate [MHz]', blank=False, null=False, help_text='Introduce the value in MHz (10^6)' @@ -190,12 +190,12 @@ class USRPRXConfiguration(Configuration): try: usrp = USRPRXConfiguration.objects.get(pk=self) - usrp_daughterboard = usrp.get_daughterboard_display() - usrp_antenna = usrp.get_antenna_display() + usrp_daughterboard_rx = usrp.get_daughterboard_rx_display() + usrp_antenna_rx = usrp.get_antenna_rx_display() usrp_clocksource = usrp.get_clocksource_display() usrp_timesource = usrp.get_timesource_display() - payload = {'ip_address': usrp.ip_address, 'daughterboard': usrp_daughterboard, 'antenna': usrp_antenna, 'sample_rate': usrp.samplerate_rx, 'frequency': usrp.frequency_rx, + payload = {'ip_address': usrp.ip_address_rx, 'daughterboard': usrp_daughterboard_rx, 'antenna': usrp_antenna_rx, 'sample_rate': usrp.samplerate_rx, 'frequency': usrp.frequency_rx, 'datadir': usrp.datadir, 'clock_source': usrp_clocksource, 'time_source': usrp_timesource, 'clock_rate':usrp.clockrate} r = requests.post(self.device.url("usrprx"), json=payload) diff --git a/volumes/sirm/apps/usrp_rx/views.py b/volumes/sirm/apps/usrp_rx/views.py index c6a6529..5507b8c 100644 --- a/volumes/sirm/apps/usrp_rx/views.py +++ b/volumes/sirm/apps/usrp_rx/views.py @@ -19,7 +19,7 @@ def conf(request, conf_id): kwargs = {} kwargs['dev_conf'] = conf - kwargs['dev_conf_keys'] = ['ip_address', 'daughterboard', 'antenna', 'samplerate_rx', 'frequency_rx', 'datadir', 'clocksource', 'timesource', 'clockrate'] + kwargs['dev_conf_keys'] = ['ip_address_rx', 'daughterboard_rx', 'antenna_rx', 'samplerate_rx', 'frequency_rx', 'datadir', 'clocksource', 'timesource', 'clockrate'] kwargs['title'] = 'Configuration' kwargs['suptitle'] = 'Detail' diff --git a/volumes/sirm/apps/usrp_tx/forms.py b/volumes/sirm/apps/usrp_tx/forms.py index 11bb22f..7c37b19 100644 --- a/volumes/sirm/apps/usrp_tx/forms.py +++ b/volumes/sirm/apps/usrp_tx/forms.py @@ -97,7 +97,7 @@ class USRPTXEditionForm(forms.ModelForm): class Meta: model = USRPTXConfiguration - exclude = ('template', 'device', 'label', 'ip_address', 'daughterboard', 'antenna', 'type', 'parameters', 'status', 'total_units', 'author', 'hash') + exclude = ('template', 'device', 'label', 'type', 'parameters', 'status', 'total_units', 'author', 'hash') def clean(self): form_data = super(USRPTXEditionForm, self).clean()