Ejemplo n.º 1
0
    def __init__(self, hub, max_acks_outstanding=0):
        if isinstance(hub, int):
            # interpreting as a baud rate
            hub = ControllerHub(hub)

        self.ctlr = BitbangController(
            hub, max_acks_outstanding=max_acks_outstanding)

        self.pins = {}
        for port in "BCD":
            for pin in range(0, 8):
                pin_obj = self.Pin(self, port, pin)
                pin_name = "%s%d" % (port, pin)

                setattr(self, pin_name, pin_obj)
                self.pins[pin_name] = pin_obj
Ejemplo n.º 2
0
    def __init__(self, hub, max_acks_outstanding=0):
        if isinstance(hub, int):
            # interpreting as a baud rate
            hub = ControllerHub(hub)

        self.ctlr = BitbangController(hub, max_acks_outstanding=max_acks_outstanding)

        self.pins = {}
        for port in "BCD":
            for pin in range(0, 8):
                pin_obj = self.Pin(self, port, pin)
                pin_name = "%s%d" % (port, pin)

                setattr(self, pin_name, pin_obj)
                self.pins[pin_name] = pin_obj
Ejemplo n.º 3
0
class Jtagusaur2BitbangController(object):
    class Pin(object):
        def __init__(self, ctlr, port, pin_idx):
            self.ctlr = ctlr
            self.port = port
            self.pin_idx = pin_idx

        def mode(self, dir):
            self.ctlr.mode(self.port, self.pin_idx, dir)

        def write(self, val):
            self.ctlr.write(self.port, self.pin_idx, val)

        def read(self):
            val = self.ctlr.read(self.port)
            return (val >> self.pin_idx) & 1

    def __init__(self, hub, max_acks_outstanding=0):
        if isinstance(hub, int):
            # interpreting as a baud rate
            hub = ControllerHub(hub)

        self.ctlr = BitbangController(hub, max_acks_outstanding=max_acks_outstanding)

        self.pins = {}
        for port in "BCD":
            for pin in range(0, 8):
                pin_obj = self.Pin(self, port, pin)
                pin_name = "%s%d" % (port, pin)

                setattr(self, pin_name, pin_obj)
                self.pins[pin_name] = pin_obj

    def mode(self, port, pin, dir):
        port = port.upper()
        assert port in "BCD"
        pin = int(pin)
        assert 0 <= pin < 8
        assert dir in 'io'
        val = (1 if dir == 'o' else 0)

        port_id = _PORT_IDS["DDR" + port]

        self.ctlr.writeBit(port_id, pin, val)

    def write(self, port, pin, val):
        port = port.upper()
        assert port in "BCD"
        pin = int(pin)
        assert 0 <= pin < 8
        assert val in (0, 1)

        port_id = _PORT_IDS["PORT" + port]

        self.ctlr.writeBit(port_id, pin, val)

    def read(self, port):
        port = port.upper()
        assert port in "BCD"

        port_id = _PORT_IDS["PIN" + port]

        val = self.ctlr.read(port_id)
        return val
Ejemplo n.º 4
0
class Jtagusaur2BitbangController(object):
    class Pin(object):
        def __init__(self, ctlr, port, pin_idx):
            self.ctlr = ctlr
            self.port = port
            self.pin_idx = pin_idx

        def mode(self, dir):
            self.ctlr.mode(self.port, self.pin_idx, dir)

        def write(self, val):
            self.ctlr.write(self.port, self.pin_idx, val)

        def read(self):
            val = self.ctlr.read(self.port)
            return (val >> self.pin_idx) & 1

    def __init__(self, hub, max_acks_outstanding=0):
        if isinstance(hub, int):
            # interpreting as a baud rate
            hub = ControllerHub(hub)

        self.ctlr = BitbangController(
            hub, max_acks_outstanding=max_acks_outstanding)

        self.pins = {}
        for port in "BCD":
            for pin in range(0, 8):
                pin_obj = self.Pin(self, port, pin)
                pin_name = "%s%d" % (port, pin)

                setattr(self, pin_name, pin_obj)
                self.pins[pin_name] = pin_obj

    def mode(self, port, pin, dir):
        port = port.upper()
        assert port in "BCD"
        pin = int(pin)
        assert 0 <= pin < 8
        assert dir in 'io'
        val = (1 if dir == 'o' else 0)

        port_id = _PORT_IDS["DDR" + port]

        self.ctlr.writeBit(port_id, pin, val)

    def write(self, port, pin, val):
        port = port.upper()
        assert port in "BCD"
        pin = int(pin)
        assert 0 <= pin < 8
        assert val in (0, 1)

        port_id = _PORT_IDS["PORT" + port]

        self.ctlr.writeBit(port_id, pin, val)

    def read(self, port):
        port = port.upper()
        assert port in "BCD"

        port_id = _PORT_IDS["PIN" + port]

        val = self.ctlr.read(port_id)
        return val