]> localhost Git - scsi2sd-util.git/commitdiff
More test code to read/write flash
authorMichael McMaster <michael@codesrc.com>
Sat, 23 Jan 2021 00:35:46 +0000 (10:35 +1000)
committerMichael McMaster <michael@codesrc.com>
Sat, 23 Jan 2021 00:35:46 +0000 (10:35 +1000)
scsi2sd.io.usb4java/src/main/resources/javax.usb.properties [new file with mode: 0644]
scsi2sd.io/src/main/java/com/codesrc/scsi2sd/io/V3FirmwareUsbDevice.java

diff --git a/scsi2sd.io.usb4java/src/main/resources/javax.usb.properties b/scsi2sd.io.usb4java/src/main/resources/javax.usb.properties
new file mode 100644 (file)
index 0000000..98c111a
--- /dev/null
@@ -0,0 +1,2 @@
+javax.usb.services = org.usb4java.javax.Services
+
index d1d81a51db0c52b83c60bd88bcae79a6242f4fba..2910b5fc48d56671c807a8dbc761f00fc40641ff 100644 (file)
@@ -185,7 +185,7 @@ public class V3FirmwareUsbDevice implements UsbDevice {
         System.out.println(HidPacketProtocol.uint8ToInt(response[0]));
 
         for (int i = 1; i + 4 < response.length; i += 5) {
-            OUTPUT THE TYPE AS WELL
+            // TODO OUTPUT THE TYPE AS WELL
             int capacity = (HidPacketProtocol.uint8ToInt(response[i + 1]) << 24) |
                     (HidPacketProtocol.uint8ToInt(response[i + 2]) << 16) |
                     (HidPacketProtocol.uint8ToInt(response[i + 3]) << 8) |
@@ -193,6 +193,32 @@ public class V3FirmwareUsbDevice implements UsbDevice {
             System.out.print("Found storage device with capacity: ");
             System.out.println(capacity * 512L);
         }
+
+       // System.out.println("Erasing 1 sectors");
+       // byte[] eraseCmd = {(byte)Commands.DEV_ERASE.ordinal(), (byte)1, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)1};
+       // response = protocolDevice.sendHIDPacket(eraseCmd, 1);
+
+        System.out.println("Writing a sector");
+        byte[] writeCmd = new byte[519];
+        writeCmd[0] = (byte)Commands.DEV_WRITE.ordinal();
+        writeCmd[1] = 1; // flash
+        writeCmd[2] = 0; // Sector number
+        writeCmd[3] = 0; // Sector number
+        writeCmd[4] = 0; // Sector number
+        writeCmd[5] = 1; // Sector number
+        for (var i = 0; i < 512; ++i) {
+            writeCmd[6+i] = HidPacketProtocol.intToUint8(255 - (i % 255));
+        }
+        response = protocolDevice.sendHIDPacket(writeCmd, 1);
+        
+        System.out.println("Reading a sector");
+        byte[] readCmd = {(byte)Commands.DEV_READ.ordinal(), (byte)1, (byte)0, (byte)0, (byte)0, (byte)1};
+        byte[] readResponse = protocolDevice.sendHIDPacket(readCmd, 512);
+        for (var i = 0; i < readResponse.length; ++i) {
+            System.out.println(HidPacketProtocol.uint8ToInt(readResponse[i]));
+        }
+
+        System.out.println("FLASH test complete");
     }