}
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;
}
}
-
- //
-
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) {
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);
public void boot(Reader r) throws Exception {
boolean pin;
Chip d = chip;
+
d.doReset();
d.config(0,10);
d.con();
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);