|
|
# Create your views here.
|
|
|
from django.shortcuts import redirect, render, get_object_or_404
|
|
|
|
|
|
# from apps.main.models import Experiment, Configuration
|
|
|
from apps.main.views import sidebar
|
|
|
|
|
|
from .models import DDSConfiguration
|
|
|
from .forms import DDSConfigurationForm
|
|
|
# Create your views here.
|
|
|
|
|
|
def dds_conf(request, id_conf):
|
|
|
|
|
|
conf = get_object_or_404(DDSConfiguration, pk=id_conf)
|
|
|
|
|
|
kwargs = {}
|
|
|
|
|
|
kwargs['status'] = conf.device.get_status_display()
|
|
|
|
|
|
# if not kwargs['connected']:
|
|
|
# messages.error(request, message=answer)
|
|
|
|
|
|
kwargs['dev_conf'] = conf
|
|
|
kwargs['dev_conf_keys'] = ['name',
|
|
|
'clock',
|
|
|
'multiplier',
|
|
|
'frequencyA_Mhz',
|
|
|
'frequencyA',
|
|
|
'frequencyB_Mhz',
|
|
|
'frequencyB',
|
|
|
'phaseA_degrees',
|
|
|
'phaseB_degrees',
|
|
|
'modulation',
|
|
|
'amplitude_enabled',
|
|
|
'amplitudeI',
|
|
|
'amplitudeQ']
|
|
|
|
|
|
kwargs['title'] = 'DDS Configuration'
|
|
|
kwargs['suptitle'] = 'Details'
|
|
|
|
|
|
kwargs['button'] = 'Edit Configuration'
|
|
|
|
|
|
###### SIDEBAR ######
|
|
|
kwargs.update(sidebar(conf=conf))
|
|
|
|
|
|
return render(request, 'dds_conf.html', kwargs)
|
|
|
|
|
|
def dds_conf_edit(request, id_conf):
|
|
|
|
|
|
conf = get_object_or_404(DDSConfiguration, pk=id_conf)
|
|
|
|
|
|
if request.method=='GET':
|
|
|
form = DDSConfigurationForm(instance=conf)
|
|
|
|
|
|
if request.method=='POST':
|
|
|
form = DDSConfigurationForm(request.POST, instance=conf)
|
|
|
|
|
|
if form.is_valid():
|
|
|
conf = form.save(commit=False)
|
|
|
|
|
|
if conf.verify_frequencies():
|
|
|
|
|
|
conf.save()
|
|
|
return redirect('url_dds_conf', id_conf=conf.id)
|
|
|
|
|
|
##ERRORS
|
|
|
|
|
|
kwargs = {}
|
|
|
kwargs['id_dev'] = conf.id
|
|
|
kwargs['form'] = form
|
|
|
kwargs['title'] = 'Device Configuration'
|
|
|
kwargs['suptitle'] = 'Edit'
|
|
|
kwargs['button'] = 'Save'
|
|
|
|
|
|
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 == 'GET':
|
|
|
# file_form = UploadFileForm()
|
|
|
#
|
|
|
# if request.method == 'POST':
|
|
|
# file_form = UploadFileForm(request.POST, request.FILES)
|
|
|
#
|
|
|
# if file_form.is_valid():
|
|
|
#
|
|
|
# parms = files.read_dds_file(request.FILES['file'])
|
|
|
#
|
|
|
# if parms:
|
|
|
#
|
|
|
# if not parms['clock']:
|
|
|
# messages.warning(request, "Clock Input could not be imported from '%s'. Please fill it out." %request.FILES['file'].name)
|
|
|
# else:
|
|
|
# messages.success(request, "Parameters imported from: '%s'." %request.FILES['file'].name)
|
|
|
#
|
|
|
# form = DDSConfigurationForm(initial=parms, instance=conf)
|
|
|
#
|
|
|
# kwargs = {}
|
|
|
# kwargs['id_dev'] = conf.id
|
|
|
# kwargs['form'] = form
|
|
|
# kwargs['title'] = 'Device Configuration'
|
|
|
# kwargs['suptitle'] = 'Parameters imported'
|
|
|
# kwargs['button'] = 'Save'
|
|
|
# kwargs['action'] = conf.get_absolute_url_edit()
|
|
|
# kwargs['previous'] = conf.get_absolute_url()
|
|
|
#
|
|
|
# ###### SIDEBAR ######
|
|
|
# kwargs.update(sidebar(conf))
|
|
|
#
|
|
|
# return render(request, 'dds_conf_edit.html', kwargs)
|
|
|
#
|
|
|
# messages.error(request, "Could not import parameters from file")
|
|
|
#
|
|
|
# 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 dds_conf_export(request, id_conf):
|
|
|
#
|
|
|
# conf = get_object_or_404(DDSConfiguration, pk=id_conf)
|
|
|
#
|
|
|
# response = HttpResponse(content_type='text/plain')
|
|
|
# response['Content-Disposition'] = 'attachment; filename="%s.dds"' %conf.name
|
|
|
# response.write(conf.export_parms_to_dict())
|
|
|
#
|
|
|
# return response
|
|
|
#
|
|
|
# def dds_conf_start(request, id_conf):
|
|
|
#
|
|
|
# conf = get_object_or_404(DDSConfiguration, pk=id_conf)
|
|
|
#
|
|
|
# if conf.start_device():
|
|
|
# messages.success(request, conf.message)
|
|
|
# else:
|
|
|
# messages.error(request, conf.message)
|
|
|
#
|
|
|
# return redirect('url_dds_conf', id_conf=conf.id)
|
|
|
#
|
|
|
# def dds_conf_stop(request, id_conf):
|
|
|
#
|
|
|
# conf = get_object_or_404(DDSConfiguration, pk=id_conf)
|
|
|
#
|
|
|
# if conf.stop_device():
|
|
|
# messages.success(request, conf.message)
|
|
|
# else:
|
|
|
# messages.error(request, conf.message)
|
|
|
#
|
|
|
# return redirect('url_dds_conf', id_conf=conf.id)
|
|
|
#
|
|
|
# def dds_conf_status(request, id_conf):
|
|
|
#
|
|
|
# conf = get_object_or_404(DDSConfiguration, pk=id_conf)
|
|
|
#
|
|
|
# if conf.status_device():
|
|
|
# messages.success(request, conf.message)
|
|
|
# else:
|
|
|
# messages.error(request, conf.message)
|
|
|
#
|
|
|
# return redirect('url_dds_conf', id_conf=conf.id)
|
|
|
#
|
|
|
#
|
|
|
# def dds_conf_write(request, id_conf):
|
|
|
#
|
|
|
# conf = get_object_or_404(DDSConfiguration, pk=id_conf)
|
|
|
#
|
|
|
# answer = conf.write_device()
|
|
|
#
|
|
|
# if answer:
|
|
|
# messages.success(request, conf.message)
|
|
|
#
|
|
|
# conf.pk = None
|
|
|
# conf.id = None
|
|
|
# conf.type = 1
|
|
|
# conf.template = 0
|
|
|
# conf.save()
|
|
|
#
|
|
|
# else:
|
|
|
# messages.error(request, conf.message)
|
|
|
#
|
|
|
# return redirect('url_dds_conf', id_conf=id_conf)
|
|
|
#
|
|
|
# def dds_conf_read(request, id_conf):
|
|
|
#
|
|
|
# conf = get_object_or_404(DDSConfiguration, pk=id_conf)
|
|
|
#
|
|
|
# if request.method=='GET':
|
|
|
#
|
|
|
# parms = conf.read_device()
|
|
|
#
|
|
|
# if not parms:
|
|
|
# messages.error(request, conf.message)
|
|
|
# return redirect('url_dds_conf', id_conf=conf.id)
|
|
|
#
|
|
|
# messages.warning(request, "Clock Input cannot be read from device. Please fill it out.")
|
|
|
#
|
|
|
# form = DDSConfigurationForm(initial=parms, instance=conf)
|
|
|
#
|
|
|
# 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)
|
|
|
#
|
|
|
# messages.error(request, "DDS parameters could not be saved")
|
|
|
#
|
|
|
# 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))
|
|
|
#
|
|
|
# return render(request, 'dds_conf_edit.html', kwargs)
|