From 16b51a3b66c2566ff97b93b2419067c80d490e75 Mon Sep 17 00:00:00 2001 From: Hayodea Hekol Date: Fri, 14 Nov 2025 23:50:31 -0400 Subject: [PATCH] Rename PcloudDataProducer=>PcloudStimulusProducer --- stimBuffApis/livoxGen1/CMakeLists.txt | 2 +- .../livoxGen1/ioUringAssemblyEngine.cpp | 4 ++-- .../livoxGen1/ioUringAssemblyEngine.h | 6 ++--- stimBuffApis/livoxGen1/livoxGen1.cpp | 22 ++++++++++-------- .../openClCollatingAndMeshingEngine.cpp | 4 ++-- .../openClCollatingAndMeshingEngine.h | 6 ++--- ...roducer.cpp => pcloudStimulusProducer.cpp} | 20 ++++++++-------- ...ataProducer.h => pcloudStimulusProducer.h} | 23 +++++++++---------- 8 files changed, 44 insertions(+), 43 deletions(-) rename stimBuffApis/livoxGen1/{pcloudDataProducer.cpp => pcloudStimulusProducer.cpp} (92%) rename stimBuffApis/livoxGen1/{pcloudDataProducer.h => pcloudStimulusProducer.h} (76%) diff --git a/stimBuffApis/livoxGen1/CMakeLists.txt b/stimBuffApis/livoxGen1/CMakeLists.txt index a7bb062..818d478 100644 --- a/stimBuffApis/livoxGen1/CMakeLists.txt +++ b/stimBuffApis/livoxGen1/CMakeLists.txt @@ -59,7 +59,7 @@ if(ENABLE_STIMBUFFAPI_livoxGen1) add_library(livoxGen1 SHARED livoxGen1.cpp stagingBuffer.cpp - pcloudDataProducer.cpp + pcloudStimulusProducer.cpp ioUringAssemblyEngine.cpp openClCollatingAndMeshingEngine.cpp openClKernels.cl.S diff --git a/stimBuffApis/livoxGen1/ioUringAssemblyEngine.cpp b/stimBuffApis/livoxGen1/ioUringAssemblyEngine.cpp index dfacf3f..6246d64 100644 --- a/stimBuffApis/livoxGen1/ioUringAssemblyEngine.cpp +++ b/stimBuffApis/livoxGen1/ioUringAssemblyEngine.cpp @@ -24,7 +24,7 @@ #include #include #include "ioUringAssemblyEngine.h" -#include "pcloudDataProducer.h" +#include "pcloudStimulusProducer.h" #include "livoxGen1.h" // #define REGISTER_IOURING_BUFFERS @@ -56,7 +56,7 @@ struct DummyLivoxEthHeader }; IoUringAssemblyEngine::IoUringAssemblyEngine( - PcloudDataProducer& parent_, size_t nDgramsPerStagingBufferFrame_) + PcloudStimulusProducer& parent_, size_t nDgramsPerStagingBufferFrame_) : parent(parent_), frameAssemblyDesc(nullptr), ring{}, eventfdFd(-1), eventfdDesc(nullptr), eventfd_value(0), diff --git a/stimBuffApis/livoxGen1/ioUringAssemblyEngine.h b/stimBuffApis/livoxGen1/ioUringAssemblyEngine.h index 865b170..19c9808 100644 --- a/stimBuffApis/livoxGen1/ioUringAssemblyEngine.h +++ b/stimBuffApis/livoxGen1/ioUringAssemblyEngine.h @@ -24,13 +24,13 @@ namespace smo { namespace stim_buff { -class PcloudDataProducer; +class PcloudStimulusProducer; class IoUringAssemblyEngine { public: explicit IoUringAssemblyEngine( - PcloudDataProducer& parent, size_t nDgramsPerStagingBufferFrame); + PcloudStimulusProducer& parent, size_t nDgramsPerStagingBufferFrame); ~IoUringAssemblyEngine() = default; bool setup(); @@ -53,7 +53,7 @@ private: bool stop(); private: - PcloudDataProducer& parent; + PcloudStimulusProducer& parent; // Cached descriptor for reuse across iterations std::shared_ptr frameAssemblyDesc; diff --git a/stimBuffApis/livoxGen1/livoxGen1.cpp b/stimBuffApis/livoxGen1/livoxGen1.cpp index 041b6ba..91272f0 100644 --- a/stimBuffApis/livoxGen1/livoxGen1.cpp +++ b/stimBuffApis/livoxGen1/livoxGen1.cpp @@ -16,7 +16,7 @@ #include #include #include -#include "pcloudDataProducer.h" +#include "pcloudStimulusProducer.h" #include "livoxGen1.h" @@ -88,7 +88,7 @@ public: public: const std::shared_ptr spec; - std::shared_ptr stimProducer; + std::shared_ptr stimProducer; std::shared_ptr deviceTmp; private: @@ -197,10 +197,12 @@ public: } } - // Create and add PcloudDataProducer to collection now that device is ready - PcloudDataProducer::PcloudFormatDesc formatDesc; - formatDesc.format = PcloudDataProducer::PcloudFormatDesc::Format::XYZI; - auto pcloudDataProducer = std::make_shared( + // Create and add PcloudStimulusProducer to collection now that device is ready + PcloudStimulusProducer::PcloudFormatDesc formatDesc; + formatDesc.format = PcloudStimulusProducer::PcloudFormatDesc::Format + ::XYZI; + + auto pcloudDataProducer = std::make_shared( context->spec, context->deviceTmp, formatDesc, 30); context->stimProducer = pcloudDataProducer; @@ -284,7 +286,7 @@ class DetachDeviceReq public: DetachDeviceReq( const std::shared_ptr& spec, - const std::shared_ptr& stimProducer, + const std::shared_ptr& stimProducer, smo::Callback cb) : smo::NonPostedAsynchronousContinuation( std::move(cb)), @@ -293,7 +295,7 @@ public: public: const std::shared_ptr spec; - std::shared_ptr stimProducer; + std::shared_ptr stimProducer; private: std::unique_ptr delayTimer; @@ -522,7 +524,7 @@ extern "C" void livoxGen1_attachDeviceReq( auto request = std::make_shared(desc, cb); // Check if stimulus producer already exists in the collection - auto pcloudDataProducer = std::static_pointer_cast( + auto pcloudDataProducer = std::static_pointer_cast( getStimulusProducer(desc)); if (pcloudDataProducer) @@ -653,7 +655,7 @@ extern "C" void livoxGen1_detachDeviceReq( ) { // Check if stimulus producer exists in the collection - auto stimProducer = std::static_pointer_cast( + auto stimProducer = std::static_pointer_cast( getStimulusProducer(desc)); if (!stimProducer) diff --git a/stimBuffApis/livoxGen1/openClCollatingAndMeshingEngine.cpp b/stimBuffApis/livoxGen1/openClCollatingAndMeshingEngine.cpp index f646732..f4680b4 100644 --- a/stimBuffApis/livoxGen1/openClCollatingAndMeshingEngine.cpp +++ b/stimBuffApis/livoxGen1/openClCollatingAndMeshingEngine.cpp @@ -13,7 +13,7 @@ #include #include "livoxGen1.h" #include "openClCollatingAndMeshingEngine.h" -#include "pcloudDataProducer.h" +#include "pcloudStimulusProducer.h" #include "openClKernels.h" #include "frameAssemblyDesc.h" #include "ioUringAssemblyEngine.h" @@ -82,7 +82,7 @@ static bool validateOpenClVersion( } OpenClCollatingAndMeshingEngine::OpenClCollatingAndMeshingEngine( - PcloudDataProducer& parent_) + PcloudStimulusProducer& parent_) : parent(parent_), platform(nullptr), device(nullptr), diff --git a/stimBuffApis/livoxGen1/openClCollatingAndMeshingEngine.h b/stimBuffApis/livoxGen1/openClCollatingAndMeshingEngine.h index 299119c..8395dc1 100644 --- a/stimBuffApis/livoxGen1/openClCollatingAndMeshingEngine.h +++ b/stimBuffApis/livoxGen1/openClCollatingAndMeshingEngine.h @@ -21,12 +21,12 @@ namespace smo { namespace stim_buff { -class PcloudDataProducer; +class PcloudStimulusProducer; class OpenClCollatingAndMeshingEngine { public: - explicit OpenClCollatingAndMeshingEngine(PcloudDataProducer& parent); + explicit OpenClCollatingAndMeshingEngine(PcloudStimulusProducer& parent); ~OpenClCollatingAndMeshingEngine(); // Non-copyable, movable @@ -70,7 +70,7 @@ public: std::chrono::milliseconds getCollateKernelDuration() const; private: - PcloudDataProducer& parent; + PcloudStimulusProducer& parent; // OpenCL infrastructure cl_platform_id platform; diff --git a/stimBuffApis/livoxGen1/pcloudDataProducer.cpp b/stimBuffApis/livoxGen1/pcloudStimulusProducer.cpp similarity index 92% rename from stimBuffApis/livoxGen1/pcloudDataProducer.cpp rename to stimBuffApis/livoxGen1/pcloudStimulusProducer.cpp index 24e3312..0c831c6 100644 --- a/stimBuffApis/livoxGen1/pcloudDataProducer.cpp +++ b/stimBuffApis/livoxGen1/pcloudStimulusProducer.cpp @@ -7,7 +7,7 @@ #include #include #include -#include "pcloudDataProducer.h" +#include "pcloudStimulusProducer.h" #include "frameAssemblyDesc.h" namespace smo { @@ -19,7 +19,7 @@ extern const SmoCallbacks* smoHooksPtr; static SpMcRingBuffer::InputEngineConstraints openClInputConstraints( static_cast(sysconf(_SC_PAGE_SIZE)), sizeof(void *)); -PcloudDataProducer::PcloudDataProducer( +PcloudStimulusProducer::PcloudStimulusProducer( const std::shared_ptr &deviceAttachmentSpec, std::shared_ptr &device, const PcloudFormatDesc& formatDesc, @@ -58,7 +58,7 @@ collationBuffer( #endif { std::string errMsg = std::string(__func__) + - ": PcloudDataProducer constructor called on non-world/body thread " + + ": PcloudStimulusProducer constructor called on non-world/body thread " + smoHooksPtr->ComponentThread_getSelf()->name; std::cout << errMsg << std::endl; @@ -66,7 +66,7 @@ collationBuffer( } } -void PcloudDataProducer::start() +void PcloudStimulusProducer::start() { // Call ioUringAssemblyEngine setup() as the first step if (!ioUringAssemblyEngine.setup()) @@ -87,7 +87,7 @@ void PcloudDataProducer::start() StimulusProducer::start(); } -void PcloudDataProducer::stop() +void PcloudStimulusProducer::stop() { // Call base class stop() as the first step StimulusProducer::stop(); @@ -100,22 +100,22 @@ void produceStimFrameAck(void) { } -void PcloudDataProducer::stimFrameProductionTimesliceInd() +void PcloudStimulusProducer::stimFrameProductionTimesliceInd() { produceFrameReq({nullptr, nullptr}); } -class PcloudDataProducer::ProduceFrameReq +class PcloudStimulusProducer::ProduceFrameReq : public PostedAsynchronousContinuation { private: - PcloudDataProducer& pcloudProducer; + PcloudStimulusProducer& pcloudProducer; AsynchronousLoop frameAssemblyResult; StimulusFrame& stimulusFrame; public: ProduceFrameReq( - PcloudDataProducer& producer, + PcloudStimulusProducer& producer, const std::shared_ptr& caller, Callback cb) : PostedAsynchronousContinuation(caller, cb), @@ -204,7 +204,7 @@ public: } }; -void PcloudDataProducer::produceFrameReq( +void PcloudStimulusProducer::produceFrameReq( smo::Callback callback) { /** EXPLANATION: diff --git a/stimBuffApis/livoxGen1/pcloudDataProducer.h b/stimBuffApis/livoxGen1/pcloudStimulusProducer.h similarity index 76% rename from stimBuffApis/livoxGen1/pcloudDataProducer.h rename to stimBuffApis/livoxGen1/pcloudStimulusProducer.h index 6e30c3b..a0adad5 100644 --- a/stimBuffApis/livoxGen1/pcloudDataProducer.h +++ b/stimBuffApis/livoxGen1/pcloudStimulusProducer.h @@ -1,5 +1,5 @@ -#ifndef _LIVOX_GEN1_PCLOUD_DATA_PRODUCER_H -#define _LIVOX_GEN1_PCLOUD_DATA_PRODUCER_H +#ifndef _LIVOX_GEN1_PCLOUD_STIMULUS_PRODUCER_H +#define _LIVOX_GEN1_PCLOUD_STIMULUS_PRODUCER_H #include #include @@ -19,14 +19,14 @@ namespace smo { namespace stim_buff { /** - * PcloudDataProducer is a specialized StimulusProducer for point cloud data. + * PcloudStimulusProducer is a specialized StimulusProducer for point cloud data. * * This class extends StimulusProducer to handle point cloud-specific stimulus * frames, particularly those generated from LiDAR point cloud data. It * provides additional functionality for managing point cloud frame metadata * and processing. */ -class PcloudDataProducer +class PcloudStimulusProducer : public StimulusProducer { public: @@ -44,19 +44,19 @@ public: }; public: - explicit PcloudDataProducer( + explicit PcloudStimulusProducer( const std::shared_ptr &deviceAttachmentSpec, std::shared_ptr &device, const PcloudFormatDesc& formatDesc, size_t nDgramsPerStagingBufferFrame); - ~PcloudDataProducer() = default; + ~PcloudStimulusProducer() = default; // Non-copyable, movable - PcloudDataProducer(const PcloudDataProducer&) = delete; - PcloudDataProducer& operator=(const PcloudDataProducer&) = delete; - PcloudDataProducer(PcloudDataProducer&&) = default; - PcloudDataProducer& operator=(PcloudDataProducer&&) = default; + PcloudStimulusProducer(const PcloudStimulusProducer&) = delete; + PcloudStimulusProducer& operator=(const PcloudStimulusProducer&) = delete; + PcloudStimulusProducer(PcloudStimulusProducer&&) = default; + PcloudStimulusProducer& operator=(PcloudStimulusProducer&&) = default; // Control methods void start() override; @@ -78,7 +78,6 @@ public: IoUringAssemblyEngine ioUringAssemblyEngine; StagingBuffer collationBuffer; StimulusFrame tempStimulusFrame; - std::shared_ptr xyzStimulusBuffer; std::shared_ptr iStimulusBuffer; std::shared_ptr ambienceStimulusBuffer; @@ -90,4 +89,4 @@ private: } // namespace stim_buff } // namespace smo -#endif // _LIVOX_GEN1_PCLOUD_DATA_PRODUCER_H +#endif // _LIVOX_GEN1_PCLOUD_STIMULUS_PRODUCER_H