From 7463bc1a5eceb8a98ea801d223307e9ecfed5bb5 Mon Sep 17 00:00:00 2001 From: Thomas Morris Date: Thu, 10 Aug 2023 11:23:43 -0400 Subject: [PATCH] enforce read-only for RODOF --- bloptools/devices.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/bloptools/devices.py b/bloptools/devices.py index 1b669c2..a203eaf 100644 --- a/bloptools/devices.py +++ b/bloptools/devices.py @@ -6,6 +6,10 @@ DEFAULT_BOUNDS = (-5.0, +5.0) +class ReadOnlyError(Exception): + ... + + class DOF(Signal): """ Degree of freedom @@ -20,7 +24,11 @@ class RODOF(DOF): Read-only degree of freedom """ - ... + def put(self, value, *, timestamp=None, force=False): + raise ReadOnlyError(f'Cannot put, DOF "{self.name}" is read-only!') + + def set(self, value, *, timestamp=None, force=False): + raise ReadOnlyError(f'Cannot set, DOF "{self.name}" is read-only!') class BrownianMotion(RODOF):