From c468f7da697dbc1024f1b9e9e2037e8d6cdd93f0 Mon Sep 17 00:00:00 2001 From: adam Date: Sun, 25 Jun 2006 13:50:32 +0100 Subject: [PATCH] checkpoint --- Makefile | 18 +- lib/RXTXcomm.jar | Bin 0 -> 59464 bytes lib/librxtxSerial.jnilib | Bin 0 -> 326432 bytes lib/librxtxSerial.so | Bin 0 -> 154682 bytes lib/rxtxSerial.dll | Bin 0 -> 77759 bytes src/edu/berkeley/obits/AtmelSerial.java | 82 +++- src/edu/berkeley/obits/Visual.java | 396 ---------------- src/edu/berkeley/obits/device/atmel/At40k.java | 124 +++-- src/edu/berkeley/obits/gui/G.java | 41 ++ src/edu/berkeley/obits/gui/Gui.java | 596 ++++++++++++++++++++++++ src/edu/berkeley/obits/gui/P.java | 40 ++ src/edu/berkeley/obits/gui/ZoomingPanel.java | 146 ++++++ 12 files changed, 1004 insertions(+), 439 deletions(-) create mode 100644 lib/RXTXcomm.jar create mode 100644 lib/librxtxSerial.jnilib create mode 100644 lib/librxtxSerial.so create mode 100644 lib/rxtxSerial.dll delete mode 100644 src/edu/berkeley/obits/Visual.java create mode 100644 src/edu/berkeley/obits/gui/G.java create mode 100644 src/edu/berkeley/obits/gui/Gui.java create mode 100644 src/edu/berkeley/obits/gui/P.java create mode 100644 src/edu/berkeley/obits/gui/ZoomingPanel.java diff --git a/Makefile b/Makefile index 4891adf..9d16e29 100644 --- a/Makefile +++ b/Makefile @@ -1,21 +1,17 @@ -led0: obits.jar - java -Djava.library.path=/usr/lib \ - -cp /usr/share/java/RXTXcomm.jar:obits.jar \ - edu.berkeley.obits.AtmelSerial < bitstreams/led0.md4 +java = java -Djava.library.path=$(shell pwd)/lib/ -cp lib/RXTXcomm.jar:obits.jar + +led0: obits.jar + $(java) edu.berkeley.obits.AtmelSerial < bitstreams/led0.md4 led1: obits.jar - java -Djava.library.path=/usr/lib \ - -cp /usr/share/java/RXTXcomm.jar:obits.jar \ - edu.berkeley.obits.AtmelSerial < bitstreams/led1.md4 + $(java) edu.berkeley.obits.AtmelSerial < bitstreams/led1.md4 run: obits.jar - java -Djava.library.path=/usr/lib \ - -cp /usr/share/java/RXTXcomm.jar:obits.jar \ - edu.berkeley.obits.AtmelSerial + $(java) edu.berkeley.obits.AtmelSerial < stupid.md4 obits.jar: $(shell find src -name \*.java) - javac -cp /usr/share/java/RXTXcomm.jar -d build $(shell find src -name \*.java) + javac -cp lib/RXTXcomm.jar -d build $(shell find src -name \*.java) cd build; jar cvf ../$@ . # -O3 is required; otherwise the poor AVR can't keep up with us! diff --git a/lib/RXTXcomm.jar b/lib/RXTXcomm.jar new file mode 100644 index 0000000000000000000000000000000000000000..84e5f01dff26139e016015725e00afc37ce58e0d GIT binary patch literal 59464 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

h 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 ZpwQU!arKSVgfB^e*VGmSLZO53>3_Oi6RiLM literal 0 HcmV?d00001 diff --git a/lib/librxtxSerial.jnilib b/lib/librxtxSerial.jnilib new file mode 100644 index 0000000000000000000000000000000000000000..2d3f20d6dffbe5fe18ac8f13197bf8bd02e2b2f5 GIT binary patch literal 326432 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 RI9%o=49Mp}ihghJe*r<=P|^SZ literal 0 HcmV?d00001 diff --git a/lib/librxtxSerial.so b/lib/librxtxSerial.so new file mode 100644 index 0000000000000000000000000000000000000000..e60c5e674cd579c79fb4654f280c80d528a3cda4 GIT binary patch literal 154682 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 literal 0 HcmV?d00001 diff --git a/lib/rxtxSerial.dll b/lib/rxtxSerial.dll new file mode 100644 index 0000000000000000000000000000000000000000..c0e6b58225b30c623cae7fd4553a4dd0ed581bb0 GIT binary patch literal 77759 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 literal 0 HcmV?d00001 diff --git a/src/edu/berkeley/obits/AtmelSerial.java b/src/edu/berkeley/obits/AtmelSerial.java index 444c944..cffe6c7 100644 --- a/src/edu/berkeley/obits/AtmelSerial.java +++ b/src/edu/berkeley/obits/AtmelSerial.java @@ -3,6 +3,7 @@ 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.obits.device.atmel.*; +import edu.berkeley.obits.gui.*; import java.awt.*; import java.awt.event.*; import java.awt.color.*; @@ -346,7 +347,6 @@ public class AtmelSerial { c.h(L2, true); - // catch a rising transition /* c = c.west(); @@ -361,6 +361,49 @@ public class AtmelSerial { c.hwire(L2).west().drives(c.hwire(L2), false); c.hwire(L2).east().drives(c.hwire(L2), false); + + + ////// + + c = at40k.cell(20,20); + c.yi(WEST); + c.ylut(LUT_SELF); + c.c(YLUT); + c.oe(H4); + c.h(L4, true); + c.b(false); + c.f(false); + c.out(L4); + + c = at40k.cell(21,20); + c.c(YLUT); + c.oe(NONE); + c.h(L4, true); + c.b(false); + c.f(false); + + + c = at40k.cell(8,8); + c.f(true); + c.b(true); + c.xo(true); + c.xi(NE); + c.zi(L3); + c.wi(L0); + c.yi(NORTH); + c.oe(H4); + c.h(L0, true); + c.h(L2, true); + c.h(L4, true); + c.v(L1, true); + c.v(L3, true); + c.out(L0, true); + c.out(L1, true); + c.out(L2, true); + c.out(L3, true); + c.out(L4, true); + c.c(ZMUX); + //for(int x=5; xi) return s; return "0"+pad((i-1),s); } - private static String bin8(byte b) { + public static String bin8(byte b) { int n = b & 0xff; String ret = ""; for(int i=7; i>=0; i--) diff --git a/src/edu/berkeley/obits/Visual.java b/src/edu/berkeley/obits/Visual.java deleted file mode 100644 index 9e20da0..0000000 --- a/src/edu/berkeley/obits/Visual.java +++ /dev/null @@ -1,396 +0,0 @@ -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.obits.device.atmel.*; -import java.awt.*; -import java.awt.geom.*; -import java.awt.event.*; -import java.awt.color.*; -import org.ibex.util.*; -import java.io.*; -import java.util.*; -import javax.swing.*; - -public class Visual extends JFrame implements KeyListener { - - public static int SIZE = 92; - public static int RINGS = 3; - public static int BEVEL = 5; - public static int CORE_SIZE = 64; - public static int CORE_OFFSET = 10; - - public static int HOFF = 52; - - /* - public static void main(String[] s) { - Visual v = new Visual(); - v.show(); - v.setSize(400, 400); - } - */ - - At40k at40k; - - public Visual(At40k at40k) { - this.at40k = at40k; - for(int x=0; x<7; x++) - for(int y=0; y<7; y++) - new Cell(x,y, at40k.cell(x+7, y+7)); - addKeyListener(this); - } - - private HashSet cells = new HashSet(); - - public class Cell { - Graphics2D g; - At40k.Cell cell; - int _x, _y; - public Cell(int x, int y, At40k.Cell cell) { - _x = x; - _y = y; - this.cell = cell; - cells.add(this); - } - public void draw() { - drawHwires(); - drawVwires(); - drawInternalRouting(); - drawLocal(); - drawGates(); - drawMux(); - drawRegister(); - drawBorder(); - } - public void drawHwires() { - g.setColor(Color.magenta); - for(int i=0; i<5; i++) - if (cell.hwire(i).isDriven()) - g.drawLine(0, SIZE-(2*(1+RINGS)+2*i), SIZE, SIZE-(2*(1+RINGS)+2*i)); - } - public void drawVwires() { - g.setColor(Color.magenta); - for(int i=0; i<5; i++) - if (cell.vwire(i).isDriven()) - g.drawLine(2*(1+RINGS)+2*i, 0, 2*(1+RINGS)+2*i, SIZE); - } - public void drawInternalRouting() { - } - - public void drawLocal() { - if (!cell.ylut_relevant() && !cell.ylut_relevant()) return; - Point2D in = new Point2D.Double(HOFF, 0); - Point2D join = new Point2D.Double(HOFF, CORE_OFFSET); - rotateOuter(in); - rotateInner(join); - int rot = rot(); - switch(rot) { - case 0: case 2: - join.setLocation(in.getX(), join.getY()); - break; - case 1: case 3: - join.setLocation(join.getX(), in.getY()); - break; - } - - Point2D xi = null; - g.setColor(new Color(0xff, 0x00, 0x00)); - int xring = 4; - switch(cell.xi()) { - case NW: - xi = new Point2D.Double(0+2*xring, SIZE-2*xring); - g.draw(new Line2D.Double(new Point2D.Double(0, SIZE), xi)); - break; - - case SW: - xi = new Point2D.Double(0+2*xring, 0+2*xring); - g.draw(new Line2D.Double(new Point2D.Double(0, 0), xi)); - break; - - case NE: - xi = new Point2D.Double(SIZE-2*xring, SIZE-2*xring); - g.draw(new Line2D.Double(new Point2D.Double(SIZE, SIZE), xi)); - break; - - case SE: - xi = new Point2D.Double(SIZE-2*xring, 0+2*xring); - g.draw(new Line2D.Double(new Point2D.Double(SIZE, 0), xi)); - break; - - } - - if (cell.xlut_relevant()) { - g.setColor(new Color(0x00, 0x00, 0xff)); - Point2D c = new Point2D.Double(SIZE - CORE_OFFSET - CORE_SIZE/2 - CORE_SIZE / 6, 20); - rotateInner(c); - route(in, c, 5); - - g.setColor(new Color(0xff, 0x00, 0x00)); - c = new Point2D.Double(SIZE - CORE_OFFSET - CORE_SIZE/2 - CORE_SIZE / 3, 20); - rotateInner(c); - if (xi != null) - route(xi, c, 4); - - Point2D xo = new Point2D.Double(SIZE-CORE_OFFSET-CORE_SIZE+17 - 2, CORE_OFFSET + 41 - 3); - Point2D xout = new Point2D.Double(SIZE-CORE_OFFSET-CORE_SIZE+17 - 2, CORE_OFFSET + CORE_SIZE - 3); - rotateInner(xo); - rotateInner(xout); - g.setColor(new Color(0xff, 0xcc, 0xcc)); - g.draw(new Line2D.Double(xo, xout)); - if (cell.ne() != null && cell.ne().xi()==SW) { - Point2D xoo = new Point2D.Double(SIZE-2*xring, SIZE-2*xring); - g.draw(new Line2D.Double(new Point2D.Double(SIZE, SIZE), xoo)); - route(xout, xoo, xring); - } - if (cell.nw() != null && cell.nw().xi()==SE) { - Point2D xoo = new Point2D.Double(0+2*xring, SIZE-2*xring); - g.draw(new Line2D.Double(new Point2D.Double(0, SIZE), xoo)); - route(xout, xoo, xring); - } - if (cell.se() != null && cell.se().xi()==NW) { - Point2D xoo = new Point2D.Double(SIZE-2*xring, 0+2*xring); - g.draw(new Line2D.Double(new Point2D.Double(SIZE, 0), xoo)); - route(xout, xoo, xring); - } - if (cell.sw() != null && cell.sw().xi()==NE) { - Point2D xoo = new Point2D.Double(0+2*xring, 0+2*xring); - g.draw(new Line2D.Double(new Point2D.Double(0, 0), xoo)); - route(xout, xoo, xring); - } - } - - if (cell.ylut_relevant()) { - g.setColor(new Color(0x00, 0x00, 0xff)); - Point2D c = new Point2D.Double(SIZE - CORE_OFFSET - CORE_SIZE/2 + CORE_SIZE / 6, 20); - rotateInner(c); - route(in, c, 5); - - g.setColor(new Color(0xff, 0x00, 0x00)); - c = new Point2D.Double(SIZE - CORE_OFFSET - CORE_SIZE/2 + CORE_SIZE / 3, 20); - rotateInner(c); - if (xi != null) - route(xi, c, 4); - - Point2D yo = new Point2D.Double(SIZE-CORE_OFFSET-CORE_SIZE+51 - 2, CORE_OFFSET + 41 - 3); - Point2D yout = new Point2D.Double(SIZE-CORE_OFFSET-CORE_SIZE+51 - 2, CORE_OFFSET + CORE_SIZE - 3); - rotateInner(yo); - rotateInner(yout); - g.setColor(new Color(0xbb, 0xbb, 0xff)); - //g.setColor(new Color(0x00, 0x00, 0xff)); - g.draw(new Line2D.Double(yo, yout)); - if (cell.north() != null && cell.north().yi()==SOUTH) route(yout, new Point2D.Double(SIZE-40, SIZE+ 0), 2); - if (cell.east() != null && cell.east().yi()==WEST) route(yout, new Point2D.Double(SIZE+ 0, 40), 2); - if (cell.south() != null && cell.south().yi()==NORTH) route(yout, new Point2D.Double( 40, 0), 2); - if (cell.west() != null && cell.west().yi()==EAST) route(yout, new Point2D.Double( 0, SIZE-40), 2); - } - - } - - private void rotateOuter(Point2D p) { - int rot = rot(); - AffineTransform a = new AffineTransform(); - a.rotate((Math.PI/2) * rot); - switch(rot) { - case 0: break; - case 1: a.translate(0, -SIZE); break; - case 2: a.translate(-SIZE, -SIZE); break; - case 3: a.translate(-SIZE, 0); break; - } - a.transform(p, p); - } - - private void rotateInner(Point2D p) { - int rot = rot(); - AffineTransform a = new AffineTransform(); - a.translate(SIZE-CORE_SIZE-CORE_OFFSET, CORE_OFFSET); - a.rotate((Math.PI/2) * rot); - switch(rot) { - case 0: break; - case 1: a.translate(0, -CORE_SIZE); break; - case 2: a.translate(-CORE_SIZE, -CORE_SIZE); break; - case 3: a.translate(-CORE_SIZE, 0); break; - } - a.translate(-1 * (SIZE-CORE_SIZE-CORE_OFFSET), -CORE_OFFSET); - a.transform(p, p); - } - - private Point2D project(Point2D p1, int ring) { - double north = Math.abs( (SIZE-(ring*2)) - p1.getY() ); - double south = Math.abs( ( (ring*2)) - p1.getY() ); - double east = Math.abs( (SIZE-(ring*2)) - p1.getX() ); - double west = Math.abs( ( (ring*2)) - p1.getX() ); - if (north < south && north < east && north < west) { - return new Point2D.Double(p1.getX(), SIZE-ring*2); - } else if (south < east && south < west) { - return new Point2D.Double(p1.getX(), ring*2); - } else if (east < west) { - return new Point2D.Double(SIZE-ring*2, p1.getY()); - } else { - return new Point2D.Double(ring*2, p1.getY()); - } - } - - private void route(Point2D p1, Point2D p2, int ring) { - int ringpos = ring * 2; - Point2D projected = project(p1, ring); - g.draw(new Line2D.Double(p1, projected)); - p1 = projected; - - projected = project(p2, ring); - g.draw(new Line2D.Double(p2, projected)); - p2 = projected; - - double x1 = p1.getX(); - double y1 = p1.getY(); - double x2 = p2.getX(); - double y2 = p2.getY(); - - if (x1==x2 || y1==y2) { - g.draw(new Line2D.Double(p1, p2)); - return; - } - - if ((x1==SIZE-ring*2 || x1==ring*2) && !(y1==SIZE-ring*2 || y1==ring*2)) { - Point2D p3 = new Point2D.Double(x1, y2 > SIZE/2 ? SIZE-ring*2 : ring*2); - g.draw(new Line2D.Double(p1, p3)); - route(p3, p2, ring); - } - - if (y1==SIZE-ring*2 || y1==ring*2) { - Point2D p3 = new Point2D.Double(x2 > SIZE/2 ? SIZE-ring*2 : ring*2, y1); - g.draw(new Line2D.Double(p1, p3)); - route(p3, p2, ring); - } - - } - - private int rot() { - int rot = 0; - switch(cell.yi()) { - case SOUTH: rot = 0; break; - case NORTH: rot = 2; break; - case EAST: rot = 1; break; - case WEST: rot = 3; break; - default: { - // FIXME: choose based on xin - if (cell.north() != null && cell.north().yi()==SOUTH) { rot = 0; break; } - if (cell.south() != null && cell.south().yi()==NORTH) { rot = 2; break; } - if (cell.east() != null && cell.east().yi()==WEST) { rot = 3; break; } - if (cell.west() != null && cell.west().yi()==EAST) { rot = 1; break; } - } - } - return rot; - } - - public void drawGates() { - AffineTransform t = g.getTransform(); - try { - g.translate(SIZE-CORE_SIZE-CORE_OFFSET, CORE_OFFSET); - - int rot = rot(); - g.rotate((Math.PI/2) * rot); - switch(rot) { - case 0: break; - case 1: g.translate(0, -CORE_SIZE); break; - case 2: g.translate(-CORE_SIZE, -CORE_SIZE); break; - case 3: g.translate(-CORE_SIZE, 0); break; - } - - //g.setColor(Color.gray); - //g.drawRect(0, 0, CORE_SIZE, CORE_SIZE); - g.scale(1, -1); - - GeneralPath p = new GeneralPath(); - p.moveTo(29.141f, 36.301f); - p.lineTo(29.141f, 36.301f-7.161f); - p.curveTo(27.71f, 11.24f, 23.413f, 9.45f, 14.82f, 0.5f); - p.curveTo(6.229f, 9.45f, 1.932f, 11.24f, 0.5f, 29.141f); - p.lineTo(0.5f, 29.141f+7.161f); - float x = 0.5f; - float y = 29.141f+7.161f; - p.curveTo(5.729f+x, -1.789f+y, - 6.444f+x, -2.686f+y, - 14.32f+x, -3.58f+y); - p.curveTo(22.697f, 33.616f, 23.413f, 34.512f, 29.141f, 36.301f); - g.translate(0, -40f); - if (cell.xlut_relevant()) { - g.setColor(Color.white); - g.fill(p); - g.setColor(Color.red); - g.draw(p); - } - g.translate(34f, 0f); - if (cell.ylut_relevant()) { - g.setColor(Color.white); - g.fill(p); - g.setColor(Color.blue); - g.draw(p); - } - } finally { - g.setTransform(t); - } - } - public void drawMux() { - if (cell.c() != ZMUX) return; - g.setColor(Color.black); - g.drawLine(46, 54, 46+2, 54+5); - g.drawLine(46+2, 54+5, 60-2, 54+5); - g.drawLine(60-2, 54+5, 60, 54); - g.drawLine(60, 54, 46, 54); - } - public void drawRegister() { - } - public void drawBorder() { - g.setColor(Color.gray); - //g.drawLine(0, BEVEL, BEVEL, 0); - g.drawLine(BEVEL, 0, SIZE-BEVEL, 0); - //g.drawLine(SIZE-BEVEL, 0, SIZE, BEVEL); - g.drawLine(SIZE, BEVEL, SIZE, SIZE-BEVEL); - //g.drawLine(SIZE, SIZE-BEVEL, SIZE-BEVEL, SIZE); - g.drawLine(SIZE-BEVEL, SIZE, BEVEL, SIZE); - //g.drawLine(BEVEL, SIZE, 0, SIZE-BEVEL); - g.drawLine(0, SIZE-BEVEL, 0, BEVEL); - } - } - - public void paint(Graphics _g) { - Graphics2D g = (Graphics2D)_g; - g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); - g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); - g.setStroke(new BasicStroke((float)0.5)); - g.translate(10, 0); - g.scale(1, -1); - g.translate(5, -1 * getHeight() + 10); - g.scale(scale,scale); - for(Cell c : cells) { - AffineTransform t = g.getTransform(); - g.translate( c._x * SIZE/* + (10 * (c._x/4))*/, c._y * SIZE/* + (10 * (c._y/4))*/); - c.g = g; - c.draw(); - c.g = null; - g.setTransform(t); - } - } - - double scale = 1.0; - - public void clear() { - Graphics2D g = (Graphics2D)getGraphics(); - //g.setColor(Color.black); - //g.setColor(Color.lightGray); - g.clearRect(0, 0, getWidth(), getHeight()); - } - - public void keyTyped(KeyEvent k) { - } - public void keyReleased(KeyEvent k) { - } - public void keyPressed(KeyEvent keyevent) { - char c = keyevent.getKeyChar(); - switch(c) { - case '+': scale += 0.1; clear(); paint(getGraphics()); return; - case '-': scale -= 0.1; clear(); paint(getGraphics()); return; - } - } - -} diff --git a/src/edu/berkeley/obits/device/atmel/At40k.java b/src/edu/berkeley/obits/device/atmel/At40k.java index 828ad3e..5398ec3 100644 --- a/src/edu/berkeley/obits/device/atmel/At40k.java +++ b/src/edu/berkeley/obits/device/atmel/At40k.java @@ -282,12 +282,15 @@ public class At40k { case TMUX_Z: throw new Error("not implemented, but should be possible"); case TMUX_W_AND_Z: result = 0x20; break; - case TMUX_FB: result = 0x04; break; /* I think this is actually W_AND_FB, sadly */ + case TMUX_FB: result = 0x34; break; /* I think this is actually W_AND_FB, sadly */ case TMUX_W_AND_FB: result = 0x14; break; case TMUX_W: result = 0x00; break; } dev.mode4(1, row, col, result, 0x34); } + public int t() { + return dev.mode4(1, row, col) & 0x34; + } public void t(boolean ignore_z_and_fb, boolean zm_drives_fb, boolean fb_drives_wm) { // still not totally satisfied... // how to we distinguish between z&w vs z or w&fb vs fb? ==> you can't! this is a false connection in my diagram @@ -297,31 +300,64 @@ public class At40k { // ZM->FB = 0x04 // FB->WM = 0x10 // WZ->WM = 0x20 - - // tff => w&z - // fff => w - // ttt => fb&w - // ftt => fb&w - // fft => fb&w - - // ttf => w&z - // ftf => w - // tft => fb&w + + // tff => w&z [0x20] + // fff => w [0x00] + // ttt => fb&w [0x34] + // ftt => fb&w [0x14] + // fft => fb&w [0x10] + + // ttf => w&z [0x24] + // ftf => w [0x04] + // tft => fb&w [0x30] if (ignore_z_and_fb) result |= 0x20; if (zm_drives_fb) result |= 0x04; if (fb_drives_wm) result |= 0x10; dev.mode4(1, row, col, result, 0x34); } - public boolean xlut_relevant() { + public boolean xlut_relevant() { return xlut_relevant(true); } + public boolean xlut_relevant(boolean recurse) { if ((c()==XLUT || c()==ZMUX) && c_relevant()) return true; if (xo()) return false; - if (nw() != null && nw().xi()==SE) return true; - if (ne() != null && ne().xi()==SW) return true; - if (sw() != null && sw().xi()==NE) return true; - if (se() != null && se().xi()==NW) return true; + if (nw() != null && nw().xi()==SE && nw().xi_relevant() && (recurse || nw().xlut_relevant())) return true; + if (ne() != null && ne().xi()==SW && ne().xi_relevant() && (recurse || ne().xlut_relevant())) return true; + if (sw() != null && sw().xi()==NE && sw().xi_relevant() && (recurse || sw().xlut_relevant())) return true; + if (se() != null && se().xi()==NW && se().xi_relevant() && (recurse || se().xlut_relevant())) return true; return false; } + public boolean xi_to_ylut_relevant() { + int lut = ylut(); + if (((lut & 0xcc) >> 2) == (lut & 0x33)) return false; + return true; + } + public boolean yi_to_xlut_relevant() { + int lut = xlut(); + if (((lut & 0xcc) >> 2) == (lut & 0x33)) return false; + return true; + } + public boolean xi_relevant() { return xi_to_xlut_relevant() || xi_to_ylut_relevant(); } + public boolean yi_relevant() { return yi_to_xlut_relevant() || yi_to_ylut_relevant(); } + public boolean zi_to_xlut_relevant() { + int lut = xlut(); + if (((lut & LUT_Z) >> 4) == (lut & LUT_Z)) return false; + return true; + } + public boolean zi_to_ylut_relevant() { + int lut = ylut(); + if (((lut & LUT_Z) >> 4) == (lut & LUT_Z)) return false; + return true; + } + public boolean xi_to_xlut_relevant() { + int lut = xlut(); + if (((lut & LUT_SELF) >> 1) == (lut & (LUT_SELF >> 1))) return false; + return true; + } + public boolean yi_to_ylut_relevant() { + int lut = ylut(); + if (((lut & LUT_SELF) >> 1) == (lut & (LUT_SELF >> 1))) return false; + return true; + } public boolean ylut_relevant() { if ((c()==YLUT || c()==ZMUX) && c_relevant()) return true; if (yo()) return false; @@ -339,6 +375,37 @@ public class At40k { return false; } + public boolean register_relevant() { + if (!c_relevant() && !fb_relevant()) return false; + if (f() && out_relevant()) return true; + if (f() && fb_relevant()) return true; + if (b() && xo()) return true; + if (b() && yo()) return true; + return false; + } + public boolean out_relevant() { + boolean out = false; + boolean connect = false; + for(int i=0; i<4; i++) { + if (out(L0+i)) out = true; + if (hx(L0+i)) connect = true; + if (vx(L0+i)) connect = true; + } + return out && connect; + } + public boolean fb_relevant() { + //if (!c_relevant()) return false; + if (!(zi_to_xlut_relevant() && xlut_relevant()) || + !(zi_to_ylut_relevant() && ylut_relevant())) return false; + switch(t()) { + case 0x34: return true; + case 0x14: return true; + case 0x10: return true; + case 0x30: return true; + } + return false; + } + public void c(int source) { switch(source) { case XLUT: dev.mode4(1, row, col, 0x00, 0xc0); break; @@ -348,12 +415,13 @@ public class At40k { } } public int c() { - switch (dev.mode4(1, row, col) >> 6) { + int cval = dev.mode4(1, row, col) & 0xc0; + switch (cval) { case 0x00: return XLUT; - case 0x01: return YLUT; - case 0x02: return ZMUX; + case 0x40: return YLUT; + case 0x80: return ZMUX; } - throw new Error(); + throw new Error("c() => " + cval); } public void b(boolean registered) { dev.mode4(1, row, col, 3, !registered); } public void f(boolean registered) { dev.mode4(1, row, col, 2, !registered); } @@ -361,10 +429,10 @@ public class At40k { public boolean yo() { return (dev.mode4(1, row, col) & 0x02) != 0; } public void xo(boolean center) { dev.mode4(1, row, col, 1, center); } public void yo(boolean center) { dev.mode4(1, row, col, 0, center); } - public boolean b() { return (dev.mode4(1, row, col) >> 3)!=1; } - public boolean f() { return (dev.mode4(1, row, col) >> 2)!=1; } - public boolean x() { return (dev.mode4(1, row, col) >> 1)==1; } - public boolean y() { return (dev.mode4(1, row, col) >> 0)==1; } + public boolean b() { return (dev.mode4(1, row, col) & (1 << 3)) == 0; } + public boolean f() { return (dev.mode4(1, row, col) & (1 << 2)) == 0; } + public boolean x() { return (dev.mode4(1, row, col) & (1 << 1)) != 0; } + public boolean y() { return (dev.mode4(1, row, col) & (1 << 0)) != 0; } public int oe() { switch (dev.mode4(0x02, row, col) & 0x3) { @@ -458,13 +526,14 @@ public class At40k { } public int wi() { - int who = dev.mode4(0x03, row, col) & 0xff; + int who = dev.mode4(0x03, row, col) & 0xEC; switch(who) { case (1<<5): return L4; case (1<<6): return L3; case (1<<7): return L2; case (1<<3): return L1; case (1<<2): return L0; + case (1<<0): return NONE; /* huh? */ case (0): return NONE; default: throw new RuntimeException("invalid argument: " + who); } @@ -482,14 +551,15 @@ public class At40k { } public int zi() { - switch(dev.mode4(0x02, row, col) & 0xff) { + switch(dev.mode4(0x02, row, col) & 0xDB) { case (1<<7): return L4; case (1<<5): return L3; case (1<<4): return L2; case (1<<3): return L1; case (1<<2): return L0; + case (1<<0): return NONE; /* huh? */ case 0: return NONE; - default: throw new RuntimeException("invalid argument"); + default: throw new RuntimeException("invalid argument: zi=="+(dev.mode4(0x02, row, col) & 0xDB)); } } diff --git a/src/edu/berkeley/obits/gui/G.java b/src/edu/berkeley/obits/gui/G.java new file mode 100644 index 0000000..095b958 --- /dev/null +++ b/src/edu/berkeley/obits/gui/G.java @@ -0,0 +1,41 @@ +package edu.berkeley.obits.gui; + +import static edu.berkeley.obits.device.atmel.AtmelDevice.Constants.*; +import static edu.berkeley.obits.device.atmel.AtmelDevice.Util.*; +import edu.berkeley.obits.*; +import edu.berkeley.obits.device.atmel.*; +import java.awt.*; +import java.awt.geom.*; +import java.awt.event.*; +import java.awt.color.*; +import org.ibex.util.*; +import java.io.*; +import java.util.*; +import javax.swing.*; + +/** Graphics */ +public class G { + + public final Graphics2D g; + + public G(Graphics2D g) { this.g = g; } + public G(Graphics g) { this((Graphics2D)g); } + + public void line(Point2D p1, Point2D p2) { line(new P(p1), new P(p2)); } + + public void line(P p1, P p2) { line(p1.x, p1.y, p2.x, p2.y); } + public void line(double x, double y, P p2) { line(x, y, p2.x, p2.y); } + public void line(P p1, double x, double y) { line(p1.x, p1.y, x, y); } + public void line(double x1, double y1, double x2, double y2) { + g.draw(new Line2D.Double(x1, y1, x2, y2)); + } + + public void color(Color c) { g.setColor(c); } + public void color(int color) { + g.setColor(new Color((color >> 16) & 0xff, + (color >> 8) & 0xff, + (color >> 0) & 0xff + )); + } + +} diff --git a/src/edu/berkeley/obits/gui/Gui.java b/src/edu/berkeley/obits/gui/Gui.java new file mode 100644 index 0000000..e3ba3d8 --- /dev/null +++ b/src/edu/berkeley/obits/gui/Gui.java @@ -0,0 +1,596 @@ +package edu.berkeley.obits.gui; + +import static edu.berkeley.obits.device.atmel.AtmelDevice.Constants.*; +import static edu.berkeley.obits.device.atmel.AtmelDevice.Util.*; +import edu.berkeley.obits.*; +import edu.berkeley.obits.device.atmel.*; +import java.awt.*; +import java.awt.geom.*; +import java.awt.event.*; +import java.awt.color.*; +import org.ibex.util.*; +import java.io.*; +import java.util.*; +import javax.swing.*; + +public class Gui extends ZoomingPanel implements KeyListener, MouseMotionListener { + + Graphics2D g; + G gg; + + public static int SIZE = 92; + public static int RINGS = 3; + public static int BEVEL = 5; + public static int CORE_SIZE = 64; + public static int CORE_OFFSET = 10; + public static int HOFF = 52; + + public static int RED = 0xff0000; + public static int BLUE = 0x0000ff; + + public static final P YLUT_OUTPUT_POINT = new P(SIZE-CORE_OFFSET-CORE_SIZE+51 - 2, CORE_OFFSET + 41 - 3); + public static final P XLUT_OUTPUT_POINT = new P(SIZE-CORE_OFFSET-CORE_SIZE+17 - 2, CORE_OFFSET + 41 - 3); + + At40k at40k; + + private HashSet cells = new HashSet(); + private Cell[][] ca = new Cell[128][]; + + public static final Color nonselectedcell = new Color(0xcc, 0xcc, 0xcc); + public static final Color selectedcell = new Color(0x44, 0x44, 0xff); + + public Gui(At40k at40k) { + this.at40k = at40k; + for(int i=0; i= L0 && plane <= L4 && cell.hx(plane)) { + P p1 = new P(38, 18); + p1 = rotateInner(p1); + if (cell.zi_to_xlut_relevant() && cell.xlut_relevant()) + route(new P(84, 84 - 2*(plane-L0)), p1, 3); + p1 = new P(64, 18); + p1 = rotateInner(p1); + if (cell.zi_to_ylut_relevant() && cell.ylut_relevant()) + route(new P(84, 84 - 2*(plane-L0)), p1, 3); + } + plane = cell.wi(); + if (plane >= L0 && plane <= L4 && cell.hx(plane)) { + P p1 = new P(38, 18); + p1 = rotateInner(p1); + if (cell.zi_to_xlut_relevant() && cell.xlut_relevant()) + route(new P(84, 84 - 2*(plane-L0)), p1, 3); + p1 = rotateInner(new P(64, 18)); + if (cell.zi_to_ylut_relevant() && cell.ylut_relevant()) + route(new P(84, 84 - 2*(plane-L0)), p1, 3); + } + } + public void drawVwires() { + gg.color(Color.magenta); + for(int i=0; i<5; i++) + if (cell.vwire(i).isDriven()) + gg.line(2*(1+RINGS)+2*i, 0, 2*(1+RINGS)+2*i, SIZE); + int plane = cell.zi(); + if (plane >= L0 && plane <= L4 && cell.vx(plane)) { + P p1 = new P(38, 18); + p1 = rotateInner(p1); + if (cell.zi_to_xlut_relevant() && cell.xlut_relevant()) + route(new P(17 - 2*(plane-L0), 8), p1, 3); + p1 = new P(64, 18); + p1 = rotateInner(p1); + if (cell.zi_to_ylut_relevant() && cell.ylut_relevant()) + route(new P(17 - 2*(plane-L0), 8), p1, 3); + } + plane = cell.wi(); + if (plane >= L0 && plane <= L4 && cell.vx(plane)) { + P p1 = new P(38, 18); + p1 = rotateInner(p1); + if (cell.zi_to_xlut_relevant() && cell.xlut_relevant()) + route(new P(17 - 2*(plane-L0), 8), p1, 3); + p1 = new P(64, 18); + p1 = rotateInner(p1); + if (cell.zi_to_ylut_relevant() && cell.ylut_relevant()) + route(new P(17 - 2*(plane-L0), 8), p1, 3); + } + } + public void drawInternalRouting() { + gg.color(new Color(0, 107, 51)); + if (cell.fb_relevant()) { + if (cell.f()) { + gg.line(51, 74, 37, 74); + gg.line(37, 74, 50, 12); + } else if (cell.c() == XLUT) { + gg.line(32, 52, 50, 52); + gg.line(50, 52, 50, 12); + } else if (cell.c() == YLUT) { + gg.line(68, 52, 50, 52); + gg.line(50, 52, 50, 12); + } else { + gg.line(50, 56, 41, 56); + gg.line(41, 56, 50, 12); + } + if (cell.xlut_relevant()) { + gg.line(52, 12, XLUT_OUTPUT_POINT.getX(), 12); + gg.line(XLUT_OUTPUT_POINT.getX(), 12, XLUT_OUTPUT_POINT.getX(), 32); + } + if (cell.ylut_relevant()) { + gg.line(52, 12, YLUT_OUTPUT_POINT.getX(), 12); + gg.line(YLUT_OUTPUT_POINT.getX(), 12, YLUT_OUTPUT_POINT.getX(), 32); + } + } + } + + public void drawLocal() { + if (!cell.ylut_relevant() && !cell.xlut_relevant()) return; + P in = new P(HOFF, 0); + P join = new P(HOFF, CORE_OFFSET); + in = rotateOuter(in); + join = rotateInner(join); + int rot = rot(); + switch(rot) { + case 0: case 2: + join = new P(in.getX(), join.getY()); + break; + case 1: case 3: + join = new P(join.getX(), in.getY()); + break; + } + + P xi = null; + P xi2 = null; + gg.color(new Color(0xff, 0x00, 0x00)); + int xring = 4; + if (cell.xi_relevant() && cell.xlut_relevant()) + switch(cell.xi()) { + case NW: + xi = new P(0+2*xring, SIZE-2*xring); + xi2 = new P(-BEVEL, SIZE+BEVEL); + xi = translate(xi, 0, -3); + xi2 = translate(xi2, 0, -3); + gg.line(xi2, xi); + break; + + case SW: + xi = new P(0+2*xring, 0+2*xring); + xi2 = new P(-BEVEL, -BEVEL); + xi = translate(xi, 0, 3); + xi2 = translate(xi2, 0, 3); + gg.line(xi2, xi); + break; + + case NE: + xi = new P(SIZE-2*xring, SIZE-2*xring); + xi2 = new P(SIZE+BEVEL, SIZE+BEVEL); + xi = translate(xi, 0, -3); + xi2 = translate(xi2, 0, -3); + gg.line(xi2, xi); + break; + + case SE: + xi = new P(SIZE-2*xring, 0+2*xring); + xi2 = new P(SIZE+BEVEL, -BEVEL); + xi = translate(xi, 0, 3); + xi2 = translate(xi2, 0, 3); + gg.line(xi2, xi); + break; + } + + if (cell.xlut_relevant()) { + P c; + gg.color(BLUE); + if (cell.yi_to_xlut_relevant()) + route(in, rotateInner(new P(SIZE - CORE_OFFSET - CORE_SIZE/2 - CORE_SIZE / 6, 20)), 5); + + gg.color(RED); + if (cell.xi_to_xlut_relevant() && xi != null) + route(xi, rotateInner(new P(SIZE - CORE_OFFSET - CORE_SIZE/2 - CORE_SIZE / 3, 20)), 4); + + P xo = XLUT_OUTPUT_POINT; + P xout = new P(SIZE-CORE_OFFSET-CORE_SIZE+17 - 2, CORE_OFFSET + CORE_SIZE - 3); + xo = rotateInner(xo); + xout = rotateInner(xout); + gg.color(new Color(0xff, 0xcc, 0xcc)); + xring = 6; + if (cell.ne() != null && cell.ne().xi()==SW && cell.ne().xi_relevant() && cell.ne().xlut_relevant()) { + gg.line(xo, xout); + P xoo = new P(SIZE-2*xring, SIZE-2*xring); + P xoo2 = new P(SIZE, SIZE); + xoo = translate(xoo, -3, 0); + xoo2 = translate(xoo2, -3, 0); + gg.line(xoo2, xoo); + route(xout, xoo, xring); + } + if (cell.nw() != null && cell.nw().xi()==SE && cell.nw().xi_relevant() && cell.nw().xlut_relevant()) { + gg.line(xo, xout); + P xoo = new P(0+2*xring, SIZE-2*xring); + P xoo2 = new P(0, SIZE); + xoo = translate(xoo, 3, 0); + xoo2 = translate(xoo2, 3, 0); + gg.line(xoo2, xoo); + route(xout, xoo, xring); + } + if (cell.se() != null && cell.se().xi()==NW && cell.se().xi_relevant() && cell.se().xlut_relevant()) { + gg.line(xo, xout); + P xoo = new P(SIZE-2*xring, 0+2*xring); + P xoo2 = new P(SIZE, 0); + xoo = translate(xoo, -3, 0); + xoo2 = translate(xoo2, -3, 0); + gg.line(xoo2, xoo); + route(xout, xoo, xring); + } + if (cell.sw() != null && cell.sw().xi()==NE && cell.sw().xi_relevant() && cell.sw().xlut_relevant()) { + gg.line(xo, xout); + P xoo = new P(0+2*xring, 0+2*xring); + P xoo2 = new P(0, 0); + xoo = translate(xoo, 3, 0); + xoo2 = translate(xoo2, 3, 0); + gg.line(xoo2, xoo); + route(xout, xoo, xring); + } + } + + if (cell.ylut_relevant()) { + gg.color(new Color(0x00, 0x00, 0xff)); + P c; + if (cell.yi_to_ylut_relevant()) { + c = new P(SIZE - CORE_OFFSET - CORE_SIZE/2 + CORE_SIZE / 6, 20); + c = rotateInner(c); + route(in, c, 5); + } + gg.color(new Color(0xff, 0x00, 0x00)); + if (cell.xi_to_ylut_relevant()) { + c = rotateInner(new P(SIZE - CORE_OFFSET - CORE_SIZE/2 + CORE_SIZE / 3, 20)); + if (xi != null) + route(xi, c, 4); + } + + P yo = rotateInner(YLUT_OUTPUT_POINT); + P yout = rotateInner(new P(SIZE-CORE_OFFSET-CORE_SIZE+51 - 2, CORE_OFFSET + CORE_SIZE - 3)); + gg.color(0xbbbbff); + if (cell.north() != null && cell.north().yi()==SOUTH && cell.north().yi_relevant() && cell.north().ylut_relevant()) { + gg.line(yo, yout); + route(yout, new P(SIZE-40, SIZE+ 0), 2); + } + if (cell.east() != null && cell.east().yi()==WEST && cell.east().yi_relevant() && cell.east().ylut_relevant()) { + gg.line(yo, yout); + route(yout, new P(SIZE+ 0, 40), 2); + } + if (cell.south() != null && cell.south().yi()==NORTH && cell.south().yi_relevant() && cell.south().ylut_relevant()) { + gg.line(yo, yout); + route(yout, new P( 40, 0), 2); + } + if (cell.west() != null && cell.west().yi()==EAST && cell.west().yi_relevant() && cell.west().ylut_relevant()) { + gg.line(yo, yout); + route(yout, new P( 0, SIZE-40), 2); + } + } + + } + + + private AffineTransform rotateOuterTransform() { + int rot = rot(); + AffineTransform a = new AffineTransform(); + a.rotate((Math.PI/2) * rot); + switch(rot) { + case 0: break; + case 1: a.translate(0, -SIZE); break; + case 2: a.translate(-SIZE, -SIZE); break; + case 3: a.translate(-SIZE, 0); break; + } + return a; + } + + private P rotateOuter(P p) { return p.transform(rotateOuterTransform()); } + private P rotateInner(P p) { return p.transform(rotateInnerTransform()); } + + private AffineTransform rotateInnerTransform() { + int rot = rot(); + AffineTransform a = new AffineTransform(); + a.translate(SIZE-CORE_SIZE-CORE_OFFSET, CORE_OFFSET); + a.rotate((Math.PI/2) * rot); + switch(rot) { + case 0: break; + case 1: a.translate(0, -CORE_SIZE); break; + case 2: a.translate(-CORE_SIZE, -CORE_SIZE); break; + case 3: a.translate(-CORE_SIZE, 0); break; + } + a.translate(-1 * (SIZE-CORE_SIZE-CORE_OFFSET), -CORE_OFFSET); + return a; + } + + + private P project(P p1, int ring) { + double north = Math.abs( (SIZE-(ring*2)) - p1.getY() ); + double south = Math.abs( ( (ring*2)) - p1.getY() ); + double east = Math.abs( (SIZE-(ring*2)) - p1.getX() ); + double west = Math.abs( ( (ring*2)) - p1.getX() ); + if (north < south && north < east && north < west) return new P(p1.x, SIZE-ring*2); + else if (south < east && south < west) return new P(p1.x, ring*2); + else if (east < west) return new P(SIZE-ring*2, p1.y); + else return new P(ring*2, p1.y); + + } + + private void route(P p1, P p2, int ring) { + int ringpos = ring * 2; + P projected = project(p1, ring); + gg.line(p1, projected); + p1 = projected; + + projected = project(p2, ring); + gg.line(p2, projected); + p2 = projected; + + double x1 = p1.getX(); + double y1 = p1.getY(); + double x2 = p2.getX(); + double y2 = p2.getY(); + + if (x1==x2 || y1==y2) { + gg.line(p1, p2); + return; + } + + if ((x1==SIZE-ring*2 || x1==ring*2) && !(y1==SIZE-ring*2 || y1==ring*2)) { + P p3 = new P(x1, y2 > SIZE/2 ? SIZE-ring*2 : ring*2); + gg.line(p1, p3); + route(p3, p2, ring); + } else if ((y1==SIZE-ring*2 || y1==ring*2) && !(x1==SIZE-ring*2 || x1==ring*2)) { + P p3 = new P(x2 > SIZE/2 ? SIZE-ring*2 : ring*2, y1); + gg.line(p1, p3); + route(p3, p2, ring); + } else + route(p2, p1, ring); + + } + + private int rot() { + int rot = 0; + switch(cell.yi()) { + case SOUTH: rot = 0; break; + case NORTH: rot = 2; break; + case EAST: rot = 1; break; + case WEST: rot = 3; break; + default: { + // FIXME: choose based on xin + if (cell.north() != null && cell.north().yi()==SOUTH) { rot = 0; break; } + if (cell.south() != null && cell.south().yi()==NORTH) { rot = 2; break; } + if (cell.east() != null && cell.east().yi()==WEST) { rot = 3; break; } + if (cell.west() != null && cell.west().yi()==EAST) { rot = 1; break; } + } + } + return rot; + } + + public void drawGates() { + AffineTransform t = g.getTransform(); + try { + g.translate(SIZE-CORE_SIZE-CORE_OFFSET, CORE_OFFSET); + + int rot = rot(); + g.rotate((Math.PI/2) * rot); + switch(rot) { + case 0: break; + case 1: g.translate(0, -CORE_SIZE); break; + case 2: g.translate(-CORE_SIZE, -CORE_SIZE); break; + case 3: g.translate(-CORE_SIZE, 0); break; + } + + //gg.color(Color.gray); + //g.drawRect(0, 0, CORE_SIZE, CORE_SIZE); + g.scale(1, -1); + + GeneralPath p = new GeneralPath(); + p.moveTo(29.141f, 36.301f); + p.lineTo(29.141f, 36.301f-7.161f); + p.curveTo(27.71f, 11.24f, 23.413f, 9.45f, 14.82f, 0.5f); + p.curveTo(6.229f, 9.45f, 1.932f, 11.24f, 0.5f, 29.141f); + p.lineTo(0.5f, 29.141f+7.161f); + float x = 0.5f; + float y = 29.141f+7.161f; + p.curveTo(5.729f+x, -1.789f+y, + 6.444f+x, -2.686f+y, + 14.32f+x, -3.58f+y); + p.curveTo(22.697f, 33.616f, 23.413f, 34.512f, 29.141f, 36.301f); + g.translate(0, -40f); + if (cell.xlut_relevant()) { + gg.color(Color.white); + g.fill(p); + gg.color(Color.red); + g.draw(p); + } + g.translate(34f, 0f); + if (cell.ylut_relevant()) { + gg.color(Color.white); + g.fill(p); + gg.color(Color.blue); + g.draw(p); + } + } finally { + g.setTransform(t); + } + } + public void drawMux() { + if (!cell.c_relevant()) return; + gg.color(Color.black); + if (cell.xlut_relevant() && (cell.c() == ZMUX || cell.c() == XLUT)) { + gg.color(new Color(0xff, 0xbb, 0xbb)); + gg.line(XLUT_OUTPUT_POINT, new P(XLUT_OUTPUT_POINT.getX(), 52)); + gg.line(new P(XLUT_OUTPUT_POINT.getX(), 52), new P(51, 52)); + } + if (cell.ylut_relevant() && (cell.c() == ZMUX || cell.c() == YLUT)) { + gg.color(new Color(0xbb, 0xbb, 0xff)); + gg.line(YLUT_OUTPUT_POINT, new P(YLUT_OUTPUT_POINT.getX(), 52)); + gg.line(new P(YLUT_OUTPUT_POINT.getX(), 52), new P(51, 52)); + } + gg.line(51, 52, 51, 51+25); + if (cell.c() == ZMUX) { + gg.color(Color.black); + gg.line(51, 52, 51, 51+25); + gg.line(46, 54, 46+2, 54+5); + gg.line(46+2, 54+5, 60-2, 54+5); + gg.line(60-2, 54+5, 60, 54); + gg.line(60, 54, 46, 54); + } + } + public void drawRegister() { + if (!cell.register_relevant()) return; + gg.color(Color.white); + g.fillRect(48, 58, 10, 14); + gg.color(Color.black); + g.drawRect(48, 58, 10, 14); + gg.line(57, 70, 54, 68); + gg.line(54, 68, 57, 66); + } + public void drawBorder() { + gg.color(Color.gray); + //gg.line(0, BEVEL, BEVEL, 0); + gg.line(BEVEL, 0, SIZE-BEVEL, 0); + //gg.line(SIZE-BEVEL, 0, SIZE, BEVEL); + gg.line(SIZE, BEVEL, SIZE, SIZE-BEVEL); + //gg.line(SIZE, SIZE-BEVEL, SIZE-BEVEL, SIZE); + gg.line(SIZE-BEVEL, SIZE, BEVEL, SIZE); + //gg.line(BEVEL, SIZE, 0, SIZE-BEVEL); + gg.line(0, SIZE-BEVEL, 0, BEVEL); + } + } + + public void _paint(Graphics2D g) { + + this.g = g; + this.gg = new G(g); + g.setStroke(new BasicStroke((float)0.5)); + + g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); + + AffineTransform t = g.getTransform(); + for(Cell c : cells) { + g.setTransform(t); + g.translate( c._x * SIZE/* + (10 * (c._x/4))*/, c._y * SIZE/* + (10 * (c._y/4))*/); + c.draw(); + } + g.setTransform(t); + + g.setTransform(new AffineTransform()); + + gg.color(selectedcell); + g.fillRect(getWidth() - 200, 0, 200, 100); + gg.color(Color.white); + g.drawRect(getWidth() - 200, 0, 200, 100); + + Cell newcell = whichCell(mousex, mousey); + int line = 10; + if (newcell != null && newcell.cell != null) { + g.drawString("selected: " + newcell._x + ","+newcell._y, + getWidth() - 200 + 10, (line += 15)); + g.drawString(" xlut: " + AtmelSerial.bin8(newcell.cell.xlut()), + getWidth() - 200 + 10, (line += 15)); + g.drawString(" ylut: " + AtmelSerial.bin8(newcell.cell.ylut()), + getWidth() - 200 + 10, (line += 15)); + String xi = "??"; + switch(newcell.cell.xi()) { + case NW : xi = "NW"; break; + case NE : xi = "NE"; break; + case SW : xi = "SW"; break; + case SE : xi = "SE"; break; + } + g.drawString(" xi: " + xi, getWidth() - 200 + 10, (line += 15)); + String yi = "??"; + switch(newcell.cell.yi()) { + case NORTH : yi = "NORTH"; break; + case SOUTH : yi = "SOUTH"; break; + case EAST : yi = "EAST"; break; + case WEST : yi = "WEST"; break; + } + g.drawString(" yi: " + yi, getWidth() - 200 + 10, (line += 15)); + } + this.g = null; + this.gg = null; + } + + + public void clear() { + Graphics2D g = (Graphics2D)getGraphics(); + //gg.color(Color.black); + //gg.color(Color.lightGray); + g.clearRect(0, 0, getWidth(), getHeight()); + } + + public static final P translate(P p, int dx, int dy) { + return new P(p.getX()+dx, p.getY()+dy); + } + + public Cell whichCell(int x, int y) { + P p = new P(x,y); + try { + p = p.inverseTransform(transform); + } catch (Exception e) { + e.printStackTrace(); + } + int col = ((int)p.getX()) / (SIZE + BEVEL); + int row = ((int)p.getY()) / (SIZE + BEVEL); + for(Cell c : cells) + if (c._x == col && c._y == row) + return c; + return null; + } +} diff --git a/src/edu/berkeley/obits/gui/P.java b/src/edu/berkeley/obits/gui/P.java new file mode 100644 index 0000000..3adac06 --- /dev/null +++ b/src/edu/berkeley/obits/gui/P.java @@ -0,0 +1,40 @@ +package edu.berkeley.obits.gui; + +import static edu.berkeley.obits.device.atmel.AtmelDevice.Constants.*; +import static edu.berkeley.obits.device.atmel.AtmelDevice.Util.*; +import edu.berkeley.obits.*; +import edu.berkeley.obits.device.atmel.*; +import java.awt.*; +import java.awt.geom.*; +import java.awt.event.*; +import java.awt.color.*; +import org.ibex.util.*; +import java.io.*; +import java.util.*; +import javax.swing.*; + +/** a point, since Java2D's Point2D class sucks rocks */ +public class P { + + public final double x; + public final double y; + + public P(double x, double y) { this.x = x; this.y = y; } + public P(Point2D p) { this(p.getX(), p.getY()); } + public double getX() { return x; } + public double getY() { return y; } + + public P transform(AffineTransform a) { + Point2D me = new Point2D.Double(x, y); + return new P(a.transform(me, me)); + } + public P inverseTransform(AffineTransform a) { + try { + Point2D me = new Point2D.Double(x, y); + return new P(a.inverseTransform(me, me)); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + +} diff --git a/src/edu/berkeley/obits/gui/ZoomingPanel.java b/src/edu/berkeley/obits/gui/ZoomingPanel.java new file mode 100644 index 0000000..a36bbcb --- /dev/null +++ b/src/edu/berkeley/obits/gui/ZoomingPanel.java @@ -0,0 +1,146 @@ +package edu.berkeley.obits.gui; + +import static edu.berkeley.obits.device.atmel.AtmelDevice.Constants.*; +import static edu.berkeley.obits.device.atmel.AtmelDevice.Util.*; +import edu.berkeley.obits.*; +import edu.berkeley.obits.device.atmel.*; +import java.awt.*; +import java.awt.geom.*; +import java.awt.event.*; +import java.awt.color.*; +import org.ibex.util.*; +import java.io.*; +import java.util.*; +import javax.swing.*; + +public abstract class ZoomingPanel extends JComponent implements KeyListener, MouseMotionListener { + + double scale = 1.0; + double oscale = 1.0; + public int dragx = 0; + public int dragy = 0; + public boolean drag = false; + protected int mousex; + protected int mousey; + protected AffineTransform transform = new AffineTransform(); + private Point2D recenter; + private Point2D recenter2; + + public ZoomingPanel() { + setDoubleBuffered(true); + addKeyListener(this); + addMouseMotionListener(this); + } + + public abstract void _paint(Graphics2D g); + + public final void paint(Graphics _g) { + Graphics2D g = (Graphics2D)_g; + g.scale(scale,scale); + g.translate(10, 0); + g.scale(1, -1); + g.translate(5, -1 * getHeight() + 10); + + transform = g.getTransform(); + + Point2D p = new Point2D.Float(); + if (recenter != null) { + transform.transform(recenter, p); + transform.preConcatenate(AffineTransform.getTranslateInstance(dragx - p.getX(), + dragy - p.getY())); + } + g.setTransform(transform); + + if (drag) { + g.setColor(Color.blue); + g.drawLine((int)(recenter.getX() - 10), + (int)(recenter.getY() - 10), + (int)(recenter.getX() + 10), + (int)(recenter.getY() + 10)); + g.drawLine((int)(recenter.getX() + 10), + (int)(recenter.getY() - 10), + (int)(recenter.getX() - 10), + (int)(recenter.getY() + 10)); + } + _paint(g); + } + + + public void keyTyped(KeyEvent k) { + } + public void keyReleased(KeyEvent k) { + if (k.getKeyCode() == k.VK_ALT) { + if (drag) { + drag = false; + oscale = scale; + repaint(); + } + } + } + public void keyPressed(KeyEvent k) { + if (k.getKeyCode() == k.VK_ALT) { + drag = true; + dragx = mousex; + dragy = mousey; + recenter = new Point2D.Float(dragx, dragy); + try { + transform.inverseTransform(recenter, recenter); + } catch (Exception e) { + e.printStackTrace(); + } + } + char c = k.getKeyChar(); + switch(c) { + case '+': scale += 0.1; repaint(); return; + case '-': scale -= 0.1; repaint(); return; + case 'z': scale = 1.0; recenter = null; repaint(); return; + } + } + public void mouseMoved(MouseEvent m) { + /* + Cell oldcell = whichCell(mousex, mousey); + Cell newcell = whichCell(m.getX(), m.getY()); + System.out.println((oldcell==null ? "old=null" : ("old=" + oldcell._x+","+oldcell._y+" "))+ + (newcell==null ? "new=null" : ("new=" + newcell._x+","+newcell._y+" "))); + if (oldcell != newcell) { + if (oldcell != null) oldcell.in = false; + if (newcell != null) newcell.in = true; + repaint(); + } + */ + mousex = m.getX(); + mousey = m.getY(); + if (drag) { + if (mousey > dragy + 5) { + scale = 1 / ((1 / oscale) + ((mousey - dragy) / 50.0)); + } else if (mousey < dragy - 5) { + scale = oscale + ((dragy - mousey) / 50.0); + } else { + scale = oscale; + } + repaint(); + } + } + + + public boolean isFocusable() { return true; } + + public void mouseDragged(MouseEvent m) { + mouseMoved(m); + dragx = m.getX(); + dragy = m.getY(); + } + public void mousePressed(MouseEvent m) { + recenter = new Point2D.Float(m.getX(), m.getY()); + try { + transform.transform(recenter, recenter); + } catch (Exception e) { + e.printStackTrace(); + } + repaint(); + } + public void mouseEntered(MouseEvent e) { } + public void mouseExited(MouseEvent e) { } + public void mouseClicked(MouseEvent e) { } + public void mouseReleased(MouseEvent e) { } +} -- 1.7.10.4