##// END OF EJS Templates
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
Buttons "Import", "Export, "Read" and "Write" added to Configuration View git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@50 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r30:64b312519049
r30:64b312519049
Show More
models.py
75 lines | 3.4 KiB | text/x-python | PythonLexer
Juan C. Espinoza
Proyecto base en Django (refs #259) ...
r0 from django.db import models
Juan C. Espinoza
Updating base models and views ...
r6 from apps.main.models import Configuration
Juan C. Espinoza
Proyecto base en Django (refs #259) ...
r0 # Create your models here.
Juan C. Espinoza
Updating base models and views ...
r6
Miguel Urco
DDS model added...
r12 from django.core.validators import MinValueValidator, MaxValueValidator
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 from django.core.exceptions import ValidationError
Miguel Urco
DDS model added...
r12
Miguel Urco
Campaign has been added to RadarSys Model...
r13 MOD_TYPES = (
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 (0, 'Single Tone'),
(1, 'FSK'),
(2, 'Ramped FSK'),
(3, 'Chirp'),
(4, 'BPSK'),
Miguel Urco
Campaign has been added to RadarSys Model...
r13 )
Juan C. Espinoza
Updating base models and views ...
r6 class DDSConfiguration(Configuration):
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 DDS_NBITS = 48
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 clock = models.FloatField(verbose_name='Clock Master (MHz)',validators=[MinValueValidator(5), MaxValueValidator(75)], null=True)
Miguel Urco
Campaign has been added to RadarSys Model...
r13 multiplier = models.PositiveIntegerField(verbose_name='Multiplier',validators=[MinValueValidator(1), MaxValueValidator(20)], default=4)
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 frequency = models.DecimalField(verbose_name='Frequency (MHz)', validators=[MinValueValidator(0), MaxValueValidator(150)], max_digits=18, decimal_places=16)
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 frequency_bin = models.BigIntegerField(verbose_name='Frequency (Binary)',validators=[MinValueValidator(0), MaxValueValidator(2**DDS_NBITS-1)])
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 phase = models.FloatField(verbose_name='Phase (Degrees)', validators=[MinValueValidator(0), MaxValueValidator(360)], default=0)
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 # phase_binary = models.PositiveIntegerField(verbose_name='Phase (Binary)',validators=[MinValueValidator(0), MaxValueValidator(2**14-1)])
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 amplitude_ch_A = models.PositiveIntegerField(verbose_name='Amplitude CH A',validators=[MinValueValidator(0), MaxValueValidator(2**10-1)], blank=True, null=True)
amplitude_ch_B = models.PositiveIntegerField(verbose_name='Amplitude CH B',validators=[MinValueValidator(0), MaxValueValidator(2**10-1)], blank=True, null=True)
Miguel Urco
DDS model added...
r12
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 modulation = models.PositiveIntegerField(verbose_name='Modulation Type', choices = MOD_TYPES, default = 0)
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 frequency_mod = models.DecimalField(verbose_name='Mod: Frequency (MHz)', validators=[MinValueValidator(0), MaxValueValidator(150)], max_digits=18, decimal_places=16, blank=True, null=True)
frequency_mod_bin = models.BigIntegerField(verbose_name='Mod: Frequency (Binary)',validators=[MinValueValidator(0), MaxValueValidator(2**DDS_NBITS-1)], blank=True, null=True)
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 phase_mod = models.FloatField(verbose_name='Mod: Phase (Degrees)', validators=[MinValueValidator(0), MaxValueValidator(360)], blank=True, null=True)
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 # phase_binary_mod = models.PositiveIntegerField(verbose_name='Phase Mod (Binary)',validators=[MinValueValidator(0), MaxValueValidator(2**14-1)], blank=True, null=True)
def get_nbits(self):
return self.DDS_NBITS
def clean(self):
if self.modulation in [1,2,3]:
if self.frequency_mod is None or self.frequency_mod_bin is None:
raise ValidationError({
'frequency_mod': 'Frequency modulation has to be defined when FSK or Chirp modulation is selected'
})
if self.modulation in [4,]:
if self.phase_mod is None:
raise ValidationError({
'phase_mod': 'Phase modulation has to be defined when BPSK modulation is selected'
})
def verify_frequencies(self):
return True
def freq2binary(self, freq, mclock):
binary = (float(freq)/mclock)*(2**self.DDS_NBITS)
return binary
def binary2freq(self, binary, mclock):
freq = (float(binary)/(2**self.DDS_NBITS))*mclock
return freq
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Juan C. Espinoza
Updating base models and views ...
r6 class Meta:
db_table = 'dds_configurations'