##// END OF EJS Templates
last changes
jespinoza -
r334:ff9b4f433b43
parent child
Show More
@@ -8,5 +8,5 DB_PASSWORD=docker
8 PGDATA=/var/lib/postgresql/data
8 PGDATA=/var/lib/postgresql/data
9 LC_ALL=C.UTF-8
9 LC_ALL=C.UTF-8
10 TZ=America/Lima
10 TZ=America/Lima
11 DOCKER_DATA=/Volumes/dockers/radarsys/
11 DOCKER_DATA=/data/dockers/radarsys/
12 LOCAL_IP=192.168.1.128
12 LOCAL_IP=192.168.1.128
@@ -74,15 +74,14 def jars_conf_edit(request, id_conf):
74 if filter_form.is_valid():
74 if filter_form.is_valid():
75 jars_filter = filter_form.cleaned_data
75 jars_filter = filter_form.cleaned_data
76 jars_filter['id'] = request.POST['filter_template']
76 jars_filter['id'] = request.POST['filter_template']
77 if form.is_valid():
78 conf = form.save(commit=False)
79 conf.filter_parms = json.dumps(jars_filter)
80 conf.save()
81 return redirect('url_jars_conf', id_conf=conf.id)
77 else:
82 else:
78 messages.error(request, filter_form.errors)
83 messages.error(request, filter_form.errors)
79
84
80 if form.is_valid():
81 conf = form.save(commit=False)
82 conf.filter_parms = json.dumps(jars_filter)
83 conf.save()
84 return redirect('url_jars_conf', id_conf=conf.id)
85
86 kwargs = {}
85 kwargs = {}
87
86
88 kwargs['id_dev'] = conf.id
87 kwargs['id_dev'] = conf.id
@@ -105,6 +105,7 class RCConfigurationForm(forms.ModelForm):
105 class RCMixConfigurationForm(forms.Form):
105 class RCMixConfigurationForm(forms.Form):
106
106
107 clock_in = forms.CharField(widget=forms.HiddenInput())
107 clock_in = forms.CharField(widget=forms.HiddenInput())
108 frequency = forms.CharField(widget=forms.HiddenInput())
108 clock_divider = forms.CharField(widget=forms.HiddenInput())
109 clock_divider = forms.CharField(widget=forms.HiddenInput())
109 name = forms.CharField()
110 name = forms.CharField()
110 experiment = forms.ChoiceField()
111 experiment = forms.ChoiceField()
@@ -134,6 +135,7 class RCMixConfigurationForm(forms.Form):
134 self.fields['experiment'].choices = [(conf.pk, '{} | {}'.format(conf.pk, conf.name)) for conf in confs]
135 self.fields['experiment'].choices = [(conf.pk, '{} | {}'.format(conf.pk, conf.name)) for conf in confs]
135 self.fields['delay'].widget = KmUnitWidget(attrs = {'km2unit':km2unit})
136 self.fields['delay'].widget = KmUnitWidget(attrs = {'km2unit':km2unit})
136 self.fields['clock_in'].initial = clock_in
137 self.fields['clock_in'].initial = clock_in
138 self.fields['frequency'].initial = clock_in
137 self.fields['clock_divider'].initial = clock_divider
139 self.fields['clock_divider'].initial = clock_divider
138
140
139
141
@@ -415,4 +417,4 class RCClockForm(forms.ModelForm):
415 elif form_data['reference']==1 and not 60<=form_data['multiplier']<=90:
417 elif form_data['reference']==1 and not 60<=form_data['multiplier']<=90:
416 self.add_error('multiplier', 'For 10MHz, valid values are between 60 and 90')
418 self.add_error('multiplier', 'For 10MHz, valid values are between 60 and 90')
417
419
418 return form_data No newline at end of file
420 return form_data
@@ -553,14 +553,17 class RCConfiguration(Configuration):
553 data = {'default': clock.frequency}
553 data = {'default': clock.frequency}
554 else:
554 else:
555 data = {'manual': [clock.multiplier, clock.divisor, clock.reference]}
555 data = {'manual': [clock.multiplier, clock.divisor, clock.reference]}
556 payload = self.request('setfreq', 'post', data=json.dumps(data))
556 try:
557 if payload['command'] <> 'ok':
557 payload = self.request('setfreq', 'post', data=json.dumps(data))
558 self.message = 'RC write: {}'.format(payload['command'])
558 if payload['command'] <> 'ok':
559 else:
559 self.message = 'RC write: {}'.format(payload['command'])
560 self.message = payload['programming']
560 else:
561 if payload['programming'] == 'fail':
561 self.message = payload['programming']
562 self.message = 'RC write: error programming CGS chip'
562 if payload['programming'] == 'fail':
563
563 self.message = 'RC write: error programming CGS chip'
564 except Exception as e:
565 self.message = 'RC Write: No CGS found {}'.format(e)
566 # return False
564 values = []
567 values = []
565 for pulse, delay in zip(self.get_pulses(), self.get_delays()):
568 for pulse, delay in zip(self.get_pulses(), self.get_delays()):
566 while delay>65536:
569 while delay>65536:
@@ -867,7 +870,7 class RCLine(models.Model):
867 params = json.loads(self.params)
870 params = json.loads(self.params)
868 n = ipp_u*ntx
871 n = ipp_u*ntx
869 if params['invert'] in ('1', 1):
872 if params['invert'] in ('1', 1):
870 y = [(n-1, n)]
873 y = [(n-2, n)]
871 else:
874 else:
872 y = [(0, 1)]
875 y = [(0, 1)]
873
876
@@ -927,7 +930,7 class RCLine(models.Model):
927 if mask[self.channel] in ('0', '', ' '):
930 if mask[self.channel] in ('0', '', ' '):
928 continue
931 continue
929 Y = confs[i].get_lines(channel=self.channel)[0].pulses_as_array()
932 Y = confs[i].get_lines(channel=self.channel)[0].pulses_as_array()
930 delay = float(delays[i])*km2unit
933 delay = int(float(delays[i])*km2unit)
931
934
932 if modes[i]=='P':
935 if modes[i]=='P':
933 if delay>0:
936 if delay>0:
@@ -1024,4 +1027,4 class RCClock(models.Model):
1024 multiplier = models.PositiveIntegerField(default=60)
1027 multiplier = models.PositiveIntegerField(default=60)
1025 divisor = models.PositiveIntegerField(default=10)
1028 divisor = models.PositiveIntegerField(default=10)
1026 reference = models.PositiveSmallIntegerField(default=1, choices=((0, 'Internal (25MHz)'), (1, 'External (10MHz)')))
1029 reference = models.PositiveSmallIntegerField(default=1, choices=((0, 'Internal (25MHz)'), (1, 'External (10MHz)')))
1027 frequency = models.FloatField(default=60.0) No newline at end of file
1030 frequency = models.FloatField(default=60.0)
@@ -111,14 +111,19 def conf_edit(request, conf_id):
111
111
112 #update lines fields
112 #update lines fields
113 extras.sort()
113 extras.sort()
114 xxs = {}
114 for label in extras:
115 for label in extras:
115 x, pk, name = label.split('|')
116 x, pk, name = label.split('|')
116 if pk not in line_data:
117 if pk not in line_data:
117 line_data[pk] = {}
118 line_data[pk] = {}
118 if 'params' not in line_data[pk]:
119 if 'params' not in line_data[pk]:
119 line_data[pk]['params'] = []
120 line_data[pk]['params'] = []
120 if len(line_data[pk]['params'])<int(x)+1:
121 xxs[pk] = []
122 if x not in xxs[pk]:
121 line_data[pk]['params'].append({})
123 line_data[pk]['params'].append({})
124 xxs[pk].append(x)
125 for label in extras:
126 x, pk, name = label.split('|')
122 line_data[pk]['params'][int(x)][name] = float(request.POST[label])
127 line_data[pk]['params'][int(x)][name] = float(request.POST[label])
123
128
124 for pk, params in line_data.items():
129 for pk, params in line_data.items():
@@ -417,4 +422,4 def plot_pulses2(request, conf_id):
417 def conf_raw(request, conf_id):
422 def conf_raw(request, conf_id):
418 conf = get_object_or_404(RCConfiguration, pk=conf_id)
423 conf = get_object_or_404(RCConfiguration, pk=conf_id)
419 raw = conf.write_device(raw=True)
424 raw = conf.write_device(raw=True)
420 return HttpResponse(raw, content_type='application/json') No newline at end of file
425 return HttpResponse(raw, content_type='application/json')
@@ -1,42 +1,44
1 version: '2'
1 version: '2'
2 services:
2 services:
3 # Django app
3 # Django app
4 web:
4 # web:
5 container_name: 'radarsys'
5 # container_name: 'radarsys'
6 build: .
6 # build: .
7 restart: always
7 # restart: always
8 image: radarsys
8 # image: radarsys
9 command: gunicorn radarsys.wsgi:application -w 2 -b :8000
9 # command: gunicorn radarsys.wsgi:application -w 2 -b :8000
10 # command: python manage.py runserver 0.0.0.0:8030
10 # # command: python manage.py runserver 0.0.0.0:8030
11 # ports:
11 # # ports:
12 # - 8030:8030
12 # # - 8030:8030
13 env_file: .env
13 # env_file: .env
14
14
15 links:
15 # links:
16 - redis
16 # - redis
17 - postgres
17 # - postgres
18 volumes:
18 # volumes:
19 - './:/radarsys'
19 # - './:/radarsys'
20 - '${DOCKER_DATA}/static:/radarsys/static'
20 # - '${DOCKER_DATA}/static:/radarsys/static'
21 depends_on:
21 # depends_on:
22 - redis
22 # - redis
23 - postgres
23 # - postgres
24
24
25 redis:
25 redis:
26 container_name: 'radarsys-redis'
26 container_name: 'radarsys-redis'
27 image: 'redis:3.2-alpine'
27 image: 'redis:3.2-alpine'
28 volumes:
28 volumes:
29 - '${DOCKER_DATA}/redis:/data'
29 - '${DOCKER_DATA}/redis:/data'
30 ports:
31 - 6300:6379
30
32
31 celery_worker:
33 celery_worker:
32 container_name: 'radarsys-celery'
34 container_name: 'radarsys-celery'
33 image: radarsys
35 image: radarsys
34 env_file: .env
36 env_file: .env
35 command: celery -A radarsys worker -l info
37 command: celery -A radarsys worker -l info
36 volumes_from:
38 # volumes_from:
37 - web
39 # - web
38 depends_on:
40 # depends_on:
39 - web
41 # - web
40
42
41 # PostgreSQL
43 # PostgreSQL
42 postgres:
44 postgres:
@@ -45,23 +47,23 services:
45 volumes:
47 volumes:
46 - ./postgres/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
48 - ./postgres/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
47 - pgdata:/var/lib/postgresql/data
49 - pgdata:/var/lib/postgresql/data
48 # ports:
50 ports:
49 # - 5432:5432
51 - 5400:5432
50 env_file: .env
52 env_file: .env
51
53
52 # Web Server
54 # Web Server
53 nginx:
55 # nginx:
54 container_name: 'radarsys-nginx'
56 # container_name: 'radarsys-nginx'
55 restart: always
57 # restart: always
56 build: ./nginx/
58 # build: ./nginx/
57 ports:
59 # ports:
58 - '8030:8030'
60 # - '8030:8030'
59 volumes_from:
61 # volumes_from:
60 - web
62 # - web
61 links:
63 # links:
62 - web:web
64 # - web:web
63 depends_on:
65 # depends_on:
64 - web
66 # - web
65
67
66 volumes:
68 volumes:
67 pgdata:
69 pgdata:
General Comments 0
You need to be logged in to leave comments. Login now