Browse Source

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.
Michael McMaster 10 years ago
parent
commit
c3a253f42f

+ 8 - 0
lib/SCSI2SD/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
 20150420		4.2.2
 	- Improved compatibility with older SCSI1 hosts.
 	- Improved compatibility with older SCSI1 hosts.
 
 

+ 1 - 1
lib/SCSI2SD/software/SCSI2SD/src/config.c

@@ -32,7 +32,7 @@
 
 
 #include <string.h>
 #include <string.h>
 
 
-static const uint16_t FIRMWARE_VERSION = 0x0422;
+static const uint16_t FIRMWARE_VERSION = 0x0424;
 
 
 enum USB_ENDPOINTS
 enum USB_ENDPOINTS
 {
 {

+ 7 - 1
lib/SCSI2SD/software/SCSI2SD/src/scsiPhy.c

@@ -395,8 +395,12 @@ void scsiPhyReset()
 		dmaTotalCount = 0;
 		dmaTotalCount = 0;
 		CyDmaChSetRequest(scsiDmaTxChan, CY_DMA_CPU_TERM_CHAIN);
 		CyDmaChSetRequest(scsiDmaTxChan, CY_DMA_CPU_TERM_CHAIN);
 		CyDmaChSetRequest(scsiDmaRxChan, CY_DMA_CPU_TERM_CHAIN);
 		CyDmaChSetRequest(scsiDmaRxChan, CY_DMA_CPU_TERM_CHAIN);
+		
+		// CyDmaChGetRequest returns 0 for the relevant bit once the
+		// request is completed.
 		trace(trace_spinDMAReset);
 		trace(trace_spinDMAReset);
-		while (!(scsiTxDMAComplete && scsiRxDMAComplete)) {}
+		while (CyDmaChGetRequest(scsiDmaTxChan) & CY_DMA_CPU_TERM_CHAIN) {}
+		while (CyDmaChGetRequest(scsiDmaRxChan) & CY_DMA_CPU_TERM_CHAIN) {}
 
 
 		CyDmaChDisable(scsiDmaTxChan);
 		CyDmaChDisable(scsiDmaTxChan);
 		CyDmaChDisable(scsiDmaRxChan);
 		CyDmaChDisable(scsiDmaRxChan);
@@ -409,6 +413,7 @@ void scsiPhyReset()
 	// ensure it returns to the idle state.  The datapath runs at the BUS clk
 	// ensure it returns to the idle state.  The datapath runs at the BUS clk
 	// speed (ie. same as the CPU), so we can be sure it is active for a sufficient
 	// speed (ie. same as the CPU), so we can be sure it is active for a sufficient
 	// duration.
 	// duration.
+	SCSI_RST_ISR_Disable();
 	SCSI_SetPin(SCSI_Out_RST);
 	SCSI_SetPin(SCSI_Out_RST);
 
 
 	SCSI_CTL_PHASE_Write(0);
 	SCSI_CTL_PHASE_Write(0);
@@ -421,6 +426,7 @@ void scsiPhyReset()
 
 
 	// Allow the FIFOs to fill up again.
 	// Allow the FIFOs to fill up again.
 	SCSI_ClearPin(SCSI_Out_RST);
 	SCSI_ClearPin(SCSI_Out_RST);
+	SCSI_RST_ISR_Enable();
 	scsiTarget_AUX_CTL = scsiTarget_AUX_CTL & ~(0x03);
 	scsiTarget_AUX_CTL = scsiTarget_AUX_CTL & ~(0x03);
 
 
 	SCSI_Parity_Error_Read(); // clear sticky bits
 	SCSI_Parity_Error_Read(); // clear sticky bits

+ 1 - 1
lib/SCSI2SD/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c

@@ -28,7 +28,7 @@ __attribute__ ((__section__(".cyloadablemeta"), used))
 const uint8 cy_meta_loadable[] = {
 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, 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,
     0x01u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,

BIN
lib/SCSI2SD/software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cyfit


BIN
lib/SCSI2SD/software/SCSI2SD/v3/SCSI2SD.cydsn/TopDesign/TopDesign.cysch


+ 1 - 1
lib/SCSI2SD/software/SCSI2SD/v4/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c

@@ -28,7 +28,7 @@ __attribute__ ((__section__(".cyloadablemeta"), used))
 const uint8 cy_meta_loadable[] = {
 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, 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,
     0x01u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
     0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,

BIN
lib/SCSI2SD/software/SCSI2SD/v4/SCSI2SD.cydsn/SCSI2SD.cyfit


BIN
lib/SCSI2SD/software/SCSI2SD/v4/SCSI2SD.cydsn/TopDesign/TopDesign.cysch