From f8e3b5e48463de62265b20c3a8855c3d86329a11 Mon Sep 17 00:00:00 2001 From: su530201 <olivier.kaufmann@umons.ac.be> Date: Tue, 10 May 2022 15:32:44 +0200 Subject: [PATCH] Changes sign in run_measurement; fixes config for logging --- config.py | 2 +- logging_setup.py | 30 +++++++++++++++++------------- ohmpi.py | 13 +++++-------- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/config.py b/config.py index 5b0febb2..00589d3e 100644 --- a/config.py +++ b/config.py @@ -24,7 +24,7 @@ CONTROL_CONFIG = { # Execution logging configuration EXEC_LOGGING_CONFIG = { 'logging_level': logging.DEBUG, - 'logging_to_console': True, + 'logging_to_console': False, 'file_name': 'ohmpi_log', 'max_bytes': 262144, 'backup_count': 30, diff --git a/logging_setup.py b/logging_setup.py index 0aa20ccf..05963f27 100644 --- a/logging_setup.py +++ b/logging_setup.py @@ -40,11 +40,11 @@ def setup_loggers(mqtt=True): exec_formatter.datefmt = '%Y/%m/%d %H:%M:%S UTC' exec_handler.setFormatter(exec_formatter) exec_logger.addHandler(exec_handler) - exec_logger.setLevel(MQTT_LOGGING_CONFIG['logging_level']) + exec_logger.setLevel(EXEC_LOGGING_CONFIG['logging_level']) if logging_to_console: console_exec_handler = logging.StreamHandler(sys.stdout) - console_exec_handler.setLevel(MQTT_LOGGING_CONFIG['logging_level']) + console_exec_handler.setLevel(EXEC_LOGGING_CONFIG['logging_level']) console_exec_handler.setFormatter(exec_formatter) exec_logger.addHandler(console_exec_handler) @@ -52,10 +52,10 @@ def setup_loggers(mqtt=True): mqtt_settings = MQTT_LOGGING_CONFIG.copy() [mqtt_settings.pop(i) for i in ['client_id', 'exec_topic', 'data_topic', 'soh_topic']] mqtt_settings.update({'topic':MQTT_LOGGING_CONFIG['exec_topic']}) - mqtt_msg_handler = MQTTHandler(**mqtt_settings) - mqtt_msg_handler.setLevel(logging_level) - mqtt_msg_handler.setFormatter(exec_formatter) - exec_logger.addHandler(mqtt_msg_handler) + mqtt_exec_handler = MQTTHandler(**mqtt_settings) + mqtt_exec_handler.setLevel(EXEC_LOGGING_CONFIG['logging_level']) + mqtt_exec_handler.setFormatter(exec_formatter) + exec_logger.addHandler(mqtt_exec_handler) # Set data logging format and level log_format = '%(asctime)-15s | %(process)d | %(levelname)s: %(message)s' @@ -71,28 +71,32 @@ def setup_loggers(mqtt=True): data_formatter.datefmt = '%Y/%m/%d %H:%M:%S UTC' data_handler.setFormatter(exec_formatter) data_logger.addHandler(data_handler) - data_logger.setLevel(logging_level) + data_logger.setLevel(DATA_LOGGING_CONFIG['logging_level']) if logging_to_console: - data_logger.addHandler(logging.StreamHandler()) + console_data_handler = logging.StreamHandler(sys.stdout) + console_data_handler.setLevel(DATA_LOGGING_CONFIG['logging_level']) + console_data_handler.setFormatter(exec_formatter) + data_logger.addHandler(console_data_handler) + if mqtt: mqtt_settings = MQTT_LOGGING_CONFIG.copy() [mqtt_settings.pop(i) for i in ['client_id', 'exec_topic', 'data_topic', 'soh_topic']] mqtt_settings.update({'topic': MQTT_LOGGING_CONFIG['data_topic']}) mqtt_data_handler = MQTTHandler(**mqtt_settings) - mqtt_data_handler.setLevel(logging_level) + mqtt_data_handler.setLevel(DATA_LOGGING_CONFIG['logging_level']) mqtt_data_handler.setFormatter(data_formatter) data_logger.addHandler(mqtt_data_handler) try: - init_logging(exec_logger, data_logger, logging_level, log_path, data_log_filename) + init_logging(exec_logger, data_logger, EXEC_LOGGING_CONFIG['logging_level'], log_path, data_log_filename) except Exception as err: print(f'ERROR: Could not initialize logging!\n{err}') finally: - return exec_logger, exec_log_filename, data_logger, data_log_filename, logging_level + return exec_logger, exec_log_filename, data_logger, data_log_filename, EXEC_LOGGING_CONFIG['logging_level'] -def init_logging(exec_logger, data_logger, logging_level, log_path, data_log_filename): +def init_logging(exec_logger, data_logger, exec_logging_level, log_path, data_log_filename): """ This is the init sequence for the logging system """ init_logging_status = True @@ -101,7 +105,7 @@ def init_logging(exec_logger, data_logger, logging_level, log_path, data_log_fil exec_logger.info('*** NEW SESSION STARTING ***') exec_logger.info('****************************') exec_logger.info('') - exec_logger.info('Logging level: %s' % logging_level) + exec_logger.info('Logging level: %s' % exec_logging_level) try: st = statvfs('.') available_space = st.f_bavail * st.f_frsize / 1024 / 1024 diff --git a/ohmpi.py b/ohmpi.py index 152e12fa..83c28abc 100644 --- a/ohmpi.py +++ b/ohmpi.py @@ -446,10 +446,9 @@ class OhmPi(object): meas = np.zeros((self.nb_samples, 3)) for k in range(0, self.nb_samples): # reading current value on ADS channel A0 - meas[k, 0] = (AnalogIn(self.ads_current, ads.P0).voltage * 1000) / (50 * self.r_shunt) - meas[k, 1] = AnalogIn(self.ads_voltage, ads.P0, ads.P1).voltage * self.coef_p2 * 1000 + meas[k, 0] = (AnalogIn(self.ads_current, ads.P0).voltage * 1000) / (50 * self.r_shunt) # TODO: replace 50 by factor depending on INA model specifed in config.py # reading voltage value on ADS channel A2 - # meas[k, 2] = AnalogIn(self.ads_voltage, ads.P1).voltage * self.coef_p3 * 1000 + meas[k, 1] = -AnalogIn(self.ads_voltage, ads.P0, ads.P1).voltage * self.coef_p2 * 1000 # NOTE: Changed sign # stop current injection pin1.value = False @@ -547,8 +546,7 @@ class OhmPi(object): # switch mux off # self.switch_mux_off(quad) - # save data and print in a text file - # self.append_and_save(export_path_rs, current_measurement) + self.switch_mux_on(quad) # current injection pin0 = self.mcp.get_pin(0) @@ -559,7 +557,6 @@ class OhmPi(object): pin1.value = False # call the switch_mux function to switch to the right electrodes - self.switch_mux_on(quad) self.ads_current = ads.ADS1115(self.i2c, gain=2 / 3, data_rate=860, address=0x48) # ADS1115 for voltage measurement (MN) self.ads_voltage = ads.ADS1115(self.i2c, gain=2 / 3, data_rate=860, address=0x49) @@ -602,7 +599,7 @@ class OhmPi(object): # # # TODO if interrupted, we would need to restore the values - # # TODO or we offer the possiblity in 'run_measurement' to have rs_check each time? + # # TODO or we offer the possibility in 'run_measurement' to have rs_check each time? @staticmethod def append_and_save(filename, last_measurement): @@ -648,7 +645,7 @@ class OhmPi(object): cmd_id = decoded_message.pop('cmd_id', None) cmd = decoded_message.pop('cmd', None) args = decoded_message.pop('args', None) - status=False + status = False e = None if cmd is not None and cmd_id is not None: if cmd == 'update_settings' and args is not None: -- GitLab