Commit f8e3b5e4 authored by Olivier Kaufmann's avatar Olivier Kaufmann
Browse files

Changes sign in run_measurement; fixes config for logging

Showing with 23 additions and 22 deletions
+23 -22
......@@ -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,
......
......@@ -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
......
......@@ -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:
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment