def __init__(self, name): map = generate_map(name) self.ctrl_socket = map['ctrl'] self.monitor_socket = map['mon'] self.opcd = OPCD_Interface(map['opcd_ctrl'], 'powerman') bus = SMBus(self.opcd.get('gpio_i2c_bus')) self.gpio_mosfet = GPIO_Bank(bus, self.opcd.get('gpio_i2c_address')) self.power_pin = self.opcd.get('gpio_power_pin') self.cells = self.opcd.get('battery_cells') self.low_cell_voltage_idle = self.opcd.get( 'battery_low_cell_voltage_idle') self.low_cell_voltage_load = self.opcd.get( 'battery_low_cell_voltage_load') self.battery_current_treshold = self.opcd.get( 'battery_current_treshold') self.capacity = self.opcd.get('battery_capacity') self.low_battery_voltage_idle = self.cells * self.low_cell_voltage_idle self.low_battery_voltage_load = self.cells * self.low_cell_voltage_load self.critical = False #self.gpio_mosfet.write() self.warning_started = False # start threads: self.standing = True self.adc_thread = start_daemon_thread(self.adc_reader) self.request_thread = start_daemon_thread(self.request_handler)