Exemple #1
0
    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)