Disable 20MB/s support until data corruption issue is fixed. v6.0.8
authorMichael McMaster <michael@codesrc.com>
Sat, 27 Aug 2016 11:28:46 +0000 (21:28 +1000)
committerMichael McMaster <michael@codesrc.com>
Sat, 27 Aug 2016 11:28:46 +0000 (21:28 +1000)
CHANGELOG
doc/SCSI2SD_QuickStartGuide.odt
doc/dimensions.png [new file with mode: 0644]
src/firmware/config.c
src/firmware/scsi.c

index f16e0648dd873edfd16cb6df015d7f40ca5675e3..b11680d5b6725caf9ca0c411aefcca58b504ea72 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,5 @@
-2016XXXX               6.0.7
+20160827               6.0.8
+       - Fixed "protocol error" issues when saving configuration to SD cards.
        - Synchronous transfers supported ! 5MB/s and 10MB/s supported.
        - Fix for accessing data via USB with more than 2 devices configured.
 
index 127393767cd0a08f7c7b20eec4191e398da1674d..6d929b39a5c1f7c6d43c98d82a85dd5c7434980f 100644 (file)
Binary files a/doc/SCSI2SD_QuickStartGuide.odt and b/doc/SCSI2SD_QuickStartGuide.odt differ
diff --git a/doc/dimensions.png b/doc/dimensions.png
new file mode 100644 (file)
index 0000000..0902016
Binary files /dev/null and b/doc/dimensions.png differ
index 800624ab83ae0c638bec2ab29dccb763b572bbcf..7acb0831fc57094037824f2d5727eca36e4100e7 100755 (executable)
@@ -37,7 +37,7 @@
 \r
 #include <string.h>\r
 \r
-static const uint16_t FIRMWARE_VERSION = 0x0607;\r
+static const uint16_t FIRMWARE_VERSION = 0x0608;\r
 \r
 // 1 flash row\r
 static const uint8_t DEFAULT_CONFIG[128] =\r
index ff54cd2789d563cefe81a0a72a0e6f0b4d7b6cd4..b2ab1e590842b04e72a21a82ffd155988cee049b 100755 (executable)
@@ -766,11 +766,17 @@ static void process_MessageOut()
                                scsiDev.target->syncPeriod = 0;\r
                        } else {\r
                                scsiDev.target->syncOffset = offset < 15 ? offset : 15;\r
+                               // FAST20 / 50ns / 20MHz is disabled for now due to\r
+                               // data corruption while reading data. We can count the\r
+                               // ACK's correctly, but can't save the data to a register\r
+                               // before it changes.\r
+                               // TODO work out the fastest sync period that will work\r
+                               /*\r
                                if (transferPeriod <= 12)\r
                                {\r
                                        scsiDev.target->syncPeriod = 12; // 50ns, 20MB/s\r
                                }\r
-                               else if (transferPeriod <= 25)\r
+                               else */if (transferPeriod <= 25)\r
                                {\r
                                        scsiDev.target->syncPeriod = 25; // 100ns, 10MB/s\r
                                } else {\r