From: Michael McMaster Date: Mon, 4 May 2015 11:38:14 +0000 (+1000) Subject: Clean up version number mishap (4.2.3 reported as 4.2.2) X-Git-Tag: v4.02.04~1 X-Git-Url: http://git.codesrc.com/gitweb.cgi?a=commitdiff_plain;h=84112d50dc0bc55a01b6eb2de1e029a7358e8d71;p=SCSI2SD.git 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. --- diff --git a/CHANGELOG b/CHANGELOG index 423d64e..d5c8e92 100644 --- 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. diff --git a/software/SCSI2SD/src/config.c b/software/SCSI2SD/src/config.c index 4a02d1f..26f0fe8 100755 --- a/software/SCSI2SD/src/config.c +++ b/software/SCSI2SD/src/config.c @@ -32,7 +32,7 @@ #include -static const uint16_t FIRMWARE_VERSION = 0x0422; +static const uint16_t FIRMWARE_VERSION = 0x0424; enum USB_ENDPOINTS { diff --git a/software/SCSI2SD/src/scsiPhy.c b/software/SCSI2SD/src/scsiPhy.c index 8c90cb1..bdd9873 100755 --- a/software/SCSI2SD/src/scsiPhy.c +++ b/software/SCSI2SD/src/scsiPhy.c @@ -395,8 +395,12 @@ void scsiPhyReset() dmaTotalCount = 0; CyDmaChSetRequest(scsiDmaTxChan, 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); - while (!(scsiTxDMAComplete && scsiRxDMAComplete)) {} + while (CyDmaChGetRequest(scsiDmaTxChan) & CY_DMA_CPU_TERM_CHAIN) {} + while (CyDmaChGetRequest(scsiDmaRxChan) & CY_DMA_CPU_TERM_CHAIN) {} CyDmaChDisable(scsiDmaTxChan); CyDmaChDisable(scsiDmaRxChan); @@ -409,6 +413,7 @@ void scsiPhyReset() // 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 // duration. + SCSI_RST_ISR_Disable(); SCSI_SetPin(SCSI_Out_RST); SCSI_CTL_PHASE_Write(0); @@ -421,6 +426,7 @@ void scsiPhyReset() // Allow the FIFOs to fill up again. SCSI_ClearPin(SCSI_Out_RST); + SCSI_RST_ISR_Enable(); scsiTarget_AUX_CTL = scsiTarget_AUX_CTL & ~(0x03); SCSI_Parity_Error_Read(); // clear sticky bits diff --git a/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c index efccf01..6c072bf 100644 --- a/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c +++ b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c @@ -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, diff --git a/software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cyfit b/software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cyfit index bcf9ae3..4eb3570 100644 Binary files a/software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cyfit and b/software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cyfit differ diff --git a/software/SCSI2SD/v3/SCSI2SD.cydsn/TopDesign/TopDesign.cysch b/software/SCSI2SD/v3/SCSI2SD.cydsn/TopDesign/TopDesign.cysch index 285360e..1a73ac5 100755 Binary files a/software/SCSI2SD/v3/SCSI2SD.cydsn/TopDesign/TopDesign.cysch and b/software/SCSI2SD/v3/SCSI2SD.cydsn/TopDesign/TopDesign.cysch differ diff --git a/software/SCSI2SD/v4/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c b/software/SCSI2SD/v4/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c index ee269a7..78af975 100644 --- a/software/SCSI2SD/v4/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c +++ b/software/SCSI2SD/v4/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c @@ -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, diff --git a/software/SCSI2SD/v4/SCSI2SD.cydsn/SCSI2SD.cyfit b/software/SCSI2SD/v4/SCSI2SD.cydsn/SCSI2SD.cyfit index 239ad50..3721597 100644 Binary files a/software/SCSI2SD/v4/SCSI2SD.cydsn/SCSI2SD.cyfit and b/software/SCSI2SD/v4/SCSI2SD.cydsn/SCSI2SD.cyfit differ diff --git a/software/SCSI2SD/v4/SCSI2SD.cydsn/TopDesign/TopDesign.cysch b/software/SCSI2SD/v4/SCSI2SD.cydsn/TopDesign/TopDesign.cysch index 71ca821..c9ef6bb 100755 Binary files a/software/SCSI2SD/v4/SCSI2SD.cydsn/TopDesign/TopDesign.cysch and b/software/SCSI2SD/v4/SCSI2SD.cydsn/TopDesign/TopDesign.cysch differ