diff --git a/apps/dds/forms.py b/apps/dds/forms.py new file mode 100644 index 0000000..3af86fa --- /dev/null +++ b/apps/dds/forms.py @@ -0,0 +1,24 @@ +from django import forms +from .models import DDSConfiguration + +from django.core.validators import MinValueValidator, MaxValueValidator + +class DDSConfigurationForm(forms.ModelForm): + + freq0 = forms.FloatField(label='Frequency', validators=[MinValueValidator(0e6), MaxValueValidator(150e6)]) + pha0 = forms.FloatField(label='Phase', validators=[MinValueValidator(0), MaxValueValidator(360)]) + + freq1 = forms.FloatField(label='Modulated Frequency', validators=[MinValueValidator(5e6), MaxValueValidator(150e6)], required=False) + pha1 = forms.FloatField(label='Modulated Phase', validators=[MinValueValidator(0), MaxValueValidator(360)], required=False) + + def __init__(self, *args, **kwargs): + #request = kwargs.pop('request') + super(DDSConfigurationForm, self).__init__(*args, **kwargs) + + def clean(self): + # Custom validation to force an integer when type of unit = "Unit" + return + + class Meta: + model = DDSConfiguration + fields = ('clock', 'multiplier', 'modulation') diff --git a/apps/dds/models.py b/apps/dds/models.py index 0d546f8..8de218f 100644 --- a/apps/dds/models.py +++ b/apps/dds/models.py @@ -2,9 +2,20 @@ from django.db import models from apps.main.models import Configuration # Create your models here. +from django.core.validators import MinValueValidator, MaxValueValidator + class DDSConfiguration(Configuration): - + clock = models.FloatField(verbose_name='Clock Master',validators=[MinValueValidator(5e6), MaxValueValidator(50e6)], blank=True, null=True) + multiplier = models.PositiveIntegerField(verbose_name='Multiplier',validators=[MinValueValidator(0), MaxValueValidator(20)], default=4) + modulation = models.PositiveIntegerField(verbose_name='Modulation',validators=[MinValueValidator(0), MaxValueValidator(3)], default=0) + frequency0 = models.PositiveIntegerField(verbose_name='Frequency 0',validators=[MinValueValidator(0), MaxValueValidator(2**32-1)], blank=True, null=True) + frequency1 = models.PositiveIntegerField(verbose_name='Frequency 1',validators=[MinValueValidator(0), MaxValueValidator(2**32-1)], blank=True, null=True) + phase0 = models.PositiveIntegerField(verbose_name='Phase 0',validators=[MinValueValidator(0), MaxValueValidator(2**14-1)], blank=True, null=True) + phase1 = models.PositiveIntegerField(verbose_name='Phase 1',validators=[MinValueValidator(0), MaxValueValidator(2**14-1)], blank=True, null=True) + amplitude_chA = models.PositiveIntegerField(verbose_name='Amplitude CHA',validators=[MinValueValidator(0), MaxValueValidator(2**10-1)], blank=True, null=True) + amplitude_chB = models.PositiveIntegerField(verbose_name='Amplitude CHB',validators=[MinValueValidator(0), MaxValueValidator(2**10-1)], blank=True, null=True) + class Meta: db_table = 'dds_configurations' \ No newline at end of file diff --git a/apps/dds/templates/conf_dds.html b/apps/dds/templates/conf_dds.html new file mode 100644 index 0000000..a89fbe3 --- /dev/null +++ b/apps/dds/templates/conf_dds.html @@ -0,0 +1 @@ +{% extends "conf_device.html" %} \ No newline at end of file diff --git a/apps/dds/templates/index.html b/apps/dds/templates/index.html deleted file mode 100644 index e21ab6b..0000000 --- a/apps/dds/templates/index.html +++ /dev/null @@ -1,15 +0,0 @@ -{% extends "base.html" %} -{% block mainactive %}active{% endblock %} - -{% block content-title %}TITLE{% endblock %} -{% block content-suptitle %}Suptitle{% endblock %} - -{% block content %} -
- {% lorem %} -
-{% endblock %} - -{% block sidebar%} - -{% endblock %} diff --git a/apps/dds/urls.py b/apps/dds/urls.py index 959712f..28ad4e1 100644 --- a/apps/dds/urls.py +++ b/apps/dds/urls.py @@ -1,5 +1,6 @@ from django.conf.urls import url urlpatterns = ( - + url(r'^(?P