diff --git a/ohmpi.py b/ohmpi.py index 388619884788e30c000f8a695e7d43bb334c1ee0..66d9f1f9cdd79020b407e95a21de57d67b960c3d 100644 --- a/ohmpi.py +++ b/ohmpi.py @@ -1,30 +1,30 @@ # -*- coding: utf-8 -*- """ created on January 6, 2020. -Updates dec 2022. +Updates dec 2023; in-depth refactoring May 2023. Hardware: Licensed under CERN-OHL-S v2 or any later version Software: Licensed under the GNU General Public License v3.0 -Ohmpi.py is a program to control a low-cost and open hardware resistivity meter OhmPi that is developed by +Ohmpi.py is a program to control a low-cost and open hardware resistivity meters within the OhmPi project by Rémi CLEMENT (INRAE), Vivien DUBOIS (INRAE), Hélène GUYARD (IGE), Nicolas FORQUET (INRAE), Yannick FARGIER (IFSTTAR) Olivier KAUFMANN (UMONS), Arnaud WATLET (UMONS) and Guillaume BLANCHY (FNRS/ULiege). """ import os -from OhmPi.utils import get_platform import json from copy import deepcopy import numpy as np import csv import time -import shutil +from shutil import rmtree +from threading import Thread from inspect import getmembers, isfunction from datetime import datetime from termcolor import colored -import threading +from logging import DEBUG +from OhmPi.utils import get_platform from OhmPi.logging_setup import setup_loggers from OhmPi.config import MQTT_CONTROL_CONFIG, OHMPI_CONFIG, EXEC_LOGGING_CONFIG import OhmPi.deprecated as deprecated -from logging import DEBUG from OhmPi.hardware_system import OhmPiHardware # finish import (done only when class is instantiated as some libs are only available on arm64 platform) @@ -38,6 +38,8 @@ except Exception as error: print(colored(f'Unexpected error: {error}', 'red')) arm64_imports = None +VERSION = '2.2.0-alpha' + class OhmPi(object): """ OhmPi class. """ @@ -70,9 +72,7 @@ class OhmPi(object): self.thread = None # contains the handle for the thread taking the measurement # set loggers - config_exec_logger, _, config_data_logger, _, config_soh_logger, _, _, msg = setup_loggers(mqtt=mqtt) - self.exec_logger = config_exec_logger - self.soh_logger = config_soh_logger + self.exec_logger, _, self.data_logger, _, self.soh_logger, _, _, msg = setup_loggers(mqtt=mqtt) print(msg) # read in hardware parameters (config.py) @@ -430,7 +430,7 @@ class OhmPi(object): Unique command identifier """ self.exec_logger.debug(f'Removing all data following command {cmd_id}') - shutil.rmtree('data') + rmtree('data') os.mkdir('data') def restart(self, cmd_id=None): @@ -895,7 +895,7 @@ class OhmPi(object): time.sleep(dt) # waiting for next measurement (time-lapse) self.status = 'idle' - self.thread = threading.Thread(target=func) + self.thread = Thread(target=func) self.thread.start() def run_sequence(self, cmd_id=None, **kwargs): @@ -1000,7 +1000,7 @@ class OhmPi(object): def func(): self.run_sequence(**kwargs) - self.thread = threading.Thread(target=func) + self.thread = Thread(target=func) self.thread.start() self.status = 'idle' @@ -1219,8 +1219,6 @@ class OhmPi(object): self._sequence = sequence -VERSION = '2.2.0-alpha' - print(colored(r' ________________________________' + '\n' + r'| _ | | | || \/ || ___ \_ _|' + '\n' + r'| | | | |_| || . . || |_/ / | |' + '\n' +