From b226f2c7c0d2c1d7f9053992adb9a86b7e980e4c Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Tue, 8 Jun 2021 15:08:54 +0200 Subject: [PATCH] trinamic and persistent - remove methods from Modules existing in secop.persistent - do reset on start when encoder matched and motor was power cycled --- secop/modules.py | 54 ------------------------------------------------ 1 file changed, 54 deletions(-) diff --git a/secop/modules.py b/secop/modules.py index 31fa80c..1367bac 100644 --- a/secop/modules.py +++ b/secop/modules.py @@ -547,60 +547,6 @@ class Module(HasAccessibles): """ mkthread(self.writeInitParams, started_callback) - def loadParameters(self): - """load persistent parameters - - :return: persistent parameters which have to be written - - is called upon startup and may be called from a module - when a hardware powerdown is detected - """ - if any(pobj.persistent for pobj in self.parameters.values()): - persistentdir = os.path.join(getGeneralConfig()['logdir'], 'persistent') - self.persistentFile = os.path.join(persistentdir, '%s.%s.json' % (self.DISPATCHER.equipment_id, self.name)) - else: - self.persistentFile = None - return {} - try: - with open(self.persistentFile, 'r') as f: - self.persistentData = json.load(f) - except FileNotFoundError: - self.persistentData = {} - writeDict = {} - for pname, pobj in self.parameters.items(): - if pobj.persistent and pname in self.persistentData: - value = pobj.datatype.import_value(self.persistentData[pname]) - try: - pobj.value = value - if not pobj.readonly: - writeDict[pname] = value - except Exception as e: - self.log.warning('can not restore %r to %r (%r)' % (pname, value, e)) - return writeDict - - def saveParameters(self): - """save persistent parameters - - to be called regularely explicitly by the module - """ - data = {k: v.export_value() for k, v in self.parameters.items() if v.persistent} - if data != self.persistentData: - self.persistentData = data - persistentdir = os.path.basename(self.persistentFile) - tmpfile = self.persistentFile + '.tmp' - if not os.path.isdir(persistentdir): - os.makedirs(persistentdir, exist_ok=True) - try: - with open(tmpfile, 'w') as f: - json.dump(self.persistentData, f, indent=2) - f.write('\n') - os.rename(tmpfile, self.persistentFile) - finally: - try: - os.remove(tmpfile) - except FileNotFoundError: - pass - class Readable(Module): """basic readable module"""