Skip to content
Snippets Groups Projects
Commit e81f3cfb authored by Jan David Mol's avatar Jan David Mol
Browse files

Only read/write attributes when in ON state. Made this a specific function wrapper.

parent 271352c7
No related branches found
No related tags found
No related merge requests found
......@@ -32,6 +32,22 @@ from threading import Thread
from functools import wraps
import socket
def only_when_on(func):
"""
Wrapper to return None when the device isn't in ON state.
If in ON state, calls & returns the wrapped function.
"""
@wraps(func)
def when_on_wrapper(self, *args, **kwargs):
if self.get_state() != DevState.ON:
return None
return func(self, *args, **kwargs)
return when_on_wrapper
def fault_on_opcua_error(func):
"""
Wrapper to catch exceptions generated by the OPC-UA connection.
......@@ -435,6 +451,7 @@ class RCUSCC(Device):
# Attributes methods
# ------------------
@only_when_on
@fault_on_opcua_error
def read_Attenuator_R(self):
# PROTECTED REGION ID(RCUSCC.Attenuator_R_read) ENABLED START #
......@@ -443,6 +460,7 @@ class RCUSCC(Device):
return self._Attenuator_R
# PROTECTED REGION END # // RCUSCC.Attenuator_R_read
@only_when_on
@fault_on_opcua_error
def read_Attenuator_RW(self):
# PROTECTED REGION ID(RCUSCC.Attenuator_RW_read) ENABLED START #
......@@ -451,6 +469,7 @@ class RCUSCC(Device):
return self._Attenuator_RW
# PROTECTED REGION END # // RCUSCC.Attenuator_RW_read
@only_when_on
@fault_on_opcua_error
def write_Attenuator_RW(self, value):
# PROTECTED REGION ID(RCUSCC.Attenuator_RW_write) ENABLED START #
......@@ -461,6 +480,7 @@ class RCUSCC(Device):
self._Attenuator_RW = value
# PROTECTED REGION END # // RCUSCC.Attenuator_RW_write
@only_when_on
@fault_on_opcua_error
def read_Band_R(self):
# PROTECTED REGION ID(RCUSCC.Band_R_read) ENABLED START #
......@@ -469,6 +489,7 @@ class RCUSCC(Device):
return self._Band_R
# PROTECTED REGION END # // RCUSCC.Band_R_read
@only_when_on
@fault_on_opcua_error
def read_Band_RW(self):
# PROTECTED REGION ID(RCUSCC.Band_RW_read) ENABLED START #
......@@ -477,6 +498,7 @@ class RCUSCC(Device):
return self._Band_RW
# PROTECTED REGION END # // RCUSCC.Band_RW_read
@only_when_on
@fault_on_opcua_error
def write_Band_RW(self, value):
# PROTECTED REGION ID(RCUSCC.Band_RW_write) ENABLED START #
......@@ -487,6 +509,7 @@ class RCUSCC(Device):
self._Band_RW = value
# PROTECTED REGION END # // RCUSCC.Band_RW_write
@only_when_on
@fault_on_opcua_error
def read_Dither_Frequency_R(self):
# PROTECTED REGION ID(RCUSCC.Dither_Frequency_R_read) ENABLED START #
......@@ -495,6 +518,7 @@ class RCUSCC(Device):
return self._Dither_Frequency_R
# PROTECTED REGION END # // RCUSCC.Dither_Frequency_R_read
@only_when_on
@fault_on_opcua_error
def read_Dither_Frequency_RW(self):
# PROTECTED REGION ID(RCUSCC.Dither_Frequency_RW_read) ENABLED START #
......@@ -503,6 +527,7 @@ class RCUSCC(Device):
return self._Dither_Frequency_RW
# PROTECTED REGION END # // RCUSCC.Dither_Frequency_RW_read
@only_when_on
@fault_on_opcua_error
def write_Dither_Frequency_RW(self, value):
# PROTECTED REGION ID(RCUSCC.Dither_Frequency_RW_write) ENABLED START #
......@@ -512,6 +537,7 @@ class RCUSCC(Device):
self._Dither_Frequency_RW = value
# PROTECTED REGION END # // RCUSCC.Dither_Frequency_RW_write
@only_when_on
@fault_on_opcua_error
def read_LED_R(self):
# PROTECTED REGION ID(RCUSCC.LED_R_read) ENABLED START #
......@@ -520,6 +546,7 @@ class RCUSCC(Device):
return self._LED_R
# PROTECTED REGION END # // RCUSCC.LED_R_read
@only_when_on
@fault_on_opcua_error
def read_LED_RW(self):
# PROTECTED REGION ID(RCUSCC.LED_RW_read) ENABLED START #
......@@ -528,6 +555,7 @@ class RCUSCC(Device):
return self._LED_RW
# PROTECTED REGION END # // RCUSCC.LED_RW_read
@only_when_on
@fault_on_opcua_error
def write_LED_RW(self, value):
# PROTECTED REGION ID(RCUSCC.LED_RW_write) ENABLED START #
......@@ -536,6 +564,7 @@ class RCUSCC(Device):
self._LED_RW = value
# PROTECTED REGION END # // RCUSCC.LED_RW_write
@only_when_on
@fault_on_opcua_error
def read_Pwr_dig_R(self):
# PROTECTED REGION ID(RCUSCC.Pwr_dig_R_read) ENABLED START #
......@@ -544,6 +573,7 @@ class RCUSCC(Device):
return self._Pwr_dig_R
# PROTECTED REGION END # // RCUSCC.Pwr_dig_R_read
@only_when_on
@fault_on_opcua_error
def read_Temperature_R(self):
# PROTECTED REGION ID(RCUSCC.Temperature_R_read) ENABLED START #
......@@ -552,6 +582,7 @@ class RCUSCC(Device):
return self._Temperature_R
# PROTECTED REGION END # // RCUSCC.Temperature_R_read
@only_when_on
@fault_on_opcua_error
def read_CLK_PLL_locked_R(self):
# PROTECTED REGION ID(RCUSCC.CLK_PLL_locked_R_read) ENABLED START #
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment