From: adam Date: Mon, 11 Sep 2006 14:01:52 +0000 (+0100) Subject: checkpoint X-Git-Tag: mpar_demo_release~93 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=396ee5fdc147f4983a91546120fcbfc9fcd0aff7;p=slipway.git checkpoint --- diff --git a/src/edu/berkeley/obits/device/atmel/ChipImpl.java b/src/edu/berkeley/obits/device/atmel/ChipImpl.java index df0e97e..0b58130 100644 --- a/src/edu/berkeley/obits/device/atmel/ChipImpl.java +++ b/src/edu/berkeley/obits/device/atmel/ChipImpl.java @@ -10,23 +10,34 @@ public class ChipImpl extends FtdiChip implements Chip { } public void doReset() { + flush(); + + buffered(false); + flush(); + dbangmode(dmask); + flush(); + clk(false); + flush(); + data(false); + flush(); con(false); flush(); - buffered(false); reset(false); - //avrrst(false); + flush(); try { Thread.sleep(200); } catch (Exception e) { } + reset(true); - //avrrst(true); + flush(); try { Thread.sleep(200); } catch (Exception e) { } dmask &= ~(1<<7); dbangmode(dmask); + flush(); } int porte = 0; @@ -38,9 +49,6 @@ public class ChipImpl extends FtdiChip implements Chip { } } - - // - public void config(boolean bit) { config(bit?1:0, 1); } public void config(int dat) { config(dat, 8); } public void config(int dat, int numbits) { @@ -70,13 +78,15 @@ public class ChipImpl extends FtdiChip implements Chip { public void clk(boolean on) { dbang(6, on); } public void data(boolean on) { dbang(5, on); } - public boolean initErr() { return (readPins() & (1<<4))!=0; } + public boolean initErr() { flush(); return (readPins() & (1<<4))!=0; } public boolean con() { + flush(); dmask &= ~(1<<0); dbangmode(dmask); return (readPins() & (1<<0)) != 0; } public void con(boolean on) { + flush(); dmask |= (1<<0); dbangmode(dmask); dbang(0, on); diff --git a/src/edu/berkeley/obits/device/atmel/FtdiBoard.java b/src/edu/berkeley/obits/device/atmel/FtdiBoard.java index 447ab84..5d1aec5 100644 --- a/src/edu/berkeley/obits/device/atmel/FtdiBoard.java +++ b/src/edu/berkeley/obits/device/atmel/FtdiBoard.java @@ -35,6 +35,7 @@ public class FtdiBoard extends Board { public void boot(Reader r) throws Exception { boolean pin; Chip d = chip; + d.doReset(); d.config(0,10); d.con(); @@ -65,11 +66,9 @@ public class FtdiBoard extends Board { pin = d.initErr(); System.out.println("bad preamble #1 => " + pin + " " + (pin ? red("BAD") : green("good"))); - d.buffered(false); d.doReset(); d.config(0,10); - d.flush(); d.con(); //d.config(Integer.parseInt("10110111", 2)); //d.config(0); diff --git a/src/edu/berkeley/obits/device/atmel/FtdiChip.java b/src/edu/berkeley/obits/device/atmel/FtdiChip.java index 4b8820a..30a6ba8 100644 --- a/src/edu/berkeley/obits/device/atmel/FtdiChip.java +++ b/src/edu/berkeley/obits/device/atmel/FtdiChip.java @@ -50,7 +50,7 @@ public class FtdiChip { protected int dbits = 0; - public boolean buffered = true; + public boolean buffered = false; public void buffered() { buffered = true; } public void buffered(boolean buf) { if (!buf) flush();