##// END OF EJS Templates
DDS model added...
Miguel Urco -
r12:4fba03b164d0
parent child
Show More
@@ -0,0 +1,24
1 from django import forms
2 from .models import DDSConfiguration
3
4 from django.core.validators import MinValueValidator, MaxValueValidator
5
6 class DDSConfigurationForm(forms.ModelForm):
7
8 freq0 = forms.FloatField(label='Frequency', validators=[MinValueValidator(0e6), MaxValueValidator(150e6)])
9 pha0 = forms.FloatField(label='Phase', validators=[MinValueValidator(0), MaxValueValidator(360)])
10
11 freq1 = forms.FloatField(label='Modulated Frequency', validators=[MinValueValidator(5e6), MaxValueValidator(150e6)], required=False)
12 pha1 = forms.FloatField(label='Modulated Phase', validators=[MinValueValidator(0), MaxValueValidator(360)], required=False)
13
14 def __init__(self, *args, **kwargs):
15 #request = kwargs.pop('request')
16 super(DDSConfigurationForm, self).__init__(*args, **kwargs)
17
18 def clean(self):
19 # Custom validation to force an integer when type of unit = "Unit"
20 return
21
22 class Meta:
23 model = DDSConfiguration
24 fields = ('clock', 'multiplier', 'modulation')
@@ -0,0 +1,1
1 {% extends "conf_device.html" %} No newline at end of file
@@ -2,9 +2,20 from django.db import models
2 from apps.main.models import Configuration
2 from apps.main.models import Configuration
3 # Create your models here.
3 # Create your models here.
4
4
5 from django.core.validators import MinValueValidator, MaxValueValidator
6
5 class DDSConfiguration(Configuration):
7 class DDSConfiguration(Configuration):
6
8
7
9 clock = models.FloatField(verbose_name='Clock Master',validators=[MinValueValidator(5e6), MaxValueValidator(50e6)], blank=True, null=True)
10 multiplier = models.PositiveIntegerField(verbose_name='Multiplier',validators=[MinValueValidator(0), MaxValueValidator(20)], default=4)
11 modulation = models.PositiveIntegerField(verbose_name='Modulation',validators=[MinValueValidator(0), MaxValueValidator(3)], default=0)
12 frequency0 = models.PositiveIntegerField(verbose_name='Frequency 0',validators=[MinValueValidator(0), MaxValueValidator(2**32-1)], blank=True, null=True)
13 frequency1 = models.PositiveIntegerField(verbose_name='Frequency 1',validators=[MinValueValidator(0), MaxValueValidator(2**32-1)], blank=True, null=True)
14 phase0 = models.PositiveIntegerField(verbose_name='Phase 0',validators=[MinValueValidator(0), MaxValueValidator(2**14-1)], blank=True, null=True)
15 phase1 = models.PositiveIntegerField(verbose_name='Phase 1',validators=[MinValueValidator(0), MaxValueValidator(2**14-1)], blank=True, null=True)
16 amplitude_chA = models.PositiveIntegerField(verbose_name='Amplitude CHA',validators=[MinValueValidator(0), MaxValueValidator(2**10-1)], blank=True, null=True)
17 amplitude_chB = models.PositiveIntegerField(verbose_name='Amplitude CHB',validators=[MinValueValidator(0), MaxValueValidator(2**10-1)], blank=True, null=True)
18
8 class Meta:
19 class Meta:
9 db_table = 'dds_configurations'
20 db_table = 'dds_configurations'
10 No newline at end of file
21
@@ -1,5 +1,6
1 from django.conf.urls import url
1 from django.conf.urls import url
2
2
3 urlpatterns = (
3 urlpatterns = (
4
4 url(r'^(?P<id_conf>-?\d+)/$', 'apps.dds.views.config_dds', name='url_conf_dds'),
5 url(r'^(?P<id_conf>-?\d+)/edit/$', 'apps.dds.views.config_dds_edit', name='url_conf_dds_edit'),
5 )
6 )
@@ -1,3 +1,57
1 from django.shortcuts import render
1 # Create your views here.
2
3 from django.shortcuts import redirect, render
2
4
5 from apps.main.models import Device
6 from .models import DDSConfiguration
7 from .forms import DDSConfigurationForm
3 # Create your views here.
8 # Create your views here.
9
10 def config_dds(request, id_conf):
11
12 if id_conf:
13
14 conf = DDSConfiguration.objects.get(pk=id_conf)
15 form = DDSConfigurationForm(instance=conf)
16 experiment = conf.experiment
17
18 devices = Device.objects.filter(configuration__experiment=experiment)
19
20 deviceList = devices.values('configuration__id', 'device_type__alias', 'device_type__name')
21
22 for thisDevice in deviceList:
23 if thisDevice['configuration__id'] == conf.id:
24 thisDevice['active'] = 'active'
25 break
26
27 device = thisDevice
28
29 else:
30 form = DDSConfigurationForm()
31 device = ''
32 experiment = ''
33 devices = {}
34
35 kwargs = {
36 'form': form,
37 'device': device,
38 'experiment': experiment,
39 'devices': deviceList
40 }
41
42 # return render_to_response('conf_dds.html', kwargs, context_instance=RequestContext(request))
43 return render(request, 'conf_dds.html', kwargs)
44
45 def config_dds_edit(request, id_conf):
46
47 if request.method=='POST':
48
49 conf = DDSConfiguration.objects.get(pk=id_conf)
50 form = DDSConfigurationForm(instance=conf)
51
52 if form.is_valid():
53 form.save()
54 else:
55 raise ValueError, "Error"
56
57 return redirect('url_conf_dds', id_conf=id_conf) No newline at end of file
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now