示例#1
0
def add_printer_objects(printer, config):
    reactor = printer.get_reactor()
    mainsync = clocksync.ClockSync(reactor)
    printer.add_object('mcu', MCU(printer, config.getsection('mcu'), mainsync))
    for s in config.get_prefix_sections('mcu '):
        printer.add_object(s.section, MCU(
            printer, s, clocksync.SecondarySync(reactor, mainsync)))
示例#2
0
 def __init__(self, reactor, serialport, baud, canbus_iface, canbus_nodeid):
     self.serialport = serialport
     self.baud = baud
     self.canbus_iface = canbus_iface
     self.canbus_nodeid = canbus_nodeid
     self.ser = serialhdl.SerialReader(reactor)
     self.reactor = reactor
     self.start_time = reactor.monotonic()
     self.clocksync = clocksync.ClockSync(self.reactor)
     self.fd = sys.stdin.fileno()
     util.set_nonblock(self.fd)
     self.mcu_freq = 0
     self.pins = pins.PinResolver(validate_aliases=False)
     self.data = ""
     reactor.register_fd(self.fd, self.process_kbd)
     reactor.register_callback(self.connect)
     self.local_commands = {
         "PINS": self.command_PINS,
         "SET": self.command_SET,
         "DELAY": self.command_DELAY,
         "FLOOD": self.command_FLOOD,
         "SUPPRESS": self.command_SUPPRESS,
         "STATS": self.command_STATS,
         "LIST": self.command_LIST,
         "HELP": self.command_HELP,
     }
     self.eval_globals = {}
示例#3
0
 def __init__(self, k_reactor, device, baud, board_cfg):
     self.reactor = k_reactor
     # TODO: a change in baudrate will cause an issue, come up
     # with a method for handling it gracefully
     self._serial = serialhdl.SerialReader(self.reactor, device, baud)
     self.clocksync = clocksync.ClockSync(self.reactor)
     self.board_config = board_cfg
     self.fatfs = None
     self.connect_completion = None
     self.connected = False
     self.enumerations = {}
示例#4
0
def add_printer_objects(printer, config):
    reactor = printer.get_reactor()
    # first configured MCU has mainsync, others get secondary sync
    # for best results the MCU with xy should be the first
    # but this is generally symmetric / doesn't really matter
    mainsync = clocksync.ClockSync(reactor)
    first = True
    for s in sorted(config.get_prefix_sections('mcu'),
                    key=lambda s: s.section):
        if s.section == 'mcu' or s.section.startswith('mcu '):
            printer.add_object(
                s.section,
                MCU(
                    printer, s, mainsync if first else clocksync.SecondarySync(
                        reactor, mainsync)))
            first = False
示例#5
0
 def __init__(self, ser, reactor):
     self.ser = ser
     self.reactor = reactor
     self.start_time = reactor.monotonic()
     self.clocksync = clocksync.ClockSync(self.reactor)
     self.fd = sys.stdin.fileno()
     util.set_nonblock(self.fd)
     self.mcu_freq = 0
     self.pins = None
     self.data = ""
     reactor.register_fd(self.fd, self.process_kbd)
     reactor.register_callback(self.connect)
     self.local_commands = {
         "PINS": self.command_PINS, "SET": self.command_SET,
         "DELAY": self.command_DELAY, "FLOOD": self.command_FLOOD,
         "SUPPRESS": self.command_SUPPRESS, "STATS": self.command_STATS,
         "LIST": self.command_LIST, "HELP": self.command_HELP,
     }
     self.eval_globals = {}