X-Git-Url: http://git.megacz.com/?p=eltron.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fcs%2Fobits%2Fdevice%2Fatmel%2FAtmelDevice.java;fp=src%2Fedu%2Fberkeley%2Fcs%2Fobits%2Fdevice%2Fatmel%2FAtmelDevice.java;h=0000000000000000000000000000000000000000;hp=42425cf83ac011e4a61df2742aea2e382abf9f39;hb=0178b34d5fde3c1cfbc18ae48ec1798b28a1af21;hpb=1d9331b6f051b7aca130f39b7d9fec6332447d81 diff --git a/src/edu/berkeley/cs/obits/device/atmel/AtmelDevice.java b/src/edu/berkeley/cs/obits/device/atmel/AtmelDevice.java deleted file mode 100644 index 42425cf..0000000 --- a/src/edu/berkeley/cs/obits/device/atmel/AtmelDevice.java +++ /dev/null @@ -1,247 +0,0 @@ -package edu.berkeley.cs.obits.device.atmel; - -import edu.berkeley.cs.obits.*; -//import static edu.berkeley.cs.obits.device.atmel.Wires.*; -import java.util.*; - -public abstract class AtmelDevice extends Bits implements Device { - - /** issue a command to the device in Mode4 format; see Gosset's documentation for further details */ - public abstract void mode4(int z, int y, int x, int d) throws DeviceException; - /* - public Sector sector(int col, int row) { return new Sector(col, row); } - public final class Sector { - public final int col; - public final int row; - public Sector(int col, int row) { - if (row % 4 != 0) throw new Error("Sector must be created with a multiple-of-4 row"); - if (col % 4 != 0) throw new Error("Sector must be created with a multiple-of-4 col"); - this.row = row; - this.col = col; - } - } - - public static interface Driver { } - - public static interface HasPlane { public int getPlane(); } - - public static interface XI extends Driver { } - public static interface YI extends Driver { } - */ - /* - public static void foo(Direction f) { } - public static enum Direction implements Drives { N, S, E, W; } - public static enum Bar { A, B, C; } - public static Object B = new Object(); - public static Direction foo = null; - static { - switch(foo) { - case N: - case S: - case W: - } - } - - public class Drives> { } - public class EPR> { - public abstract Drives driver(); - public abstract void driver(Drives); - } - - public class Joins> { } - public abstract class Bus> { - public Set> drivers(); - } - public interface Drives { } - - - public static interface EPR { - } - public static interface Drives { } - public static interface Bus extends EPR { } - public static interface Joins> extends Bus { } - //public static interface Joins extends Bus { } - public static interface Has { - public Drives getDriver(E e); - public void setDriver(E e, Drives driver); - } - //public static interface HasBus { public Set> on(B b); } - public interface Input { } - public interface Output { } - public interface InOut { } - - public static abstract class LUT implements EPR { } - public static abstract class And implements EPR { } - public static abstract class Reg { } - public static abstract class Mux { } - public static abstract class Buf { } - - public enum DiagonalInputs implements Input, Drives { NW, SW, NE, SE; } - public enum OrthogonalInputs implements Input, Drives { N, S, E, W; } - - public , Y extends EPR> void connect(X x, Y y) { } - - public static enum Plane { P0, P1, P2, P3, P4; } - public static class L

implements Bus, Drives, Drives, Drives, Drives { } - - public final class Cell { - public class X implements EPR, Drives, Drives { } - public class Y implements EPR, Drives, Drives { } - public class Z implements EPR, Drives, Drives { } - public class F implements EPR, Drives, Drives, Drives { } - public class W implements EPR, Drives, Drives, Drives { } - public class A implements EPR { } - public class WZ extends And implements EPR, Drives, Drives { } - public class WF extends And implements EPR, Drives, Drives { } - public class CM extends Mux implements EPR, Drives { } - public class XLUT extends LUT implements EPR, Drives, Drives { } - public class YLUT extends LUT implements EPR, Drives, Drives { } - public class C implements EPR, Drives, Drives { } - public class R extends Reg implements EPR, Drives, Drives, Drives{ } - public class XO implements EPR, Output { } - public class YO implements EPR, Output { } - public static class OB extends Buf> implements EPR, Drives, Drives, Drives, Drives, Drives { } - - */ - //public static L1 L1 = new L1(); - /* - public static class CellImpl implements - Has, - Has { - public void setDriver(X x, Drives d) { } - public void setDriver(Y y, Drives d) { } - public void setDriver(Z z, Drives d) { } - public void setDriver(W w, Drives d) { } - public Drives getDriver(X x) { return null; } - public Drives getDriver(Y y) { return null; } - public Drives getDriver(Z z) { return null; } - public Drives getDriver(W w) { return null; } - - public Set> on(L1 l1) { return null; } - public Drives getDriver(Y y) { return null; } - public void setDriver(Y y, Drives d) { } - } - */ - /* - public static abstract class L implements HasPlane, EPR { - private final int plane; - L(int plane) { this.plane = plane; } - public int getPlane() { return plane; } - public boolean h(); - public void h(boolean connected); - public boolean v(); - public void v(boolean connected); - public boolean f(); - public void f(boolean connected); - } - - L0 = new L(0); - L1 = new L(1); - L2 = new L(2); - L3 = new L(3); - L4 = new L(4); - - - - public static enum L implements XI, YI { - L0(0), L1(1), L2(2), L3(3) { public int foo() { return 2; } }, L4(4); - - public final int plane; - public L(int plane) { this.plane = plane; } - - } - */ - - //public static interface L0 extends XI, YI { } public static L0 L0 = new L0() { }; - - /* - - public static enum Xi { NONE, L0, L1, L2, L3, NW, SW, NE, SE, L4; } - public static enum Yi { NONE, L0, L1, L2, L3, E, W, S, N, L4; } - public static enum Wi { NONE, L0, L1, L4, L3, L2; } - public static enum Zi { NONE, L0, L1, L2, L3, L4; } - public static enum Ti { W, Z, F, WZ, WF, ONE; } - public static enum Ci { X, Y, CMux; } - public static enum Fi { R, C; } - public static enum Bi { R, C; } - public static enum Xo { X, B; } - public static enum Yo { Y, B; } - public static enum Oe { ONE, H4, V4; } - - public Cell cell(int col, int row) { return new Cell(col, row); } - public final class Cell { - public final int col; - public final int row; - */ - /** assumes LITTLE endian */ - /* - protected int onehot(int val) { - int ret = -1; - for(int i=0; i<32; i++) { - if ((val & (1 << i)) != 0) { - if (ret != -1) throw new Error("two bits set in a one-hot encoded value"); - ret = i; - } - } - return ret+1; - } - protected int bits(int octet, int bit, int count) { - return AtmelDevice.this.bits.get(offset, count); - } - - public void set(Xi xi) { } - public void set(Yi xi) { } - public void set(Ti xi) { } - public void set(Ci xi) { } - public void set(Fi xi) { } - public void set(Bi xi) { } - public void set(Xo xo) { } - public void set(Yo yo) { } - public void set(Oe oe) { } - - public Xi xi() { return Xi.values()[onehot((bits(3,3,1)<<8)|bits(5,0,8))]; } - public Yi yi() { return Yi.values()[onehot((bits(2,1,1)<<8)|bits(4,0,8))]; } - public Wi wi() { return Wi.values()[onehot((bits(3,0,3)<<2)|bits(3,4,2))]; } - public Zi zi() { return Zi.values()[onehot((bits(2,0,1)<<4)|bits(2,2,4))]; } - public Ti ti() { return null; } - public Ci ci() { return null; } - public Fi fi() { return null; } - public Bi bi() { return null; } - public Xo xo() { return Xo.values()[onehot(bits(1,6,1))]; } - public Yo yo() { return Yo.values()[onehot(bits(1,7,1))]; } - public Oe oe() { return Oe.values()[onehot(bits(3,6,2))]; } - - public Sector getSector() { return sector(col - (col % 4), row - (row % 4)); } - public Cell(int col, int row) { - this.row = row; - this.col = col; - } - - - - - public static enum EPR { L0, L1, L2, L3, L4 } - public static enum XInputDriver extends InputDriver { - public static enum YInputDriver extends InputDriver { N, S, E, W } - public XInputDriver xi() { } - public void xi(XInputDriver) { } - public YInputDriver yi() { } - public void yi(YInputDriver) { } - public InputDriver zi() { } - public void zi(InputDriver) { } - public InputDriver wi() { } - public void wi(InputDriver) { } - - public byte xlut() { } - public xlut(byte) { } - public byte ylut() { } - public ylut(byte) { } - - public static enum CInputDriver { XL, YL, C } - public static enum FDriver { R, C } - - public boolean cRegistered() { } - - } - */ -}