static_digital_output: Add static_digital_output section to extras/

Move the code for the static_digital_output config section from
chipmisc.py to a new file in the extras/ directory.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2018-03-17 13:05:40 -04:00
parent e78377eebd
commit 66eefa1da8
2 changed files with 17 additions and 9 deletions

View File

@ -10,13 +10,6 @@ import pins
# Output pins # Output pins
###################################################################### ######################################################################
class PrinterStaticDigitalOut:
def __init__(self, printer, config):
pin_list = [pin.strip() for pin in config.get('pins').split(',')]
for pin_desc in pin_list:
mcu_pin = pins.setup_pin(printer, 'digital_out', pin_desc)
mcu_pin.setup_start_value(1, 1, True)
PIN_MIN_TIME = 0.100 PIN_MIN_TIME = 0.100
class PrinterPin: class PrinterPin:
@ -80,8 +73,6 @@ class PrinterPin:
###################################################################### ######################################################################
def add_printer_objects(printer, config): def add_printer_objects(printer, config):
for s in config.get_prefix_sections('static_digital_output '):
printer.add_object(s.section, PrinterStaticDigitalOut(printer, s))
for s in config.get_prefix_sections('digital_output '): for s in config.get_prefix_sections('digital_output '):
printer.add_object('pin' + s.section[14:], PrinterPin(printer, s)) printer.add_object('pin' + s.section[14:], PrinterPin(printer, s))
for s in config.get_prefix_sections('static_pwm_output '): for s in config.get_prefix_sections('static_pwm_output '):

View File

@ -0,0 +1,17 @@
# 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 = [pin.strip() for pin in config.get('pins').split(',')]
for pin_desc in pin_list:
mcu_pin = ppins.setup_pin('digital_out', pin_desc)
mcu_pin.setup_start_value(1, 1, True)
def load_config_prefix(config):
return PrinterStaticDigitalOut(config)