From 06600b8341b7768677e545b93560ccfef08715fc Mon Sep 17 00:00:00 2001 From: Geens Date: Tue, 10 Jun 2025 21:14:10 +0200 Subject: [PATCH] Moved files --- .gitignore | 7 +- audio_engine/.gitignore | 1 + Cargo.lock => audio_engine/Cargo.lock | 36 ++-- Cargo.toml => audio_engine/Cargo.toml | 12 +- {src => audio_engine/src}/allocator.rs | 0 {src => audio_engine/src}/audio_chunk.rs | 0 {src => audio_engine/src}/audio_data.rs | 0 {src => audio_engine/src}/beep.rs | 0 {src => audio_engine/src}/chunk_factory.rs | 0 .../src}/connection_manager.rs | 0 {src => audio_engine/src}/looper_error.rs | 0 .../src/main.rs | 0 {src => audio_engine/src}/metronome.rs | 0 {src => audio_engine/src}/midi.rs | 0 .../src}/notification_handler.rs | 0 .../src}/persistence_manager.rs | 0 .../src}/post_record_handler.rs | 0 {src => audio_engine/src}/process_handler.rs | 0 {src => audio_engine/src}/state.rs | 0 {src => audio_engine/src}/track.rs | 0 hardware/.gitignore | 4 + .../controller}/BOM.csv | 0 .../controller}/FCB1010_controller.kicad_dru | 0 .../controller}/FCB1010_controller.kicad_pcb | 0 .../controller}/FCB1010_controller.kicad_prl | 0 .../controller}/FCB1010_controller.kicad_pro | 0 .../controller}/FCB1010_controller.kicad_sch | 0 .../controller}/datasheets/AP2112.pdf | Bin .../controller}/datasheets/CL05.pdf | Bin .../controller}/datasheets/stm32f042t6.pdf | Bin .../controller}/datasheets/txu0104.pdf | Bin .../controller}/fp-lib-table | 0 .../controller}/gerber/BOM.csv | 0 .../gerber/FCB1010_controller-B_Cu.gbr | 0 .../gerber/FCB1010_controller-B_Mask.gbr | 0 .../gerber/FCB1010_controller-B_Paste.gbr | 0 .../FCB1010_controller-B_Silkscreen.gbr | 0 .../gerber/FCB1010_controller-Edge_Cuts.gbr | 0 .../gerber/FCB1010_controller-F_Cu.gbr | 0 .../gerber/FCB1010_controller-F_Mask.gbr | 0 .../gerber/FCB1010_controller-F_Paste.gbr | 0 .../FCB1010_controller-F_Silkscreen.gbr | 0 .../gerber/FCB1010_controller-In1_Cu.gbr | 0 .../gerber/FCB1010_controller-In2_Cu.gbr | 0 .../gerber/FCB1010_controller-NPTH.drl | 0 .../gerber/FCB1010_controller-PTH.drl | 0 .../gerber/FCB1010_controller-job.gbrjob | 0 .../gerber/FCB1010_controller-top-pos.csv | 0 .../2025-05-30_17-37-08.kicad_sym | 0 .../lib/AP2112K-3.3TRG1/SOT-25-5pin.stp | 0 .../footprints.pretty/SOT_RG1_DIO-L.kicad_mod | 0 .../footprints.pretty/SOT_RG1_DIO-M.kicad_mod | 0 .../footprints.pretty/SOT_RG1_DIO.kicad_mod | 0 .../CL05/footprints.pretty/C_0402.kicad_mod | 0 .../lib/STM32F042C6T6/LQFP48-7x7mm.step | 0 .../lib/STM32F042C6T6/STM32F042C6T6.kicad_sym | 0 .../QFP50P700X700X160-48N.kicad_mod | 0 .../TXU0104RUTR/2025-05-30_16-08-53.kicad_sym | 0 .../controller}/lib/TXU0104RUTR/RUT0012A.stp | 0 .../PQFP12_RUT_TEX-L.kicad_mod | 0 .../PQFP12_RUT_TEX-M.kicad_mod | 0 .../PQFP12_RUT_TEX.kicad_mod | 0 .../controller}/lib/W78C32C/W78C32C.kicad_sym | 0 .../footprints.pretty/W78C32C.kicad_mod | 0 .../X1321WVS-2x04J-C40D53.kicad_mod | 0 .../FCB1010_controller-top-pos.csv | 0 .../controller}/sym-lib-table | 0 .../main_board}/FCB1010.kicad_pcb | 0 .../main_board}/FCB1010.kicad_prl | 0 .../main_board}/FCB1010.kicad_pro | 0 .../main_board}/FCB1010.kicad_sch | 0 .../main_board}/datasheets/74HC273D.pdf | Bin .../main_board}/datasheets/74HC_HCT04.pdf | Bin .../main_board}/datasheets/74HC_HCT138.pdf | Bin .../main_board}/datasheets/74HC_HCT373.pdf | Bin .../main_board}/datasheets/80C31_80C32.pdf | Bin .../main_board}/datasheets/KM62256C.pdf | Bin .../main_board}/datasheets/W78C32C.pdf | Bin .../main_board}/datasheets/tl7705a.pdf | Bin .../main_board}/datasheets/tlc0832.pdf | Bin {FCB1010 => hardware}/pinmap.txt | 0 simulator/.gitignore | 1 + simulator/Cargo.lock | 157 ++++++++++++++++++ simulator/Cargo.toml | 9 + src/sendmidi.rs => simulator/src/main.rs | 4 +- 85 files changed, 194 insertions(+), 37 deletions(-) create mode 100644 audio_engine/.gitignore rename Cargo.lock => audio_engine/Cargo.lock (99%) rename Cargo.toml => audio_engine/Cargo.toml (66%) rename {src => audio_engine/src}/allocator.rs (100%) rename {src => audio_engine/src}/audio_chunk.rs (100%) rename {src => audio_engine/src}/audio_data.rs (100%) rename {src => audio_engine/src}/beep.rs (100%) rename {src => audio_engine/src}/chunk_factory.rs (100%) rename {src => audio_engine/src}/connection_manager.rs (100%) rename {src => audio_engine/src}/looper_error.rs (100%) rename src/audio_engine.rs => audio_engine/src/main.rs (100%) rename {src => audio_engine/src}/metronome.rs (100%) rename {src => audio_engine/src}/midi.rs (100%) rename {src => audio_engine/src}/notification_handler.rs (100%) rename {src => audio_engine/src}/persistence_manager.rs (100%) rename {src => audio_engine/src}/post_record_handler.rs (100%) rename {src => audio_engine/src}/process_handler.rs (100%) rename {src => audio_engine/src}/state.rs (100%) rename {src => audio_engine/src}/track.rs (100%) create mode 100644 hardware/.gitignore rename {FCB1010/FCB1010_controller => hardware/controller}/BOM.csv (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/FCB1010_controller.kicad_dru (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/FCB1010_controller.kicad_pcb (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/FCB1010_controller.kicad_prl (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/FCB1010_controller.kicad_pro (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/FCB1010_controller.kicad_sch (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/datasheets/AP2112.pdf (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/datasheets/CL05.pdf (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/datasheets/stm32f042t6.pdf (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/datasheets/txu0104.pdf (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/fp-lib-table (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/BOM.csv (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/FCB1010_controller-B_Cu.gbr (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/FCB1010_controller-B_Mask.gbr (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/FCB1010_controller-B_Paste.gbr (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/FCB1010_controller-B_Silkscreen.gbr (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/FCB1010_controller-Edge_Cuts.gbr (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/FCB1010_controller-F_Cu.gbr (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/FCB1010_controller-F_Mask.gbr (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/FCB1010_controller-F_Paste.gbr (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/FCB1010_controller-F_Silkscreen.gbr (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/FCB1010_controller-In1_Cu.gbr (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/FCB1010_controller-In2_Cu.gbr (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/FCB1010_controller-NPTH.drl (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/FCB1010_controller-PTH.drl (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/FCB1010_controller-job.gbrjob (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/gerber/FCB1010_controller-top-pos.csv (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/AP2112K-3.3TRG1/2025-05-30_17-37-08.kicad_sym (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/AP2112K-3.3TRG1/SOT-25-5pin.stp (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/AP2112K-3.3TRG1/footprints.pretty/SOT_RG1_DIO-L.kicad_mod (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/AP2112K-3.3TRG1/footprints.pretty/SOT_RG1_DIO-M.kicad_mod (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/AP2112K-3.3TRG1/footprints.pretty/SOT_RG1_DIO.kicad_mod (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/CL05/footprints.pretty/C_0402.kicad_mod (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/STM32F042C6T6/LQFP48-7x7mm.step (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/STM32F042C6T6/STM32F042C6T6.kicad_sym (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/STM32F042C6T6/footprints.pretty/QFP50P700X700X160-48N.kicad_mod (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/TXU0104RUTR/2025-05-30_16-08-53.kicad_sym (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/TXU0104RUTR/RUT0012A.stp (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/TXU0104RUTR/footprints.pretty/PQFP12_RUT_TEX-L.kicad_mod (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/TXU0104RUTR/footprints.pretty/PQFP12_RUT_TEX-M.kicad_mod (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/TXU0104RUTR/footprints.pretty/PQFP12_RUT_TEX.kicad_mod (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/W78C32C/W78C32C.kicad_sym (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/W78C32C/footprints.pretty/W78C32C.kicad_mod (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/lib/X1321WVS-2x04J-C40D53/footprints.pretty/X1321WVS-2x04J-C40D53.kicad_mod (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/pick_and_place/FCB1010_controller-top-pos.csv (100%) rename {FCB1010/FCB1010_controller => hardware/controller}/sym-lib-table (100%) rename {FCB1010/FCB1010 => hardware/main_board}/FCB1010.kicad_pcb (100%) rename {FCB1010/FCB1010 => hardware/main_board}/FCB1010.kicad_prl (100%) rename {FCB1010/FCB1010 => hardware/main_board}/FCB1010.kicad_pro (100%) rename {FCB1010/FCB1010 => hardware/main_board}/FCB1010.kicad_sch (100%) rename {FCB1010/FCB1010 => hardware/main_board}/datasheets/74HC273D.pdf (100%) rename {FCB1010/FCB1010 => hardware/main_board}/datasheets/74HC_HCT04.pdf (100%) rename {FCB1010/FCB1010 => hardware/main_board}/datasheets/74HC_HCT138.pdf (100%) rename {FCB1010/FCB1010 => hardware/main_board}/datasheets/74HC_HCT373.pdf (100%) rename {FCB1010/FCB1010 => hardware/main_board}/datasheets/80C31_80C32.pdf (100%) rename {FCB1010/FCB1010 => hardware/main_board}/datasheets/KM62256C.pdf (100%) rename {FCB1010/FCB1010 => hardware/main_board}/datasheets/W78C32C.pdf (100%) rename {FCB1010/FCB1010 => hardware/main_board}/datasheets/tl7705a.pdf (100%) rename {FCB1010/FCB1010 => hardware/main_board}/datasheets/tlc0832.pdf (100%) rename {FCB1010 => hardware}/pinmap.txt (100%) create mode 100644 simulator/.gitignore create mode 100644 simulator/Cargo.lock create mode 100644 simulator/Cargo.toml rename src/sendmidi.rs => simulator/src/main.rs (97%) diff --git a/.gitignore b/.gitignore index ca40fa1..5890066 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1 @@ -*-backups/ -*.bak -*.zip -/target -collect.txt -fp-info-cache \ No newline at end of file +collect.txt \ No newline at end of file diff --git a/audio_engine/.gitignore b/audio_engine/.gitignore new file mode 100644 index 0000000..c41cc9e --- /dev/null +++ b/audio_engine/.gitignore @@ -0,0 +1 @@ +/target \ No newline at end of file diff --git a/Cargo.lock b/audio_engine/Cargo.lock similarity index 99% rename from Cargo.lock rename to audio_engine/Cargo.lock index 34c689a..7d209b6 100644 --- a/Cargo.lock +++ b/audio_engine/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" @@ -17,6 +17,23 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +[[package]] +name = "audio_engine" +version = "0.1.0" +dependencies = [ + "dirs", + "hound", + "jack", + "kanal", + "log", + "serde", + "serde_json", + "simple_logger", + "thiserror", + "tokio", + "wmidi", +] + [[package]] name = "autocfg" version = "1.4.0" @@ -222,23 +239,6 @@ version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" -[[package]] -name = "looper" -version = "0.1.0" -dependencies = [ - "dirs", - "hound", - "jack", - "kanal", - "log", - "serde", - "serde_json", - "simple_logger", - "thiserror", - "tokio", - "wmidi", -] - [[package]] name = "memchr" version = "2.7.4" diff --git a/Cargo.toml b/audio_engine/Cargo.toml similarity index 66% rename from Cargo.toml rename to audio_engine/Cargo.toml index c7e7bf6..afd35a8 100644 --- a/Cargo.toml +++ b/audio_engine/Cargo.toml @@ -1,18 +1,8 @@ [package] -name = "looper" +name = "audio_engine" version = "0.1.0" edition = "2021" -default-run = "looper" - -[[bin]] -name = "looper" -path = "src/audio_engine.rs" - -[[bin]] -name = "sendmidi" -path = "src/sendmidi.rs" - [dependencies] dirs = "5" hound = "3.5" diff --git a/src/allocator.rs b/audio_engine/src/allocator.rs similarity index 100% rename from src/allocator.rs rename to audio_engine/src/allocator.rs diff --git a/src/audio_chunk.rs b/audio_engine/src/audio_chunk.rs similarity index 100% rename from src/audio_chunk.rs rename to audio_engine/src/audio_chunk.rs diff --git a/src/audio_data.rs b/audio_engine/src/audio_data.rs similarity index 100% rename from src/audio_data.rs rename to audio_engine/src/audio_data.rs diff --git a/src/beep.rs b/audio_engine/src/beep.rs similarity index 100% rename from src/beep.rs rename to audio_engine/src/beep.rs diff --git a/src/chunk_factory.rs b/audio_engine/src/chunk_factory.rs similarity index 100% rename from src/chunk_factory.rs rename to audio_engine/src/chunk_factory.rs diff --git a/src/connection_manager.rs b/audio_engine/src/connection_manager.rs similarity index 100% rename from src/connection_manager.rs rename to audio_engine/src/connection_manager.rs diff --git a/src/looper_error.rs b/audio_engine/src/looper_error.rs similarity index 100% rename from src/looper_error.rs rename to audio_engine/src/looper_error.rs diff --git a/src/audio_engine.rs b/audio_engine/src/main.rs similarity index 100% rename from src/audio_engine.rs rename to audio_engine/src/main.rs diff --git a/src/metronome.rs b/audio_engine/src/metronome.rs similarity index 100% rename from src/metronome.rs rename to audio_engine/src/metronome.rs diff --git a/src/midi.rs b/audio_engine/src/midi.rs similarity index 100% rename from src/midi.rs rename to audio_engine/src/midi.rs diff --git a/src/notification_handler.rs b/audio_engine/src/notification_handler.rs similarity index 100% rename from src/notification_handler.rs rename to audio_engine/src/notification_handler.rs diff --git a/src/persistence_manager.rs b/audio_engine/src/persistence_manager.rs similarity index 100% rename from src/persistence_manager.rs rename to audio_engine/src/persistence_manager.rs diff --git a/src/post_record_handler.rs b/audio_engine/src/post_record_handler.rs similarity index 100% rename from src/post_record_handler.rs rename to audio_engine/src/post_record_handler.rs diff --git a/src/process_handler.rs b/audio_engine/src/process_handler.rs similarity index 100% rename from src/process_handler.rs rename to audio_engine/src/process_handler.rs diff --git a/src/state.rs b/audio_engine/src/state.rs similarity index 100% rename from src/state.rs rename to audio_engine/src/state.rs diff --git a/src/track.rs b/audio_engine/src/track.rs similarity index 100% rename from src/track.rs rename to audio_engine/src/track.rs diff --git a/hardware/.gitignore b/hardware/.gitignore new file mode 100644 index 0000000..fcd6853 --- /dev/null +++ b/hardware/.gitignore @@ -0,0 +1,4 @@ +*-backups/ +*.bak +*.zip +fp-info-cache \ No newline at end of file diff --git a/FCB1010/FCB1010_controller/BOM.csv b/hardware/controller/BOM.csv similarity index 100% rename from FCB1010/FCB1010_controller/BOM.csv rename to hardware/controller/BOM.csv diff --git a/FCB1010/FCB1010_controller/FCB1010_controller.kicad_dru b/hardware/controller/FCB1010_controller.kicad_dru similarity index 100% rename from FCB1010/FCB1010_controller/FCB1010_controller.kicad_dru rename to hardware/controller/FCB1010_controller.kicad_dru diff --git a/FCB1010/FCB1010_controller/FCB1010_controller.kicad_pcb b/hardware/controller/FCB1010_controller.kicad_pcb similarity index 100% rename from FCB1010/FCB1010_controller/FCB1010_controller.kicad_pcb rename to hardware/controller/FCB1010_controller.kicad_pcb diff --git a/FCB1010/FCB1010_controller/FCB1010_controller.kicad_prl b/hardware/controller/FCB1010_controller.kicad_prl similarity index 100% rename from FCB1010/FCB1010_controller/FCB1010_controller.kicad_prl rename to hardware/controller/FCB1010_controller.kicad_prl diff --git a/FCB1010/FCB1010_controller/FCB1010_controller.kicad_pro b/hardware/controller/FCB1010_controller.kicad_pro similarity index 100% rename from FCB1010/FCB1010_controller/FCB1010_controller.kicad_pro rename to hardware/controller/FCB1010_controller.kicad_pro diff --git a/FCB1010/FCB1010_controller/FCB1010_controller.kicad_sch b/hardware/controller/FCB1010_controller.kicad_sch similarity index 100% rename from FCB1010/FCB1010_controller/FCB1010_controller.kicad_sch rename to hardware/controller/FCB1010_controller.kicad_sch diff --git a/FCB1010/FCB1010_controller/datasheets/AP2112.pdf b/hardware/controller/datasheets/AP2112.pdf similarity index 100% rename from FCB1010/FCB1010_controller/datasheets/AP2112.pdf rename to hardware/controller/datasheets/AP2112.pdf diff --git a/FCB1010/FCB1010_controller/datasheets/CL05.pdf b/hardware/controller/datasheets/CL05.pdf similarity index 100% rename from FCB1010/FCB1010_controller/datasheets/CL05.pdf rename to hardware/controller/datasheets/CL05.pdf diff --git a/FCB1010/FCB1010_controller/datasheets/stm32f042t6.pdf b/hardware/controller/datasheets/stm32f042t6.pdf similarity index 100% rename from FCB1010/FCB1010_controller/datasheets/stm32f042t6.pdf rename to hardware/controller/datasheets/stm32f042t6.pdf diff --git a/FCB1010/FCB1010_controller/datasheets/txu0104.pdf b/hardware/controller/datasheets/txu0104.pdf similarity index 100% rename from FCB1010/FCB1010_controller/datasheets/txu0104.pdf rename to hardware/controller/datasheets/txu0104.pdf diff --git a/FCB1010/FCB1010_controller/fp-lib-table b/hardware/controller/fp-lib-table similarity index 100% rename from FCB1010/FCB1010_controller/fp-lib-table rename to hardware/controller/fp-lib-table diff --git a/FCB1010/FCB1010_controller/gerber/BOM.csv b/hardware/controller/gerber/BOM.csv similarity index 100% rename from FCB1010/FCB1010_controller/gerber/BOM.csv rename to hardware/controller/gerber/BOM.csv diff --git a/FCB1010/FCB1010_controller/gerber/FCB1010_controller-B_Cu.gbr b/hardware/controller/gerber/FCB1010_controller-B_Cu.gbr similarity index 100% rename from FCB1010/FCB1010_controller/gerber/FCB1010_controller-B_Cu.gbr rename to hardware/controller/gerber/FCB1010_controller-B_Cu.gbr diff --git a/FCB1010/FCB1010_controller/gerber/FCB1010_controller-B_Mask.gbr b/hardware/controller/gerber/FCB1010_controller-B_Mask.gbr similarity index 100% rename from FCB1010/FCB1010_controller/gerber/FCB1010_controller-B_Mask.gbr rename to hardware/controller/gerber/FCB1010_controller-B_Mask.gbr diff --git a/FCB1010/FCB1010_controller/gerber/FCB1010_controller-B_Paste.gbr b/hardware/controller/gerber/FCB1010_controller-B_Paste.gbr similarity index 100% rename from FCB1010/FCB1010_controller/gerber/FCB1010_controller-B_Paste.gbr rename to hardware/controller/gerber/FCB1010_controller-B_Paste.gbr diff --git a/FCB1010/FCB1010_controller/gerber/FCB1010_controller-B_Silkscreen.gbr b/hardware/controller/gerber/FCB1010_controller-B_Silkscreen.gbr similarity index 100% rename from FCB1010/FCB1010_controller/gerber/FCB1010_controller-B_Silkscreen.gbr rename to hardware/controller/gerber/FCB1010_controller-B_Silkscreen.gbr diff --git a/FCB1010/FCB1010_controller/gerber/FCB1010_controller-Edge_Cuts.gbr b/hardware/controller/gerber/FCB1010_controller-Edge_Cuts.gbr similarity index 100% rename from FCB1010/FCB1010_controller/gerber/FCB1010_controller-Edge_Cuts.gbr rename to hardware/controller/gerber/FCB1010_controller-Edge_Cuts.gbr diff --git a/FCB1010/FCB1010_controller/gerber/FCB1010_controller-F_Cu.gbr b/hardware/controller/gerber/FCB1010_controller-F_Cu.gbr similarity index 100% rename from FCB1010/FCB1010_controller/gerber/FCB1010_controller-F_Cu.gbr rename to hardware/controller/gerber/FCB1010_controller-F_Cu.gbr diff --git a/FCB1010/FCB1010_controller/gerber/FCB1010_controller-F_Mask.gbr b/hardware/controller/gerber/FCB1010_controller-F_Mask.gbr similarity index 100% rename from FCB1010/FCB1010_controller/gerber/FCB1010_controller-F_Mask.gbr rename to hardware/controller/gerber/FCB1010_controller-F_Mask.gbr diff --git a/FCB1010/FCB1010_controller/gerber/FCB1010_controller-F_Paste.gbr b/hardware/controller/gerber/FCB1010_controller-F_Paste.gbr similarity index 100% rename from FCB1010/FCB1010_controller/gerber/FCB1010_controller-F_Paste.gbr rename to hardware/controller/gerber/FCB1010_controller-F_Paste.gbr diff --git a/FCB1010/FCB1010_controller/gerber/FCB1010_controller-F_Silkscreen.gbr b/hardware/controller/gerber/FCB1010_controller-F_Silkscreen.gbr similarity index 100% rename from FCB1010/FCB1010_controller/gerber/FCB1010_controller-F_Silkscreen.gbr rename to hardware/controller/gerber/FCB1010_controller-F_Silkscreen.gbr diff --git a/FCB1010/FCB1010_controller/gerber/FCB1010_controller-In1_Cu.gbr b/hardware/controller/gerber/FCB1010_controller-In1_Cu.gbr similarity index 100% rename from FCB1010/FCB1010_controller/gerber/FCB1010_controller-In1_Cu.gbr rename to hardware/controller/gerber/FCB1010_controller-In1_Cu.gbr diff --git a/FCB1010/FCB1010_controller/gerber/FCB1010_controller-In2_Cu.gbr b/hardware/controller/gerber/FCB1010_controller-In2_Cu.gbr similarity index 100% rename from FCB1010/FCB1010_controller/gerber/FCB1010_controller-In2_Cu.gbr rename to hardware/controller/gerber/FCB1010_controller-In2_Cu.gbr diff --git a/FCB1010/FCB1010_controller/gerber/FCB1010_controller-NPTH.drl b/hardware/controller/gerber/FCB1010_controller-NPTH.drl similarity index 100% rename from FCB1010/FCB1010_controller/gerber/FCB1010_controller-NPTH.drl rename to hardware/controller/gerber/FCB1010_controller-NPTH.drl diff --git a/FCB1010/FCB1010_controller/gerber/FCB1010_controller-PTH.drl b/hardware/controller/gerber/FCB1010_controller-PTH.drl similarity index 100% rename from FCB1010/FCB1010_controller/gerber/FCB1010_controller-PTH.drl rename to hardware/controller/gerber/FCB1010_controller-PTH.drl diff --git a/FCB1010/FCB1010_controller/gerber/FCB1010_controller-job.gbrjob b/hardware/controller/gerber/FCB1010_controller-job.gbrjob similarity index 100% rename from FCB1010/FCB1010_controller/gerber/FCB1010_controller-job.gbrjob rename to hardware/controller/gerber/FCB1010_controller-job.gbrjob diff --git a/FCB1010/FCB1010_controller/gerber/FCB1010_controller-top-pos.csv b/hardware/controller/gerber/FCB1010_controller-top-pos.csv similarity index 100% rename from FCB1010/FCB1010_controller/gerber/FCB1010_controller-top-pos.csv rename to hardware/controller/gerber/FCB1010_controller-top-pos.csv diff --git a/FCB1010/FCB1010_controller/lib/AP2112K-3.3TRG1/2025-05-30_17-37-08.kicad_sym b/hardware/controller/lib/AP2112K-3.3TRG1/2025-05-30_17-37-08.kicad_sym similarity index 100% rename from FCB1010/FCB1010_controller/lib/AP2112K-3.3TRG1/2025-05-30_17-37-08.kicad_sym rename to hardware/controller/lib/AP2112K-3.3TRG1/2025-05-30_17-37-08.kicad_sym diff --git a/FCB1010/FCB1010_controller/lib/AP2112K-3.3TRG1/SOT-25-5pin.stp b/hardware/controller/lib/AP2112K-3.3TRG1/SOT-25-5pin.stp similarity index 100% rename from FCB1010/FCB1010_controller/lib/AP2112K-3.3TRG1/SOT-25-5pin.stp rename to hardware/controller/lib/AP2112K-3.3TRG1/SOT-25-5pin.stp diff --git a/FCB1010/FCB1010_controller/lib/AP2112K-3.3TRG1/footprints.pretty/SOT_RG1_DIO-L.kicad_mod b/hardware/controller/lib/AP2112K-3.3TRG1/footprints.pretty/SOT_RG1_DIO-L.kicad_mod similarity index 100% rename from FCB1010/FCB1010_controller/lib/AP2112K-3.3TRG1/footprints.pretty/SOT_RG1_DIO-L.kicad_mod rename to hardware/controller/lib/AP2112K-3.3TRG1/footprints.pretty/SOT_RG1_DIO-L.kicad_mod diff --git a/FCB1010/FCB1010_controller/lib/AP2112K-3.3TRG1/footprints.pretty/SOT_RG1_DIO-M.kicad_mod b/hardware/controller/lib/AP2112K-3.3TRG1/footprints.pretty/SOT_RG1_DIO-M.kicad_mod similarity index 100% rename from FCB1010/FCB1010_controller/lib/AP2112K-3.3TRG1/footprints.pretty/SOT_RG1_DIO-M.kicad_mod rename to hardware/controller/lib/AP2112K-3.3TRG1/footprints.pretty/SOT_RG1_DIO-M.kicad_mod diff --git a/FCB1010/FCB1010_controller/lib/AP2112K-3.3TRG1/footprints.pretty/SOT_RG1_DIO.kicad_mod b/hardware/controller/lib/AP2112K-3.3TRG1/footprints.pretty/SOT_RG1_DIO.kicad_mod similarity index 100% rename from FCB1010/FCB1010_controller/lib/AP2112K-3.3TRG1/footprints.pretty/SOT_RG1_DIO.kicad_mod rename to hardware/controller/lib/AP2112K-3.3TRG1/footprints.pretty/SOT_RG1_DIO.kicad_mod diff --git a/FCB1010/FCB1010_controller/lib/CL05/footprints.pretty/C_0402.kicad_mod b/hardware/controller/lib/CL05/footprints.pretty/C_0402.kicad_mod similarity index 100% rename from FCB1010/FCB1010_controller/lib/CL05/footprints.pretty/C_0402.kicad_mod rename to hardware/controller/lib/CL05/footprints.pretty/C_0402.kicad_mod diff --git a/FCB1010/FCB1010_controller/lib/STM32F042C6T6/LQFP48-7x7mm.step b/hardware/controller/lib/STM32F042C6T6/LQFP48-7x7mm.step similarity index 100% rename from FCB1010/FCB1010_controller/lib/STM32F042C6T6/LQFP48-7x7mm.step rename to hardware/controller/lib/STM32F042C6T6/LQFP48-7x7mm.step diff --git a/FCB1010/FCB1010_controller/lib/STM32F042C6T6/STM32F042C6T6.kicad_sym b/hardware/controller/lib/STM32F042C6T6/STM32F042C6T6.kicad_sym similarity index 100% rename from FCB1010/FCB1010_controller/lib/STM32F042C6T6/STM32F042C6T6.kicad_sym rename to hardware/controller/lib/STM32F042C6T6/STM32F042C6T6.kicad_sym diff --git a/FCB1010/FCB1010_controller/lib/STM32F042C6T6/footprints.pretty/QFP50P700X700X160-48N.kicad_mod b/hardware/controller/lib/STM32F042C6T6/footprints.pretty/QFP50P700X700X160-48N.kicad_mod similarity index 100% rename from FCB1010/FCB1010_controller/lib/STM32F042C6T6/footprints.pretty/QFP50P700X700X160-48N.kicad_mod rename to hardware/controller/lib/STM32F042C6T6/footprints.pretty/QFP50P700X700X160-48N.kicad_mod diff --git a/FCB1010/FCB1010_controller/lib/TXU0104RUTR/2025-05-30_16-08-53.kicad_sym b/hardware/controller/lib/TXU0104RUTR/2025-05-30_16-08-53.kicad_sym similarity index 100% rename from FCB1010/FCB1010_controller/lib/TXU0104RUTR/2025-05-30_16-08-53.kicad_sym rename to hardware/controller/lib/TXU0104RUTR/2025-05-30_16-08-53.kicad_sym diff --git a/FCB1010/FCB1010_controller/lib/TXU0104RUTR/RUT0012A.stp b/hardware/controller/lib/TXU0104RUTR/RUT0012A.stp similarity index 100% rename from FCB1010/FCB1010_controller/lib/TXU0104RUTR/RUT0012A.stp rename to hardware/controller/lib/TXU0104RUTR/RUT0012A.stp diff --git a/FCB1010/FCB1010_controller/lib/TXU0104RUTR/footprints.pretty/PQFP12_RUT_TEX-L.kicad_mod b/hardware/controller/lib/TXU0104RUTR/footprints.pretty/PQFP12_RUT_TEX-L.kicad_mod similarity index 100% rename from FCB1010/FCB1010_controller/lib/TXU0104RUTR/footprints.pretty/PQFP12_RUT_TEX-L.kicad_mod rename to hardware/controller/lib/TXU0104RUTR/footprints.pretty/PQFP12_RUT_TEX-L.kicad_mod diff --git a/FCB1010/FCB1010_controller/lib/TXU0104RUTR/footprints.pretty/PQFP12_RUT_TEX-M.kicad_mod b/hardware/controller/lib/TXU0104RUTR/footprints.pretty/PQFP12_RUT_TEX-M.kicad_mod similarity index 100% rename from FCB1010/FCB1010_controller/lib/TXU0104RUTR/footprints.pretty/PQFP12_RUT_TEX-M.kicad_mod rename to hardware/controller/lib/TXU0104RUTR/footprints.pretty/PQFP12_RUT_TEX-M.kicad_mod diff --git a/FCB1010/FCB1010_controller/lib/TXU0104RUTR/footprints.pretty/PQFP12_RUT_TEX.kicad_mod b/hardware/controller/lib/TXU0104RUTR/footprints.pretty/PQFP12_RUT_TEX.kicad_mod similarity index 100% rename from FCB1010/FCB1010_controller/lib/TXU0104RUTR/footprints.pretty/PQFP12_RUT_TEX.kicad_mod rename to hardware/controller/lib/TXU0104RUTR/footprints.pretty/PQFP12_RUT_TEX.kicad_mod diff --git a/FCB1010/FCB1010_controller/lib/W78C32C/W78C32C.kicad_sym b/hardware/controller/lib/W78C32C/W78C32C.kicad_sym similarity index 100% rename from FCB1010/FCB1010_controller/lib/W78C32C/W78C32C.kicad_sym rename to hardware/controller/lib/W78C32C/W78C32C.kicad_sym diff --git a/FCB1010/FCB1010_controller/lib/W78C32C/footprints.pretty/W78C32C.kicad_mod b/hardware/controller/lib/W78C32C/footprints.pretty/W78C32C.kicad_mod similarity index 100% rename from FCB1010/FCB1010_controller/lib/W78C32C/footprints.pretty/W78C32C.kicad_mod rename to hardware/controller/lib/W78C32C/footprints.pretty/W78C32C.kicad_mod diff --git a/FCB1010/FCB1010_controller/lib/X1321WVS-2x04J-C40D53/footprints.pretty/X1321WVS-2x04J-C40D53.kicad_mod b/hardware/controller/lib/X1321WVS-2x04J-C40D53/footprints.pretty/X1321WVS-2x04J-C40D53.kicad_mod similarity index 100% rename from FCB1010/FCB1010_controller/lib/X1321WVS-2x04J-C40D53/footprints.pretty/X1321WVS-2x04J-C40D53.kicad_mod rename to hardware/controller/lib/X1321WVS-2x04J-C40D53/footprints.pretty/X1321WVS-2x04J-C40D53.kicad_mod diff --git a/FCB1010/FCB1010_controller/pick_and_place/FCB1010_controller-top-pos.csv b/hardware/controller/pick_and_place/FCB1010_controller-top-pos.csv similarity index 100% rename from FCB1010/FCB1010_controller/pick_and_place/FCB1010_controller-top-pos.csv rename to hardware/controller/pick_and_place/FCB1010_controller-top-pos.csv diff --git a/FCB1010/FCB1010_controller/sym-lib-table b/hardware/controller/sym-lib-table similarity index 100% rename from FCB1010/FCB1010_controller/sym-lib-table rename to hardware/controller/sym-lib-table diff --git a/FCB1010/FCB1010/FCB1010.kicad_pcb b/hardware/main_board/FCB1010.kicad_pcb similarity index 100% rename from FCB1010/FCB1010/FCB1010.kicad_pcb rename to hardware/main_board/FCB1010.kicad_pcb diff --git a/FCB1010/FCB1010/FCB1010.kicad_prl b/hardware/main_board/FCB1010.kicad_prl similarity index 100% rename from FCB1010/FCB1010/FCB1010.kicad_prl rename to hardware/main_board/FCB1010.kicad_prl diff --git a/FCB1010/FCB1010/FCB1010.kicad_pro b/hardware/main_board/FCB1010.kicad_pro similarity index 100% rename from FCB1010/FCB1010/FCB1010.kicad_pro rename to hardware/main_board/FCB1010.kicad_pro diff --git a/FCB1010/FCB1010/FCB1010.kicad_sch b/hardware/main_board/FCB1010.kicad_sch similarity index 100% rename from FCB1010/FCB1010/FCB1010.kicad_sch rename to hardware/main_board/FCB1010.kicad_sch diff --git a/FCB1010/FCB1010/datasheets/74HC273D.pdf b/hardware/main_board/datasheets/74HC273D.pdf similarity index 100% rename from FCB1010/FCB1010/datasheets/74HC273D.pdf rename to hardware/main_board/datasheets/74HC273D.pdf diff --git a/FCB1010/FCB1010/datasheets/74HC_HCT04.pdf b/hardware/main_board/datasheets/74HC_HCT04.pdf similarity index 100% rename from FCB1010/FCB1010/datasheets/74HC_HCT04.pdf rename to hardware/main_board/datasheets/74HC_HCT04.pdf diff --git a/FCB1010/FCB1010/datasheets/74HC_HCT138.pdf b/hardware/main_board/datasheets/74HC_HCT138.pdf similarity index 100% rename from FCB1010/FCB1010/datasheets/74HC_HCT138.pdf rename to hardware/main_board/datasheets/74HC_HCT138.pdf diff --git a/FCB1010/FCB1010/datasheets/74HC_HCT373.pdf b/hardware/main_board/datasheets/74HC_HCT373.pdf similarity index 100% rename from FCB1010/FCB1010/datasheets/74HC_HCT373.pdf rename to hardware/main_board/datasheets/74HC_HCT373.pdf diff --git a/FCB1010/FCB1010/datasheets/80C31_80C32.pdf b/hardware/main_board/datasheets/80C31_80C32.pdf similarity index 100% rename from FCB1010/FCB1010/datasheets/80C31_80C32.pdf rename to hardware/main_board/datasheets/80C31_80C32.pdf diff --git a/FCB1010/FCB1010/datasheets/KM62256C.pdf b/hardware/main_board/datasheets/KM62256C.pdf similarity index 100% rename from FCB1010/FCB1010/datasheets/KM62256C.pdf rename to hardware/main_board/datasheets/KM62256C.pdf diff --git a/FCB1010/FCB1010/datasheets/W78C32C.pdf b/hardware/main_board/datasheets/W78C32C.pdf similarity index 100% rename from FCB1010/FCB1010/datasheets/W78C32C.pdf rename to hardware/main_board/datasheets/W78C32C.pdf diff --git a/FCB1010/FCB1010/datasheets/tl7705a.pdf b/hardware/main_board/datasheets/tl7705a.pdf similarity index 100% rename from FCB1010/FCB1010/datasheets/tl7705a.pdf rename to hardware/main_board/datasheets/tl7705a.pdf diff --git a/FCB1010/FCB1010/datasheets/tlc0832.pdf b/hardware/main_board/datasheets/tlc0832.pdf similarity index 100% rename from FCB1010/FCB1010/datasheets/tlc0832.pdf rename to hardware/main_board/datasheets/tlc0832.pdf diff --git a/FCB1010/pinmap.txt b/hardware/pinmap.txt similarity index 100% rename from FCB1010/pinmap.txt rename to hardware/pinmap.txt diff --git a/simulator/.gitignore b/simulator/.gitignore new file mode 100644 index 0000000..c41cc9e --- /dev/null +++ b/simulator/.gitignore @@ -0,0 +1 @@ +/target \ No newline at end of file diff --git a/simulator/Cargo.lock b/simulator/Cargo.lock new file mode 100644 index 0000000..fd99111 --- /dev/null +++ b/simulator/Cargo.lock @@ -0,0 +1,157 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "jack" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f70ca699f44c04a32d419fc9ed699aaea89657fc09014bf3fa238e91d13041b9" +dependencies = [ + "bitflags 2.9.1", + "jack-sys", + "lazy_static", + "libc", + "log", +] + +[[package]] +name = "jack-sys" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6013b7619b95a22b576dfb43296faa4ecbe40abbdb97dfd22ead520775fc86ab" +dependencies = [ + "bitflags 1.3.2", + "lazy_static", + "libc", + "libloading", + "log", + "pkg-config", +] + +[[package]] +name = "kanal" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3953adf0cd667798b396c2fa13552d6d9b3269d7dd1154c4c416442d1ff574" +dependencies = [ + "futures-core", + "lock_api", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libc" +version = "0.2.172" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "lock_api" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "simulator" +version = "0.1.0" +dependencies = [ + "jack", + "kanal", + "wmidi", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "wmidi" +version = "4.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e55f35b40ad0178422d06e9ba845041baf2faf04627b91fde928d0f6a21c712" diff --git a/simulator/Cargo.toml b/simulator/Cargo.toml new file mode 100644 index 0000000..7fb2266 --- /dev/null +++ b/simulator/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "simulator" +version = "0.1.0" +edition = "2021" + +[dependencies] +jack = "0.13" +kanal = "0.1" +wmidi = "4" \ No newline at end of file diff --git a/src/sendmidi.rs b/simulator/src/main.rs similarity index 97% rename from src/sendmidi.rs rename to simulator/src/main.rs index e83b165..47c0566 100644 --- a/src/sendmidi.rs +++ b/simulator/src/main.rs @@ -54,7 +54,7 @@ impl jack::ProcessHandler for MidiSender { } fn show_help() { - println!("\nFCB1010 MIDI Simulator (Rust Edition)"); + println!("\nFCB1010 MIDI simulator"); println!("====================================="); println!("Button mappings:"); println!("1 - Button 1 (CC 20): Record/Arm / Tap Tempo"); @@ -98,7 +98,7 @@ fn main() -> Result<(), Box> { println!("Starting FCB1010 MIDI Simulator..."); // Create JACK client - let (client, status) = jack::Client::new("sendmidi", jack::ClientOptions::NO_START_SERVER)?; + let (client, status) = jack::Client::new("FCB1010", jack::ClientOptions::NO_START_SERVER)?; if !status.is_empty() { eprintln!("JACK client status: {:?}", status); }