Non-working attempt to replace the playback logic with Verilog.

This commit is contained in:
David Given
2019-02-22 21:26:54 +01:00
parent 0bc9ab385b
commit 970668aca5
7 changed files with 109 additions and 16 deletions

View File

@@ -2844,27 +2844,27 @@
<CyGuid_ebc4f06d-207f-49c2-a540-72acf4adabc0 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFolderSerialize" version="3"> <CyGuid_ebc4f06d-207f-49c2-a540-72acf4adabc0 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFolderSerialize" version="3">
<CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtBaseContainerSerialize" version="1"> <CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtBaseContainerSerialize" version="1">
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_TIMESTAMP" persistent=""> <CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_TIMESTAMP" persistent="">
<Hidden v="False" /> <Hidden v="True" />
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330> </CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
<CyGuid_0820c2e7-528d-4137-9a08-97257b946089 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemListSerialize" version="2"> <CyGuid_0820c2e7-528d-4137-9a08-97257b946089 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemListSerialize" version="2">
<dependencies> <dependencies>
<CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFileSerialize" version="3" xml_contents_version="1"> <CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFileSerialize" version="3" xml_contents_version="1">
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_TIMESTAMP.h" persistent="Generated_Source\PSoC5\REPLAY_TIMESTAMP.h"> <CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_TIMESTAMP.h" persistent="Generated_Source\PSoC5\REPLAY_TIMESTAMP.h">
<Hidden v="False" /> <Hidden v="True" />
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330> </CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
<build_action v="HEADER;;;;" /> <build_action v="HEADER;;;;" />
<PropertyDeltas /> <PropertyDeltas />
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b> </CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
<CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFileSerialize" version="3" xml_contents_version="1"> <CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFileSerialize" version="3" xml_contents_version="1">
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_TIMESTAMP.c" persistent="Generated_Source\PSoC5\REPLAY_TIMESTAMP.c"> <CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_TIMESTAMP.c" persistent="Generated_Source\PSoC5\REPLAY_TIMESTAMP.c">
<Hidden v="False" /> <Hidden v="True" />
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330> </CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
<build_action v="SOURCE_C;CortexM3;;;" /> <build_action v="SOURCE_C;CortexM3;;;" />
<PropertyDeltas /> <PropertyDeltas />
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b> </CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
<CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFileSerialize" version="3" xml_contents_version="1"> <CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFileSerialize" version="3" xml_contents_version="1">
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_TIMESTAMP_PM.c" persistent="Generated_Source\PSoC5\REPLAY_TIMESTAMP_PM.c"> <CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_TIMESTAMP_PM.c" persistent="Generated_Source\PSoC5\REPLAY_TIMESTAMP_PM.c">
<Hidden v="False" /> <Hidden v="True" />
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330> </CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
<build_action v="SOURCE_C;CortexM3;;;" /> <build_action v="SOURCE_C;CortexM3;;;" />
<PropertyDeltas /> <PropertyDeltas />
@@ -2933,6 +2933,72 @@
</CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8> </CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8>
<filters /> <filters />
</CyGuid_ebc4f06d-207f-49c2-a540-72acf4adabc0> </CyGuid_ebc4f06d-207f-49c2-a540-72acf4adabc0>
<CyGuid_ebc4f06d-207f-49c2-a540-72acf4adabc0 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFolderSerialize" version="3">
<CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtBaseContainerSerialize" version="1">
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_DATA" persistent="">
<Hidden v="False" />
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
<CyGuid_0820c2e7-528d-4137-9a08-97257b946089 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemListSerialize" version="2">
<dependencies>
<CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFileSerialize" version="3" xml_contents_version="1">
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_DATA.h" persistent="Generated_Source\PSoC5\REPLAY_DATA.h">
<Hidden v="False" />
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
<build_action v="HEADER;;;;" />
<PropertyDeltas />
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
<CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFileSerialize" version="3" xml_contents_version="1">
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_DATA.c" persistent="Generated_Source\PSoC5\REPLAY_DATA.c">
<Hidden v="False" />
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
<build_action v="SOURCE_C;CortexM3;;;" />
<PropertyDeltas />
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
<CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFileSerialize" version="3" xml_contents_version="1">
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_DATA_PM.c" persistent="Generated_Source\PSoC5\REPLAY_DATA_PM.c">
<Hidden v="False" />
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
<build_action v="SOURCE_C;CortexM3;;;" />
<PropertyDeltas />
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
</dependencies>
</CyGuid_0820c2e7-528d-4137-9a08-97257b946089>
</CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8>
<filters />
</CyGuid_ebc4f06d-207f-49c2-a540-72acf4adabc0>
<CyGuid_ebc4f06d-207f-49c2-a540-72acf4adabc0 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFolderSerialize" version="3">
<CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtBaseContainerSerialize" version="1">
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_RESET" persistent="">
<Hidden v="False" />
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
<CyGuid_0820c2e7-528d-4137-9a08-97257b946089 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemListSerialize" version="2">
<dependencies>
<CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFileSerialize" version="3" xml_contents_version="1">
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_RESET.h" persistent="Generated_Source\PSoC5\REPLAY_RESET.h">
<Hidden v="False" />
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
<build_action v="HEADER;;;;" />
<PropertyDeltas />
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
<CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFileSerialize" version="3" xml_contents_version="1">
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_RESET.c" persistent="Generated_Source\PSoC5\REPLAY_RESET.c">
<Hidden v="False" />
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
<build_action v="SOURCE_C;CortexM3;;;" />
<PropertyDeltas />
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
<CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFileSerialize" version="3" xml_contents_version="1">
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="REPLAY_RESET_PM.c" persistent="Generated_Source\PSoC5\REPLAY_RESET_PM.c">
<Hidden v="False" />
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
<build_action v="SOURCE_C;CortexM3;;;" />
<PropertyDeltas />
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
</dependencies>
</CyGuid_0820c2e7-528d-4137-9a08-97257b946089>
</CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8>
<filters />
</CyGuid_ebc4f06d-207f-49c2-a540-72acf4adabc0>
</dependencies> </dependencies>
</CyGuid_0820c2e7-528d-4137-9a08-97257b946089> </CyGuid_0820c2e7-528d-4137-9a08-97257b946089>
</CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8> </CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8>
@@ -2977,6 +3043,36 @@
</CyGuid_ebc4f06d-207f-49c2-a540-72acf4adabc0> </CyGuid_ebc4f06d-207f-49c2-a540-72acf4adabc0>
</CyGuid_813b8d13-518a-4dc8-91ba-cda6042dfb52> </CyGuid_813b8d13-518a-4dc8-91ba-cda6042dfb52>
</CyGuid_4429d4ed-fe84-42d0-9e9f-19aee0ff4e7e> </CyGuid_4429d4ed-fe84-42d0-9e9f-19aee0ff4e7e>
<CyGuid_4429d4ed-fe84-42d0-9e9f-19aee0ff4e7e type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtComponentSerialize" version="1">
<CyGuid_813b8d13-518a-4dc8-91ba-cda6042dfb52 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtPhysicalFolderSerialize" version="1">
<CyGuid_ebc4f06d-207f-49c2-a540-72acf4adabc0 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFolderSerialize" version="3">
<CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtBaseContainerSerialize" version="1">
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="Sequencer" persistent="Sequencer">
<Hidden v="False" />
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
<CyGuid_0820c2e7-528d-4137-9a08-97257b946089 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemListSerialize" version="2">
<dependencies>
<CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFileSerialize" version="3" xml_contents_version="1">
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="Sequencer.cysym" persistent="Sequencer\Sequencer.cysym">
<Hidden v="False" />
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
<build_action v="OTHER;;;;" />
<PropertyDeltas />
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
<CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFileSerialize" version="3" xml_contents_version="1">
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItemSerialize" version="2" name="Sequencer.v" persistent="Sequencer\Sequencer.v">
<Hidden v="False" />
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
<build_action v="OTHER;;;;" />
<PropertyDeltas />
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
</dependencies>
</CyGuid_0820c2e7-528d-4137-9a08-97257b946089>
</CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8>
<filters />
</CyGuid_ebc4f06d-207f-49c2-a540-72acf4adabc0>
</CyGuid_813b8d13-518a-4dc8-91ba-cda6042dfb52>
</CyGuid_4429d4ed-fe84-42d0-9e9f-19aee0ff4e7e>
</dependencies> </dependencies>
</CyGuid_0820c2e7-528d-4137-9a08-97257b946089> </CyGuid_0820c2e7-528d-4137-9a08-97257b946089>
</CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8> </CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8>

View File

Binary file not shown.

View File

@@ -360,7 +360,7 @@ static void init_replay_dma(void)
CyDmaTdSetConfiguration(td[i], BUFFER_SIZE, td[nexti], CyDmaTdSetConfiguration(td[i], BUFFER_SIZE, td[nexti],
CY_DMA_TD_INC_SRC_ADR | REPLAY_DMA__TD_TERMOUT_EN); CY_DMA_TD_INC_SRC_ADR | REPLAY_DMA__TD_TERMOUT_EN);
CyDmaTdSetAddress(td[i], LO16((uint32)&dma_buffer[i]), LO16((uint32)REPLAY_TIMESTAMP_Control_PTR)); CyDmaTdSetAddress(td[i], LO16((uint32)&dma_buffer[i]), LO16((uint32)REPLAY_DATA_Control_PTR));
} }
} }
@@ -373,6 +373,7 @@ static void cmd_write(struct write_frame* f)
} }
SIDE_REG_Write(f->side); SIDE_REG_Write(f->side);
REPLAY_RESET_Write(1);
seek_to(current_track); seek_to(current_track);
init_replay_dma(); init_replay_dma();
@@ -410,6 +411,7 @@ static void cmd_write(struct write_frame* f)
writing = true; writing = true;
ERASE_REG_Write(1); /* start erasing! */ ERASE_REG_Write(1); /* start erasing! */
REPLAY_RESET_Write(0); /* start writing! */
REPLAY_DMA_FINISHED_IRQ_Enable(); REPLAY_DMA_FINISHED_IRQ_Enable();
dma_underrun = false; dma_underrun = false;
CyDmaChSetInitialTd(dma_channel, td[dma_reading_from_td]); CyDmaChSetInitialTd(dma_channel, td[dma_reading_from_td]);
@@ -431,9 +433,8 @@ static void cmd_write(struct write_frame* f)
{ {
/* The USB stream has stopped early, so just fake data to keep the writer happy. */ /* The USB stream has stopped early, so just fake data to keep the writer happy. */
uint8_t clock = 0;
for (int i=0; i<BUFFER_SIZE; i++) for (int i=0; i<BUFFER_SIZE; i++)
dma_buffer[dma_writing_to_td][i] = clock += 0x30; dma_buffer[dma_writing_to_td][i] = 0x80;
dma_writing_to_td = NEXT_BUFFER(dma_writing_to_td); dma_writing_to_td = NEXT_BUFFER(dma_writing_to_td);
} }
else else

View File

@@ -8,6 +8,7 @@ public:
nanoseconds_t duration() const { return _duration; } nanoseconds_t duration() const { return _duration; }
size_t bytes() const { return _bytes.size(); } size_t bytes() const { return _bytes.size(); }
const std::vector<uint8_t> rawBytes() const { return _bytes; }
const uint8_t* ptr() const const uint8_t* ptr() const
{ {

View File

@@ -215,13 +215,8 @@ void usbWrite(int side, const Fluxmap& fluxmap)
/* Convert from intervals to absolute timestamps. */ /* Convert from intervals to absolute timestamps. */
std::vector<uint8_t> buffer(safelen); std::vector<uint8_t> buffer(fluxmap.rawBytes());
uint8_t clock = 0; buffer.resize(safelen);
for (size_t i=0; i<fluxmap.bytes();)
{
clock += fluxmap.getAndIncrement(i);
buffer[i] = clock;
}
struct write_frame f = { struct write_frame f = {
.f = { .type = F_FRAME_WRITE_CMD, .size = sizeof(f) }, .f = { .type = F_FRAME_WRITE_CMD, .size = sizeof(f) },

View File

@@ -11,7 +11,7 @@
static DataSpecFlag dest( static DataSpecFlag dest(
{ "--dest", "-d" }, { "--dest", "-d" },
"destination for data", "destination for data",
":t=0-79:s=0-1"); ":d=0:t=0-79:s=0-1");
static sqlite3* outdb; static sqlite3* outdb;

View File

@@ -51,7 +51,7 @@ static int charToInt(char c)
int main(int argc, const char* argv[]) int main(int argc, const char* argv[])
{ {
setWriterDefaultDest(":t=0-77:s=0"); setWriterDefaultDest(":d=0:t=0-77:s=0");
Flag::parseFlags(argc, argv); Flag::parseFlags(argc, argv);
SectorSet allSectors; SectorSet allSectors;