##// END OF EJS Templates
Task #99: Modulo web del JARS...
Fiorella Quino -
r125:96271d29d4fe
parent child
Show More
@@ -1,90 +1,95
1 1 from django.db import models
2 2 from apps.main.models import Configuration
3 3 from django.core.validators import MinValueValidator, MaxValueValidator
4 4
5 5 from apps.rc.models import RCConfiguration
6 6 # Create your models here.
7 7
8 8 EXPERIMENT_TYPE = (
9 9 (0, 'RAW_DATA'),
10 10 (1, 'PDATA'),
11 11 )
12 12
13 13 DATA_TYPE = (
14 14 (0, 'SHORT'),
15 15 (1, 'FLOAT'),
16 16 )
17 17
18 18 class JARSfilter(models.Model):
19 19
20 20 name = models.CharField(max_length=60, unique=True, default='')
21 21 filter_fir = models.PositiveIntegerField(verbose_name='FIR Filter',validators=[MinValueValidator(1), MaxValueValidator(20)], default = 1)
22 22 filter_2 = models.PositiveIntegerField(verbose_name='Filter 2',validators=[MinValueValidator(1), MaxValueValidator(20)], default = 1)
23 23 filter_5 = models.PositiveIntegerField(verbose_name='Filter 5',validators=[MinValueValidator(1), MaxValueValidator(20)], default = 1)
24 24
25 25 class Meta:
26 26 db_table = 'jars_filters'
27 27 #ordering = ['channel']
28 28
29 29
30 30 class JARSConfiguration(Configuration):
31 31
32 32 ADC_RESOLUTION = 8
33 33 PCI_DIO_BUSWIDTH = 32
34 34 HEADER_VERSION = 1103
35 35 BEGIN_ON_START = True
36 36 REFRESH_RATE = 1
37 37
38 38 rc = models.ForeignKey(RCConfiguration, on_delete=models.CASCADE, null=True)
39 39 exp_type = models.PositiveIntegerField(verbose_name='Experiment Type', choices=EXPERIMENT_TYPE, default=0)
40 cards_number = models.PositiveIntegerField(verbose_name='Number of Cards',validators=[MinValueValidator(1), MaxValueValidator(4)], default = 1)
41 channels_number = models.PositiveIntegerField(verbose_name='Number of Channels',validators=[MinValueValidator(1), MaxValueValidator(8)], default = 5)
40 cards_number = models.PositiveIntegerField(verbose_name='Number of Cards', validators=[MinValueValidator(1), MaxValueValidator(4)], default = 1)
41 channels_number = models.PositiveIntegerField(verbose_name='Number of Channels', validators=[MinValueValidator(1), MaxValueValidator(8)], default = 5)
42 42 channels = models.CharField(verbose_name='Channels', max_length=15, default = '1,2,3,4,5')
43 43 rd_directory = models.CharField(verbose_name='Raw Data Directory', max_length=40, default='', blank=True, null=True)
44 raw_data_blocks = models.PositiveIntegerField(verbose_name='Raw Data Blocks',validators=[MaxValueValidator(5000)], default=120)
44 raw_data_blocks = models.PositiveIntegerField(verbose_name='Raw Data Blocks', validators=[MaxValueValidator(5000)], default=120)
45 45 data_type = models.PositiveIntegerField(verbose_name='Data Type', choices=DATA_TYPE, default=0)
46 acq_profiles = models.PositiveIntegerField(verbose_name='Acquired Profiles',validators=[MaxValueValidator(5000)], default=400)
47 profiles_block = models.PositiveIntegerField(verbose_name='Profiles Per Block',validators=[MaxValueValidator(5000)], default=400)
46 acq_profiles = models.PositiveIntegerField(verbose_name='Acquired Profiles', validators=[MaxValueValidator(5000)], default=400)
47 profiles_block = models.PositiveIntegerField(verbose_name='Profiles Per Block', validators=[MaxValueValidator(5000)], default=400)
48 fftpoints = models.PositiveIntegerField(verbose_name='FFT Points',default=16)
49 incohe_integr = models.PositiveIntegerField(verbose_name='Incoherent Integrations',validators=[MinValueValidator(1)], default = 30)
48 50 filter = models.ForeignKey(JARSfilter, on_delete=models.CASCADE, null=True, blank=True)
51 spectral_number = models.PositiveIntegerField(verbose_name='# Spectral Combinations',validators=[MinValueValidator(1)], null=True, blank=True)
52 spectral = models.CharField(verbose_name='Combinations', max_length=15, default = '0,0|')
49 53 create_directory = models.BooleanField(verbose_name='Create Directory Per Day', default=True)
50 54 include_expname = models.BooleanField(verbose_name='Experiment Name in Directory', default=True)
51 55 acq_link = models.BooleanField(verbose_name='Acquisition Link', default=True)
52 56 view_raw_data = models.BooleanField(verbose_name='View Raw Data', default=True)
57 save_ch_dc = models.BooleanField(verbose_name='Save Channels DC', default=True)
53 58
54 59 class Meta:
55 60 db_table = 'jars_configurations'
56 61
57 62 def parms_to_dict(self):
58 63
59 64 parameters = {}
60 65
61 66 parameters['name'] = self.name
62 67 parameters['rc'] = self.rc.name
63 68 parameters['exp_type'] = self.exp_type
64 69 parameters['cards_number'] = self.cards_number
65 70 parameters['channels_number'] = self.channels_number
66 71 parameters['channels'] = self.channels
67 72 parameters['rd_directory'] = self.rd_directory
68 73 parameters['raw_data_blocks'] = self.raw_data_blocks
69 74 parameters['data_type'] = self.data_type
70 75 parameters['acq_profiles'] = self.acq_profiles
71 76 parameters['profiles_block'] = self.profiles_block
72 77 parameters['filter'] = self.filter.name
73 78 parameters['create_directory'] = bool(self.create_directory)
74 79 parameters['include_expname'] = bool(self.include_expname)
75 80 parameters['acq_link'] = bool(self.acq_link)
76 81 parameters['view_raw_data'] = bool(self.view_raw_data)
77 82
78 83 return parameters
79 84
80 85 def dict_to_parms(self, parameters):
81 86 return
82 87
83 88 def status_device(self):
84 89 return
85 90
86 91 def read_device(self):
87 92 return
88 93
89 94 def write_device(self):
90 95 return No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now