Example #1
0
def main():
    """
    The main function runs a loop that waits for dbus calls, drives the leds and reads the
    switch.
    """
    try:
        config = ConfigParser()
        config.read(constants.get_config_file())
        i2c_address = int(config.get('OpenMotics', 'leds_i2c_address'), 16)

        led_controller = LedController(Hardware.get_i2c_device(), i2c_address, Hardware.get_gpio_input())
        led_controller.start()
        led_controller.set_led(Hardware.Led.POWER, True)

        DBusService('led_service',
                    event_receiver=lambda *args, **kwargs: led_controller.event_receiver(*args, **kwargs),
                    get_state=led_controller.get_state)

        LOGGER.log("Running led service.")
        mainloop = gobject.MainLoop()
        gobject.timeout_add(250, led_controller.drive_leds)
        gobject.timeout_add(250, led_controller.check_button)
        mainloop.run()
    except Exception as exception:
        LOGGER.log('Error starting led service: {0}'.format(exception))
Example #2
0
def main():
    """
    The main function runs a loop that waits for om bus calls, drives the leds and reads the
    switch.
    """
    try:
        logger.info('Starting led service...')
        config = ConfigParser()
        config.read(constants.get_config_file())
        i2c_address = int(config.get('OpenMotics', 'leds_i2c_address'), 16)

        led_controller = LedController(Hardware.get_i2c_device(), i2c_address,
                                       Hardware.get_gpio_input())
        led_controller.start()
        led_controller.set_led(Hardware.Led.POWER, True)

        signal_request = {'stop': False}

        def stop(signum, frame):
            """ This function is called on SIGTERM. """
            _ = signum, frame
            logger.info('Stopping led service...')
            led_controller.stop()
            logger.info('Stopping led service...Done')
            signal_request['stop'] = True

        signal(SIGTERM, stop)
        logger.info('Starting led service... Done')
        while not signal_request['stop']:
            time.sleep(1)

    except Exception as exception:
        logger.exception('Error starting led service: {0}'.format(exception))
Example #3
0
def main():
    """
    The main function runs a loop that waits for dbus calls, drives the leds and reads the
    switch.
    """
    try:
        config = ConfigParser()
        config.read(constants.get_config_file())

        dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)

        system_bus = dbus.SystemBus()
        _ = dbus.service.BusName("com.openmotics.status",
                                 system_bus)  # Initializes the bus
        # The above `_ = dbus...` need to be there, or the bus won't be initialized

        i2c_device = Hardware.get_i2c_device()
        i2c_address = int(config.get('OpenMotics', 'leds_i2c_address'), 16)

        status = StatusObject(system_bus, '/com/openmotics/status', i2c_device,
                              i2c_address, Hardware.get_gpio_input())
        status.start()

        status.set_led(Hardware.Led.POWER, True)

        LOGGER.log("Running led service.")
        mainloop = gobject.MainLoop()

        gobject.timeout_add(250, status.drive_leds)
        gobject.timeout_add(250, status.check_button)

        mainloop.run()
    except Exception as exception:
        LOGGER.log('Error starting led service: {0}'.format(exception))