From 396ee5fdc147f4983a91546120fcbfc9fcd0aff7 Mon Sep 17 00:00:00 2001 From: adam Date: Mon, 11 Sep 2006 15:01:52 +0100 Subject: [PATCH] checkpoint --- src/edu/berkeley/obits/device/atmel/ChipImpl.java | 24 ++++++++++++++------ src/edu/berkeley/obits/device/atmel/FtdiBoard.java | 3 +-- src/edu/berkeley/obits/device/atmel/FtdiChip.java | 2 +- 3 files changed, 19 insertions(+), 10 deletions(-) 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(); -- 1.7.10.4