Example #1
0
 def caps(dc, l0, l1, n = 1, val = '0.1 uF'):
     r = []
     for i in range(n):
         d = cu.C0402(dc, val)
         r.append(d)
         d.escape(l0, l1)
         dc.forward(1)
     return r
Example #2
0
    daz2.w("l 45 f 15 r 45 f 6 / l 45").wire()

    daz.s("12").w("i f 1 / r 45 f 14 r 45 f 30").goto(ftdi.s("OUT")).wire()

    # ------------------------------ dazzler console
    cx = dazzler_console(brd.DC((37.0, 48.0)).left(90).setlayer('GBL'))
    daz0.w("f 2 l 90 f 2 l 90")
    daz0.w("f 34 / l 45 f 12 r 90 f 3").wire()
    daz0.meet(cx)

    # ------------------------------ level shifters
    d = brd.DC((25, 42)).right(180)
    asig = []  # FPGA, 3.3V side
    bsig = []  # Z80, 5V side
    for i in range(3):
        cu.C0402(d.copy().goxy(1.2, 4), '0.1 uF').escape_2layer()
        (a, b) = TXB0108(d).escape()
        asig = a + asig
        bsig += b
        d.forward(8)
    bbus = brd.enriver90(bsig, -90).wire()

    x = 24 - len(daz1)
    daz1.w("l 90 f 4 l 45").meet(brd.enriver(asig[x:], -45).wire())
    daz2.meet(brd.enriver(asig[:x], -45).wire())

    zbus.meet(bbus)

    # ------------------------------ 5V power
    v5 = bus.s("5v").setlayer('GBL').setwidth(1)
    v5.copy().w("f 2 r 90 f 22 / l 45 f 11 r 45 f 8").goto(daz.s("5V")).wire()
Example #3
0
        "i f 1 / r 45 f 10 r 45 f 12 r 45 f 10.5 l 45 f 16 l 45 f 7 l 45 f 12"
    ).goto(ftdi.s("OUT")).wire()
    oe = daz.s("12").w("i f 1 / r 45 f 13.5 r 45 f 23").wire()

    # ------------------------------ dazzler console
    cx = dazzler_console(brd.DC((37.0, 48.0)).left(90).setlayer('GBL'))
    daz0.w("f 2 l 90 f 2 l 90")
    daz0.w("f 34 / l 45 f 12 r 90 f 3").wire()
    daz0.meet(cx)

    # ------------------------------ level shifters
    d = brd.DC((25, 42)).right(180)
    asig = []  # FPGA, 3.3V side
    bsig = []  # Z80, 5V side
    for i in range(3):
        cu.C0402(d.copy().goxy(-2.8, 4.5).left(180), '0.1 uF').escape_2layer()
        (a, b, _oe) = TXB0108(d).escape()
        oe.copy().goto(_oe).wire()
        asig = a + asig
        bsig += b
        d.forward(9)
    bbus = brd.enriver90(bsig, -90).wire()

    x = 24 - len(daz1)
    daz1.w("l 90 f 4 l 45").meet(brd.enriver(asig[x:], -45).wire())
    daz2.meet(brd.enriver(asig[:x], -45).wire())

    zbus.meet(bbus)

    # ------------------------------ 5V power
    v5 = bus.s("5v").setlayer('GBL').setwidth(0.6)
Example #4
0

if __name__ == "__main__":
    brd = cu.Board((50, 42),
                   trace=cu.mil(5),
                   space=cu.mil(5) * 2.0,
                   via_hole=0.3,
                   via=0.6,
                   via_space=cu.mil(5),
                   silk=cu.mil(6))

    daz = Dazzler(brd.DC((68.58 - 43.59, 26.5)).right(180))
    sd = SD(brd.DC((53.6, 16.5)).right(0))
    (lvl_in, lvl_out) = cu.M74LVC245(brd.DC((60, 37)).right(90)).escape()
    shield = ArduinoR3(brd.DC((0, 0)))
    cu.C0402(brd.DC((65, 39.0)), '0.1 uF').escape_2layer()
    cu.C0402(brd.DC((59, 27.5)), '0.1 uF').escape_2layer()

    R1 = cu.R0402(brd.DC((51.5, 46.0)).right(90), '4.7K')
    R2 = cu.R0402(brd.DC((53.0, 46.0)).right(90), '4.7K')
    R1.pads[0].w("o l 90 f 0.5 -")
    daz.s("PGM").w("o f 1 r 90 f 13 r 45 f 5.5 l 45 f 2").wire()
    daz.s("5V").copy().w(
        "i f 6 l 90 f 9.15 l 90 f 11.3 r 90 f 26.9 r 90 f 4").goto(
            R2.pads[0]).wire()

    def wii(i):
        y = 53.3 / 2 + i * (24.0 / 2)
        return cu.WiiPlug(brd.DC((76, y)).right(90)).escape()

    brd.layers['GML'].union(sg.box(68, 22, 80.8, 30))