- test for read/write all type of registers

git-svn-id: https://svn.code.sf.net/p/libusbjava/code/trunk@82 94ad28fe-ef68-46b1-9651-e7ae4fcf1c4c
This commit is contained in:
schlaepfer
2006-01-12 08:10:42 +00:00
parent 43118f4bca
commit 61889c8130
2 changed files with 120 additions and 20 deletions

View File

@@ -33,6 +33,8 @@ public class BDI555App {
private Button button10 = null;
private Button button11 = null;
/**
* This method initializes sShell
*/
@@ -40,7 +42,7 @@ public class BDI555App {
sShell = new Shell();
sShell.setText("Shell");
sShell.setLayout(new RowLayout());
sShell.setSize(new org.eclipse.swt.graphics.Point(348,83));
sShell.setSize(new org.eclipse.swt.graphics.Point(348,108));
button1 = new Button(sShell, SWT.NONE);
button1.setText("testBdiTransaction");
button1
@@ -99,6 +101,13 @@ public class BDI555App {
button9.setText("Button9");
button10 = new Button(sShell, SWT.NONE);
button10.setText("fastDownload");
button11 = new Button(sShell, SWT.NONE);
button11.setText("read/write Registers");
button11.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
BDI555test.button11();
}
});
button10.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
BDI555test.button10();

View File

@@ -1,5 +1,7 @@
package ch.ntb.mcdp.bdi.test;
import java.util.logging.Level;
import ch.ntb.mcdp.bdi.BDIException;
import ch.ntb.mcdp.bdi.MPC555;
import ch.ntb.mcdp.usb.DispatchException;
@@ -226,7 +228,31 @@ public class BDI555test {
}
public static void button9() {
logger.info("not implemented!");
final int SPR = 158;
final int VALUE = 0x12345;
try {
int result = MPC555.readSPR(SPR);
logger.info("readSPR(" + SPR + ") = 0x"
+ Integer.toHexString(result));
MPC555.writeSPR(SPR, VALUE);
logger.info("writeSPR(" + SPR + ", 0x" + Integer.toHexString(VALUE)
+ ")");
result = MPC555.readSPR(SPR);
logger.info("readSPR(" + SPR + ") = 0x"
+ Integer.toHexString(result));
} catch (USBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DispatchException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (BDIException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// logger.info("not implemented!");
// logger.info("hard_reset()");
// try {
// MPC555.hard_reset();
@@ -243,22 +269,87 @@ public class BDI555test {
fastDownload();
}
// public static void main(String[] args) {
// boolean testRunning = true;
//
// while (testRunning) {
// // testBdiTransaction();
// // reset_target();
// // freeze();
// // go();
// // System.out.println();
//
// try {
// Thread.sleep(5000);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// }
//
// }
public static void button11() {
Level oldLevel = LogUtil.ch_ntb_mcdp_bdi.getLevel();
LogUtil.setLevel(LogUtil.ch_ntb_mcdp_bdi, Level.ALL);
try {
logger.info("test SPR");
// valid spr registers:
// CMPA<EFBFBD>CMPD SPR 144 <20> SPR 147
// CMPE<EFBFBD>CMPF SPR 152, 153
// CMPG<50>CMPH SPR 154, 155
// ICTRL SPR 158
// LCTRL1 SPR 156
// LCTRL2 SPR 157
// COUNTA SPR 150
// COUNTB SPR 151
// ECR SPR 148
// DER SPR 149
int REG = 152;
int VALUE = 0x12345;
MPC555.writeSPR(REG, VALUE);
int result = MPC555.readSPR(REG);
checkResult(VALUE, result);
logger.info("test GPR");
REG = 5;
MPC555.writeGPR(REG, VALUE);
result = MPC555.readGPR(REG);
checkResult(VALUE, result);
logger.info("test FPR");
int TMP_MEM_ADDR = 0x800000;
long LONG_VAL = 0x12345012345L;
MPC555.writeFPR(REG, TMP_MEM_ADDR, LONG_VAL);
long fprResult = MPC555.readFPR(REG, TMP_MEM_ADDR);
if (fprResult != LONG_VAL) {
logger.severe("value: 0x" + Long.toHexString(LONG_VAL)
+ ", result: 0x" + Long.toHexString(fprResult));
} else {
logger
.info("test ok: result: 0x"
+ Long.toHexString(fprResult));
}
logger.info("test MSR");
MPC555.writeMSR(VALUE);
result = MPC555.readMSR();
checkResult(VALUE, result);
logger.info("test CR");
MPC555.writeCR(VALUE);
result = MPC555.readCR();
checkResult(VALUE, result);
logger.info("test CtrlReg");
int MEM_ADDR = 0x2FC100;
MPC555.writeMem(MEM_ADDR, VALUE, 4);
result = MPC555.readMem(MEM_ADDR, 4);
checkResult(VALUE, result);
} catch (USBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DispatchException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (BDIException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
LogUtil.setLevel(LogUtil.ch_ntb_mcdp_bdi, oldLevel);
}
private static void checkResult(int value, int result) {
if (value != result) {
logger.severe("value: 0x" + Integer.toHexString(value)
+ ", result: 0x" + Integer.toHexString(result));
} else {
logger.info("test ok: result: 0x" + Integer.toHexString(result));
}
}
}