Clean up version number mishap (4.2.3 reported as 4.2.2)
authorMichael McMaster <michael@codesrc.com>
Mon, 4 May 2015 11:38:14 +0000 (21:38 +1000)
committerMichael McMaster <michael@codesrc.com>
Mon, 4 May 2015 11:38:14 +0000 (21:38 +1000)
Reduce size of mode pages for SCSI1 hosts
Stability improvements whan handling resets during SCSI reads.

CHANGELOG
software/SCSI2SD/src/config.c
software/SCSI2SD/src/scsiPhy.c
software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c
software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cyfit
software/SCSI2SD/v3/SCSI2SD.cydsn/TopDesign/TopDesign.cysch
software/SCSI2SD/v4/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c
software/SCSI2SD/v4/SCSI2SD.cydsn/SCSI2SD.cyfit
software/SCSI2SD/v4/SCSI2SD.cydsn/TopDesign/TopDesign.cysch

index 423d64e..d5c8e92 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,11 @@
+20150504               4.2.4
+       - Clean up version number mishap (4.2.3 reported as 4.2.2)
+       - Reduce size of mode pages for SCSI1 hosts
+       - Stability improvements whan handling resets during SCSI reads.
+
+20150420               4.2.3
+       - Bugfix for failed flash checksums after configing configuration
+
 20150420               4.2.2
        - Improved compatibility with older SCSI1 hosts.
 
index 4a02d1f..26f0fe8 100755 (executable)
@@ -32,7 +32,7 @@
 \r
 #include <string.h>\r
 \r
-static const uint16_t FIRMWARE_VERSION = 0x0422;\r
+static const uint16_t FIRMWARE_VERSION = 0x0424;\r
 \r
 enum USB_ENDPOINTS\r
 {\r
index 8c90cb1..bdd9873 100755 (executable)
@@ -395,8 +395,12 @@ void scsiPhyReset()
                dmaTotalCount = 0;\r
                CyDmaChSetRequest(scsiDmaTxChan, CY_DMA_CPU_TERM_CHAIN);\r
                CyDmaChSetRequest(scsiDmaRxChan, CY_DMA_CPU_TERM_CHAIN);\r
+               \r
+               // CyDmaChGetRequest returns 0 for the relevant bit once the\r
+               // request is completed.\r
                trace(trace_spinDMAReset);\r
-               while (!(scsiTxDMAComplete && scsiRxDMAComplete)) {}\r
+               while (CyDmaChGetRequest(scsiDmaTxChan) & CY_DMA_CPU_TERM_CHAIN) {}\r
+               while (CyDmaChGetRequest(scsiDmaRxChan) & CY_DMA_CPU_TERM_CHAIN) {}\r
 \r
                CyDmaChDisable(scsiDmaTxChan);\r
                CyDmaChDisable(scsiDmaRxChan);\r
@@ -409,6 +413,7 @@ void scsiPhyReset()
        // ensure it returns to the idle state.  The datapath runs at the BUS clk\r
        // speed (ie. same as the CPU), so we can be sure it is active for a sufficient\r
        // duration.\r
+       SCSI_RST_ISR_Disable();\r
        SCSI_SetPin(SCSI_Out_RST);\r
 \r
        SCSI_CTL_PHASE_Write(0);\r
@@ -421,6 +426,7 @@ void scsiPhyReset()
 \r
        // Allow the FIFOs to fill up again.\r
        SCSI_ClearPin(SCSI_Out_RST);\r
+       SCSI_RST_ISR_Enable();\r
        scsiTarget_AUX_CTL = scsiTarget_AUX_CTL & ~(0x03);\r
 \r
        SCSI_Parity_Error_Read(); // clear sticky bits\r
index efccf01..6c072bf 100644 (file)
@@ -28,7 +28,7 @@ __attribute__ ((__section__(".cyloadablemeta"), used))
 const uint8 cy_meta_loadable[] = {\r
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,\r
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,\r
-    0x00u, 0x00u, 0x00u, 0x00u, 0x5Cu, 0xD1u, 0x22u, 0x04u,\r
+    0x00u, 0x00u, 0x00u, 0x00u, 0x5Cu, 0xD1u, 0x24u, 0x04u,\r
     0x01u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,\r
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,\r
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,\r
index bcf9ae3..4eb3570 100644 (file)
Binary files a/software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cyfit and b/software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cyfit differ
index 285360e..1a73ac5 100755 (executable)
Binary files a/software/SCSI2SD/v3/SCSI2SD.cydsn/TopDesign/TopDesign.cysch and b/software/SCSI2SD/v3/SCSI2SD.cydsn/TopDesign/TopDesign.cysch differ
index ee269a7..78af975 100644 (file)
@@ -28,7 +28,7 @@ __attribute__ ((__section__(".cyloadablemeta"), used))
 const uint8 cy_meta_loadable[] = {
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
-    0x00u, 0x00u, 0x00u, 0x00u, 0x5Cu, 0xD1u, 0x22u, 0x04u,
+    0x00u, 0x00u, 0x00u, 0x00u, 0x5Cu, 0xD1u, 0x24u, 0x04u,
     0x01u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
index 239ad50..3721597 100644 (file)
Binary files a/software/SCSI2SD/v4/SCSI2SD.cydsn/SCSI2SD.cyfit and b/software/SCSI2SD/v4/SCSI2SD.cydsn/SCSI2SD.cyfit differ
index 71ca821..c9ef6bb 100755 (executable)
Binary files a/software/SCSI2SD/v4/SCSI2SD.cydsn/TopDesign/TopDesign.cysch and b/software/SCSI2SD/v4/SCSI2SD.cydsn/TopDesign/TopDesign.cysch differ