X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fobits%2FAtmelSerial.java;h=3457c66b2b90fade3640463cefd42526d90e6608;hb=e9724a11d269da6da7763cfe558691791809aa9b;hp=6f2ff6d8014122d32f205a8dbe3bb6551c75123c;hpb=34034deb0fa8442be7ebf5911dcb0847b7462a03;p=slipway.git diff --git a/src/edu/berkeley/obits/AtmelSerial.java b/src/edu/berkeley/obits/AtmelSerial.java index 6f2ff6d..3457c66 100644 --- a/src/edu/berkeley/obits/AtmelSerial.java +++ b/src/edu/berkeley/obits/AtmelSerial.java @@ -1,7 +1,8 @@ package edu.berkeley.obits; -import static edu.berkeley.obits.device.atmel.AtmelDevice.Constants.*; -import static edu.berkeley.obits.device.atmel.AtmelDevice.Util.*; +import edu.berkeley.slipway.*; +import static com.atmel.fpslic.FpslicConstants.*; +import static com.atmel.fpslic.Fpslic.Util.*; import edu.berkeley.obits.device.atmel.*; import edu.berkeley.obits.gui.*; import java.awt.*; @@ -34,11 +35,11 @@ public class AtmelSerial { public static void main(String[] s) throws Exception { //AvrDrone device = new AvrDrone(detectObitsPort()); //AvrDrone device = new AvrDrone(); - AvrDrone device = Demo.main2(); + AvrDrone device = new AvrDrone(new FtdiBoard()); At40k at40k = new At40k.At40k10(device); try { long begin = System.currentTimeMillis(); - device.readMode4(System.in); + device.readMode4(new ProgressInputStream("configuring fabric", System.in, 111740)); long end = System.currentTimeMillis(); Log.info(AtmelSerial.class, "finished in " + ((end-begin)/1000) + "s"); Thread.sleep(1000); @@ -494,7 +495,15 @@ public class AtmelSerial { at40k.cell(6,13).yo(false); at40k.cell(7,12).xi(SE); - /* + for(int i=0; i<24; i++) { + at40k.iob_bot(i, true).enableOutput(NORTH); + at40k.iob_bot(i, false).enableOutput(NW); + at40k.cell(i, 0).xlut(0xff); + at40k.cell(i, 0).ylut(0xff); + } + + device.flush(); + Gui vis = new Gui(at40k, device); Frame fr = new Frame(); fr.addKeyListener(vis); @@ -506,12 +515,14 @@ public class AtmelSerial { fr.repaint(); fr.show(); synchronized(AtmelSerial.class) { AtmelSerial.class.wait(); } - */ + + Visualizer v = new Visualizer(at40k, device); v.show(); v.setSize(1380, 1080); At40k.Cell cell = at40k.cell(4, 23); + Image img = v.createImage(v.getWidth(), v.getHeight()); /* int x = 1; @@ -779,6 +790,7 @@ public class AtmelSerial { cell.xlut(0xff); cell.ylut(0xff); drawCell(getGraphics(), selx, sely); + drone.flush(); break; } case 'i': { @@ -890,6 +902,7 @@ public class AtmelSerial { cell.xlut(0x00); cell.ylut(0x00); drawCell(getGraphics(), selx, sely); + drone.flush(); break; } } @@ -919,11 +932,15 @@ public class AtmelSerial { g.setColor(BLUE); g.drawString(v+"="+(y?"1":"0"), left(cell) + 8, top(cell) + 35); } }; - scan(dev, cell, NONE, true); - drone.readBus(bc); - //scan(dev, cell, XLUT, true); - //boolean x = (drone.readBus() & 0x80) != 0; - scan(dev, cell, NONE, false); + try { + scan(dev, cell, NONE, true); + drone.readBus(bc); + //scan(dev, cell, XLUT, true); + //boolean x = (drone.readBus() & 0x80) != 0; + scan(dev, cell, NONE, false); + } catch (IOException ex) { + throw new RuntimeException(ex); + } } public void mouseMoved(MouseEvent e) { @@ -1470,11 +1487,15 @@ public class AtmelSerial { } }; scan(dev, cell, NONE, true); - drone.readBus(bc); - //scan(dev, cell, YLUT, false); - cell.v(L3, false); - dev.cell(x, 15).h(L3, false); - dev.cell(x, 15).v(L3, false); + try { + drone.readBus(bc); + //scan(dev, cell, YLUT, false); + cell.v(L3, false); + dev.cell(x, 15).h(L3, false); + dev.cell(x, 15).v(L3, false); + } catch (IOException ex) { + throw new RuntimeException(ex); + } } } }