##// END OF EJS Templates
Task #487: Vista de Operacion...
Task #487: Vista de Operacion git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@73 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r32:e512425c47f1
r52:ea2186d4be47
Show More
views.py
220 lines | 7.2 KiB | text/x-python | PythonLexer
Miguel Urco
DDS model added...
r12 # Create your views here.
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.contrib import messages
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 from django.shortcuts import redirect, render, get_object_or_404
Juan C. Espinoza
Proyecto base en Django (refs #259) ...
r0
Miguel Urco
DDS app updated...
r32 from django.core.exceptions import ValidationError
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 # from apps.main.models import Experiment, 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 from apps.main.views import sidebar
Miguel Urco
DDS model added...
r12 from .models import DDSConfiguration
Miguel Urco
DDS app updated...
r32 from .forms import DDSConfigurationForm, UploadFileForm
Juan C. Espinoza
Proyecto base en Django (refs #259) ...
r0 # Create your views here.
Miguel Urco
DDS model added...
r12
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 from radarsys_api import dds
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
Campaign has been added to RadarSys Model...
r13 def dds_conf(request, id_conf):
Miguel Urco
DDS model added...
r12
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 conf = get_object_or_404(DDSConfiguration, pk=id_conf)
Miguel Urco
DDS model added...
r12
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 answer = dds.echo(ip=str(conf.device.ip_address), port=conf.device.port_address)
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs = {}
Miguel Urco
DDS app updated...
r32
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 kwargs['connected'] = (answer[0] == "1")
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
DDS app updated...
r32 if not kwargs['connected']:
messages.error(request, message=answer)
Miguel Urco
siderbar_devices.html updated...
r17 kwargs['dev_conf'] = conf
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs['dev_conf_keys'] = ['experiment', 'device',
'clock', 'multiplier',
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',
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 'frequency_bin',
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',
# 'phase_binary',
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 'amplitude_ch_A', 'amplitude_ch_B',
'modulation',
'frequency_mod',
'frequency_mod_bin',
'phase_mod']
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']
Miguel Urco
DDS model added...
r12
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs['title'] = 'DDS Configuration'
kwargs['suptitle'] = 'Details'
kwargs['button'] = 'Edit Configuration'
Miguel Urco
siderbar_devices.html updated...
r17 ###### SIDEBAR ######
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 kwargs.update(sidebar(conf))
Miguel Urco
siderbar_devices.html updated...
r17
Miguel Urco
Campaign has been added to RadarSys Model...
r13 return render(request, 'dds_conf.html', kwargs)
Miguel Urco
views name were changed ...
r19 def dds_conf_edit(request, id_conf):
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 conf = get_object_or_404(DDSConfiguration, pk=id_conf)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
if request.method=='GET':
Miguel Urco
siderbar_devices.html updated...
r17 form = DDSConfigurationForm(instance=conf)
Miguel Urco
DDS model added...
r12
Miguel Urco
Campaign has been added to RadarSys Model...
r13 if request.method=='POST':
Miguel Urco
siderbar_devices.html updated...
r17 form = DDSConfigurationForm(request.POST, instance=conf)
Miguel Urco
DDS model added...
r12
if form.is_valid():
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 conf = form.save(commit=False)
if conf.verify_frequencies():
conf.save()
return redirect('url_dds_conf', id_conf=conf.id)
##ERRORS
Miguel Urco
Campaign has been added to RadarSys Model...
r13
kwargs = {}
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 kwargs['id_dev'] = conf.id
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs['form'] = form
kwargs['title'] = 'Device Configuration'
kwargs['suptitle'] = 'Edit'
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 kwargs['button'] = 'Save'
###### SIDEBAR ######
kwargs.update(sidebar(conf))
return render(request, 'dds_conf_edit.html', kwargs)
def dds_conf_write(request, id_conf):
conf = get_object_or_404(DDSConfiguration, pk=id_conf)
answer = dds.write_config(ip=str(conf.device.ip_address),
port=conf.device.port_address,
clock=conf.clock,
multiplier=conf.multiplier,
freq_regA=conf.frequency_bin,
freq_regB=conf.frequency_mod_bin,
modulation=conf.modulation,
Miguel Urco
DDS app updated...
r32 phaseA=conf.phase2binary(conf.phase),
phaseB=conf.phase2binary(conf.phase_mod),
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 amplitude0=conf.amplitude_ch_A,
amplitude1=conf.amplitude_ch_B)
if answer[0] == "1":
messages.success(request, answer[2:])
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
conf.pk = None
conf.id = None
conf.type = 1
conf.save()
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 else:
Miguel Urco
DDS app updated...
r32 messages.error(request, "Could not write the parameters to this device")
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
DDS app updated...
r32 return redirect('url_dds_conf', id_conf=id_conf)
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26
def dds_conf_read(request, id_conf):
conf = get_object_or_404(DDSConfiguration, pk=id_conf)
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 if request.method=='POST':
form = DDSConfigurationForm(request.POST, instance=conf)
if form.is_valid():
dds_model = form.save(commit=False)
if dds_model.verify_frequencies():
dds_model.save()
return redirect('url_dds_conf', id_conf=conf.id)
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
Miguel Urco
DDS app updated...
r32 messages.error(request, "Parameters could not be saved")
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
data = {}
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26
if request.method=='GET':
#mult, freqA, freqB, modulation, phaseA, phaseB, amp0, amp1
parms = dds.read_config(ip=conf.device.ip_address,
port=conf.device.port_address)
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 if not parms:
Miguel Urco
DDS app updated...
r32 messages.error(request, "Could not read dds parameters from this device")
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 return redirect('url_dds_conf', id_conf=conf.id)
Miguel Urco
DDS app updated...
r32 data = {'multiplier' : parms[0],
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 'frequency' : conf.binary2freq(parms[1], parms[0]*conf.clock),
'frequency_bin' : parms[1],
Miguel Urco
DDS app updated...
r32 'phase' : conf.binary2phase(parms[4]),
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 'amplitude_ch_A' : parms[6],
'amplitude_ch_B' : parms[7],
'modulation' : parms[3],
'frequency_mod' : conf.binary2freq(parms[2], parms[0]*conf.clock),
'frequency_mod_bin' : parms[2],
Miguel Urco
DDS app updated...
r32 'phase_mod' : conf.binary2phase(parms[5]),
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 }
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
DDS app updated...
r32 form = DDSConfigurationForm(initial=data, instance=conf)
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26
kwargs = {}
kwargs['id_dev'] = conf.id
kwargs['form'] = form
kwargs['title'] = 'Device Configuration'
kwargs['suptitle'] = 'Parameters read from device'
kwargs['button'] = 'Save'
###### SIDEBAR ######
kwargs.update(sidebar(conf))
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
DDS app updated...
r32 return render(request, 'dds_conf_edit.html', kwargs)
def dds_conf_import(request, id_conf):
conf = get_object_or_404(DDSConfiguration, pk=id_conf)
if request.method == 'POST':
file_form = UploadFileForm(request.POST, request.FILES)
if file_form.is_valid():
if conf.update_from_file(request.FILES['file']):
try:
conf.full_clean()
except ValidationError as e:
messages.error(request, e)
else:
conf.save()
messages.success(request, "Parameters imported from file: '%s'." %request.FILES['file'].name)
messages.warning(request, "Clock Input could not be read from file, using %3.2fMhz by default. Please update it to its real value" %conf.clock)
return redirect('url_dds_conf', id_conf=conf.id)
messages.error(request, "Could not import parameters from file")
else:
file_form = UploadFileForm()
kwargs = {}
kwargs['id_dev'] = conf.id
kwargs['title'] = 'Device Configuration'
kwargs['form'] = file_form
kwargs['suptitle'] = 'Importing file'
kwargs['button'] = 'Import'
kwargs.update(sidebar(conf))
return render(request, 'dds_conf_import.html', kwargs)
def handle_uploaded_file(f):
data = {'multiplier' : 5,
'frequency' : 49.92,
'frequency_bin' : 45678,
'phase' : 0,
'amplitude_ch_A' : 1024,
'amplitude_ch_B' : 2014,
'modulation' : 1,
'frequency_mod' : 0,
'frequency_mod_bin' : 0,
'phase_mod' : 180,
}
return data