From c42e73f17ae22ebdbc4dbcdfd3067f3255e1b631 Mon Sep 17 00:00:00 2001 From: David Given Date: Wed, 16 Oct 2024 00:41:57 +0200 Subject: [PATCH] Modularise fluxsink and usb. --- build.py | 20 +------------------- lib/{usb => external}/applesauce.h | 0 lib/external/build.py | 11 +++++++---- lib/{usb => external}/greaseweazle.cc | 0 lib/{usb => external}/greaseweazle.h | 0 lib/fluxsink/build.py | 17 ++++++++++++++++- lib/fluxsink/hardwarefluxsink.cc | 1 - lib/usb/build.py | 15 +++++++++++++++ lib/usb/greaseweazleusb.cc | 2 +- lib/usb/usb.cc | 4 ++-- lib/usb/usbfinder.cc | 4 ++-- tests/greaseweazle.cc | 2 +- 12 files changed, 45 insertions(+), 31 deletions(-) rename lib/{usb => external}/applesauce.h (100%) rename lib/{usb => external}/greaseweazle.cc (100%) rename lib/{usb => external}/greaseweazle.h (100%) diff --git a/build.py b/build.py index 016d81ca..21f77ec6 100644 --- a/build.py +++ b/build.py @@ -26,13 +26,6 @@ cxxlibrary( "./lib/decoders/fluxdecoder.cc", "./lib/decoders/fmmfm.cc", "./lib/encoders/encoders.cc", - "./lib/fluxsink/a2rfluxsink.cc", - "./lib/fluxsink/aufluxsink.cc", - "./lib/fluxsink/fl2fluxsink.cc", - "./lib/fluxsink/fluxsink.cc", - "./lib/fluxsink/hardwarefluxsink.cc", - "./lib/fluxsink/scpfluxsink.cc", - "./lib/fluxsink/vcdfluxsink.cc", "./lib/fluxsource/a2rfluxsource.cc", "./lib/fluxsource/cwffluxsource.cc", "./lib/fluxsource/dmkfluxsource.cc", @@ -67,13 +60,6 @@ cxxlibrary( "./lib/imagewriter/nsiimagewriter.cc", "./lib/imagewriter/rawimagewriter.cc", "./lib/readerwriter.cc", - "./lib/usb/applesauceusb.cc", - "./lib/usb/fluxengineusb.cc", - "./lib/usb/greaseweazle.cc", - "./lib/usb/greaseweazleusb.cc", - "./lib/usb/serial.cc", - "./lib/usb/usb.cc", - "./lib/usb/usbfinder.cc", "./arch/aeslanier/decoder.cc", "./arch/agat/agat.cc", "./arch/agat/decoder.cc", @@ -140,15 +126,10 @@ cxxlibrary( "lib/decoders/fluxdecoder.h": "./lib/decoders/fluxdecoder.h", "lib/decoders/rawbits.h": "./lib/decoders/rawbits.h", "lib/encoders/encoders.h": "./lib/encoders/encoders.h", - "lib/fluxsink/fluxsink.h": "./lib/fluxsink/fluxsink.h", "lib/fluxsource/fluxsource.h": "lib/fluxsource/fluxsource.h", "lib/imagereader/imagereader.h": "./lib/imagereader/imagereader.h", "lib/imagewriter/imagewriter.h": "./lib/imagewriter/imagewriter.h", "lib/readerwriter.h": "./lib/readerwriter.h", - "lib/usb/applesauce.h": "./lib/usb/applesauce.h", - "lib/usb/greaseweazle.h": "./lib/usb/greaseweazle.h", - "lib/usb/usb.h": "./lib/usb/usb.h", - "lib/usb/usbfinder.h": "./lib/usb/usbfinder.h", }, deps=[ "+fmt_lib", @@ -163,6 +144,7 @@ cxxlibrary( "lib/config", "lib/data", "lib/external", + "lib/fluxsink", "lib/fluxsource+proto_lib", ], ) diff --git a/lib/usb/applesauce.h b/lib/external/applesauce.h similarity index 100% rename from lib/usb/applesauce.h rename to lib/external/applesauce.h diff --git a/lib/external/build.py b/lib/external/build.py index b83027f7..c41eb121 100644 --- a/lib/external/build.py +++ b/lib/external/build.py @@ -7,22 +7,25 @@ protocc(name="fl2_proto_lib", srcs=[".+fl2_proto"]) cxxlibrary( name="external", srcs=[ - "./ldbs.cc", - "./fl2.cc", - "./kryoflux.cc", "./catweasel.cc", "./csvreader.cc", + "./fl2.cc", "./flx.cc", + "./greaseweazle.cc", + "./kryoflux.cc", + "./ldbs.cc", ], hdrs={ "lib/external/a2r.h": "./a2r.h", + "lib/external/applesauce.h": "./applesauce.h", "lib/external/catweasel.h": "./catweasel.h", "lib/external/csvreader.h": "./csvreader.h", "lib/external/fl2.h": "./fl2.h", + "lib/external/flx.h": "./flx.h", + "lib/external/greaseweazle.h": "./greaseweazle.h", "lib/external/kryoflux.h": "./kryoflux.h", "lib/external/ldbs.h": "./ldbs.h", "lib/external/scp.h": "./scp.h", - "lib/external/flx.h": "./flx.h", }, deps=["lib/core", ".+fl2_proto_lib", "lib/data"], ) diff --git a/lib/usb/greaseweazle.cc b/lib/external/greaseweazle.cc similarity index 100% rename from lib/usb/greaseweazle.cc rename to lib/external/greaseweazle.cc diff --git a/lib/usb/greaseweazle.h b/lib/external/greaseweazle.h similarity index 100% rename from lib/usb/greaseweazle.h rename to lib/external/greaseweazle.h diff --git a/lib/fluxsink/build.py b/lib/fluxsink/build.py index ea917e84..ffaed467 100644 --- a/lib/fluxsink/build.py +++ b/lib/fluxsink/build.py @@ -1,5 +1,20 @@ from build.protobuf import proto, protocc +from build.c import cxxlibrary proto(name="proto", srcs=["./fluxsink.proto"], deps=["lib+common_proto"]) - protocc(name="proto_lib", srcs=[".+proto"], deps=["lib+common_proto_lib"]) + +cxxlibrary( + name="fluxsink", + srcs=[ + "./a2rfluxsink.cc", + "./aufluxsink.cc", + "./fl2fluxsink.cc", + "./fluxsink.cc", + "./hardwarefluxsink.cc", + "./scpfluxsink.cc", + "./vcdfluxsink.cc", + ], + hdrs={"lib/fluxsink/fluxsink.h": "./fluxsink.h"}, + deps=["lib/core", "lib/config", "lib/data", "lib/external","lib/usb"], +) diff --git a/lib/fluxsink/hardwarefluxsink.cc b/lib/fluxsink/hardwarefluxsink.cc index 7966ac9c..71062326 100644 --- a/lib/fluxsink/hardwarefluxsink.cc +++ b/lib/fluxsink/hardwarefluxsink.cc @@ -7,7 +7,6 @@ #include "lib/usb/usb.h" #include "lib/fluxsink/fluxsink.h" #include "lib/fluxsink/fluxsink.pb.h" -#include "lib/readerwriter.h" class HardwareFluxSink : public FluxSink { diff --git a/lib/usb/build.py b/lib/usb/build.py index abbb5171..accb2803 100644 --- a/lib/usb/build.py +++ b/lib/usb/build.py @@ -1,4 +1,19 @@ from build.protobuf import proto, protocc +from build.c import cxxlibrary proto(name="proto", srcs=["./usb.proto"], deps=["lib+common_proto"]) protocc(name="proto_lib", srcs=[".+proto"], deps=["lib+common_proto_lib"]) + +cxxlibrary( + name="usb", + srcs=[ + "./applesauceusb.cc", + "./fluxengineusb.cc", + "./greaseweazleusb.cc", + "./serial.cc", + "./usb.cc", + "./usbfinder.cc", + ], + hdrs={"lib/usb/usb.h": "./usb.h", "lib/usb/usbfinder.h": "./usbfinder.h"}, + deps=["lib/core", "lib/config", "lib/external", "dep/libusbp", "+protocol"], +) diff --git a/lib/usb/greaseweazleusb.cc b/lib/usb/greaseweazleusb.cc index 3b0effae..a0849b60 100644 --- a/lib/usb/greaseweazleusb.cc +++ b/lib/usb/greaseweazleusb.cc @@ -3,7 +3,7 @@ #include "lib/data/fluxmap.h" #include "lib/core/bytes.h" #include "lib/usb/usb.pb.h" -#include "greaseweazle.h" +#include "lib/external/greaseweazle.h" #include "serial.h" #include "usb.h" #include diff --git a/lib/usb/usb.cc b/lib/usb/usb.cc index e55a6e8d..e35ca604 100644 --- a/lib/usb/usb.cc +++ b/lib/usb/usb.cc @@ -10,8 +10,8 @@ #include "lib/config/proto.h" #include "usbfinder.h" #include "lib/core/logger.h" -#include "applesauce.h" -#include "greaseweazle.h" +#include "lib/external/applesauce.h" +#include "lib/external/greaseweazle.h" static USB* usb = NULL; diff --git a/lib/usb/usbfinder.cc b/lib/usb/usbfinder.cc index d9c357e8..3318d109 100644 --- a/lib/usb/usbfinder.cc +++ b/lib/usb/usbfinder.cc @@ -3,8 +3,8 @@ #include "usb.h" #include "lib/core/bytes.h" #include "usbfinder.h" -#include "applesauce.h" -#include "greaseweazle.h" +#include "lib/external/applesauce.h" +#include "lib/external/greaseweazle.h" #include "protocol.h" #include "libusbp.hpp" diff --git a/tests/greaseweazle.cc b/tests/greaseweazle.cc index 6b3dc12c..d85e4e3b 100644 --- a/tests/greaseweazle.cc +++ b/tests/greaseweazle.cc @@ -3,7 +3,7 @@ #include #include "lib/core/globals.h" #include "lib/data/fluxmap.h" -#include "lib/usb/greaseweazle.h" +#include "lib/external/greaseweazle.h" #define E28(val) \ (1 | ((val) << 1) & 0xff), (1 | ((val) >> 6) & 0xff), \