##// END OF EJS Templates
jquery-ui...
jquery-ui git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@40 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r23:f3c5b455a64a
r24:ce361c7c0c38
Show More
models.py
95 lines | 3.4 KiB | text/x-python | PythonLexer
Juan C. Espinoza
Add rc config mods...
r23
from polymorphic import PolymorphicModel
Juan C. Espinoza
Proyecto base en Django (refs #259) ...
r0 from django.db import models
Juan C. Espinoza
Add rc config mods...
r23 from django.core.validators import MinValueValidator, MaxValueValidator
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
Juan C. Espinoza
Add rc config mods...
r23 LINE_TYPES = (
('tr', 'Transmission/reception selector signal'),
('tx', 'A modulating signal (Transmission pulse)'),
('codes', 'BPSK modulating signal'),
('windows', 'Sample window signal'),
('sync', 'Synchronizing signal'),
('flip', 'IPP related periodic signal'),
('prog_pulses', 'Programmable pulse'),
)
LINE_PARAMS = {
"tr": [{"name":"time_after", "value": 0}],
"tx": [{"name": "pulse_width", "value": 0},{"name":"delays", "value":""}],
"codes": [{"name":"tx_ref", "value": ""},{"name":"code", "value": "", "choices":"RCLineCode"}],
"windows": [{"name":"tx_ref","value":""}, {"name":"first_height", "value":0}, {"name":"number_of_samples","value":0}, {"name":"resolution","value":0}, {"name":"last_height","value":0}],
"sync": [{"name": "delay", "value": 0}],
"flip": [{"name":"number_of_flips", "value": 0}],
"prog_pulses": [{"name": "begin", "value": 0}, {"name": "end","value": 0}],
}
Juan C. Espinoza
Updating base models and views ...
r6 class RCConfiguration(Configuration):
Juan C. Espinoza
Add rc config mods...
r23
clock = models.FloatField(verbose_name='Clock Master (MHz)', validators=[MinValueValidator(0), MaxValueValidator(80)], blank=True, null=True)
clock_divider = models.PositiveIntegerField(verbose_name='Clock divider', validators=[MinValueValidator(0), MaxValueValidator(256)], blank=True, null=True)
ipp = models.PositiveIntegerField(verbose_name='Inter pulse period (Km)', default=10)
ntx = models.PositiveIntegerField(verbose_name='Number of pulse of transmit', default=1)
time_before = models.PositiveIntegerField(verbose_name='Number of pulse of transmit', default=0)
Juan C. Espinoza
Updating base models and views ...
r6
class Meta:
db_table = 'rc_configurations'
Juan C. Espinoza
Add rc config mods...
r23
def get_number_position(self):
lines = RCLine.objects.filter(rc_configuration=self.rc_configuration)
if lines:
return max([line.position for line in lines])
class RCLineCode(models.Model):
name = models.CharField(choices=LINE_TYPES, max_length=40)
bits_per_code = models.PositiveIntegerField(default=0)
number_of_codes = models.PositiveIntegerField(default=0)
codes = models.TextField(blank=True, null=True)
class Meta:
db_table = 'rc_line_codes'
class RCLineType(models.Model):
name = models.CharField(choices=LINE_TYPES, max_length=40)
description = models.TextField(blank=True, null=True)
params = models.TextField(default='[]')
class Meta:
db_table = 'rc_line_types'
def __unicode__(self):
return u'%s - %s' % (self.name.upper(), self.get_name_display())
class RCLine(models.Model):
rc_configuration = models.ForeignKey(RCConfiguration)
line_type = models.ForeignKey(RCLineType)
channel = models.PositiveIntegerField(default=0)
position = models.PositiveIntegerField(default=0)
params = models.TextField(default='{}')
class Meta:
db_table = 'rc_lines'
def __unicode__(self):
return u'%s - %s' % (self.rc_configuration, self.get_name())
def get_name(self):
chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
if self.line_type.name in ('tx', 'code', 'tr'):
return '%s%s' % (self.line_type.name.upper(), chars[self.position])
return self.line_type.name.upper()