aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/static_digital_output.py
blob: 8c39fb3c7b69e80a11f228f4b387789fcd7d9416 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Set the state of a list of digital output pins
#
# Copyright (C) 2017-2018  Kevin O'Connor <kevin@koconnor.net>
#
# This file may be distributed under the terms of the GNU GPLv3 license.


class PrinterStaticDigitalOut:
    def __init__(self, config):
        printer = config.get_printer()
        ppins = printer.lookup_object("pins")
        pin_list = config.getlist("pins")
        for pin_desc in pin_list:
            pin_params = ppins.lookup_pin(pin_desc, can_invert=True)
            mcu = pin_params["chip"]
            mcu.add_config_cmd(
                "set_digital_out pin=%s value=%d"
                % (pin_params["pin"], not pin_params["invert"])
            )


def load_config_prefix(config):
    return PrinterStaticDigitalOut(config)