diff --git a/apps/abs/views.py b/apps/abs/views.py index be7cfe0..1cb2f25 100644 --- a/apps/abs/views.py +++ b/apps/abs/views.py @@ -257,6 +257,7 @@ def start(request, id_conf, id_beam): for i, beam in enumerate(beams_list): if i==int(id_beam): conf.active_beam = beam.pk + conf.save() break return HttpResponse(json.dumps({'result':1}), content_type='application/json') diff --git a/devices/dds/api.py b/devices/dds/api.py index e34f131..3e40709 100644 --- a/devices/dds/api.py +++ b/devices/dds/api.py @@ -22,7 +22,7 @@ answer = enable_rf(ip, port) import json from devices.dds import data -from devices.jro_device import eth_device, IdClass +from devices.jro_device import eth_device, eth_devices, IdClass ID_CLASS = IdClass["dds"] @@ -54,11 +54,16 @@ def reset(): return cmd, payload -@eth_device(ID_CLASS) +@eth_devices(ID_CLASS) def change_ip(new_ip, mask="255.255.255.0", gateway="0.0.0.0"): cmd = CMD_CHANGEIP - payload = new_ip + '/' + mask + '/' + gateway + payload = b'' + payload += new_ip.encode() + payload += b'/' + payload += mask.encode() + payload += b'/' + payload += gateway.encode() return cmd, payload diff --git a/devices/jro_device.py b/devices/jro_device.py index e2a167f..ee5b96d 100644 --- a/devices/jro_device.py +++ b/devices/jro_device.py @@ -412,3 +412,18 @@ def eth_device(id_class): return func_wrapper return inner_func + +def eth_devices(id_class): + def inner_func(func): + def func_wrapper(ip, port, **kwargs): + + cmd, payload = func(**kwargs) + + ipObj = IPData(ip, port, id_class=id_class) + rx = ipObj.sendData(cmd, payload) + + return rx + + return func_wrapper + return inner_func +