From 70c0175a8bc60d9e1b363cff4c230c589cc755b6 Mon Sep 17 00:00:00 2001 From: Hayodea Hekol Date: Fri, 14 Nov 2025 19:50:51 -0400 Subject: [PATCH] Rename StimulusBuffer=>StimulusProducer Next we'll split the StimulusBuffer-related stuff into a new class StimulusBuffer. --- commonLibs/attachmentSupport/CMakeLists.txt | 2 +- ...timulusBuffer.cpp => stimulusProducer.cpp} | 14 ++++----- .../{stimulusBuffer.h => stimulusProducer.h} | 30 +++++++++---------- stimBuffApis/livoxGen1/livoxGen1.cpp | 8 ++--- stimBuffApis/livoxGen1/pcloudDataProducer.cpp | 10 +++---- stimBuffApis/livoxGen1/pcloudDataProducer.h | 8 ++--- 6 files changed, 36 insertions(+), 36 deletions(-) rename commonLibs/attachmentSupport/{stimulusBuffer.cpp => stimulusProducer.cpp} (89%) rename include/user/{stimulusBuffer.h => stimulusProducer.h} (74%) diff --git a/commonLibs/attachmentSupport/CMakeLists.txt b/commonLibs/attachmentSupport/CMakeLists.txt index 5b8ba93..8fd51c8 100644 --- a/commonLibs/attachmentSupport/CMakeLists.txt +++ b/commonLibs/attachmentSupport/CMakeLists.txt @@ -1,5 +1,5 @@ add_library(attachmentSupport SHARED - stimulusBuffer.cpp + stimulusProducer.cpp ) target_include_directories(attachmentSupport PUBLIC diff --git a/commonLibs/attachmentSupport/stimulusBuffer.cpp b/commonLibs/attachmentSupport/stimulusProducer.cpp similarity index 89% rename from commonLibs/attachmentSupport/stimulusBuffer.cpp rename to commonLibs/attachmentSupport/stimulusProducer.cpp index 96778de..39d33c6 100644 --- a/commonLibs/attachmentSupport/stimulusBuffer.cpp +++ b/commonLibs/attachmentSupport/stimulusProducer.cpp @@ -8,12 +8,12 @@ #include #include #include -#include +#include namespace smo { namespace stim_buff { -void StimulusBuffer::stop() +void StimulusProducer::stop() { { SpinLock::Guard lock(shouldContinueLock); @@ -23,11 +23,11 @@ void StimulusBuffer::stop() // Cancel timer immediately timer.cancel(); - std::cout << __func__ << ": Stopped stimulus buffer for device " + std::cout << __func__ << ": Stopped stimulus producer for device " << deviceAttachmentSpec->deviceSelector << std::endl; } -void StimulusBuffer::scheduleNextTimeout(int delayMs) +void StimulusProducer::scheduleNextTimeout(int delayMs) { if (!shouldContinue) { return; } @@ -38,10 +38,10 @@ void StimulusBuffer::scheduleNextTimeout(int delayMs) timer.async_wait( std::bind( - &StimulusBuffer::onTimeout, this, std::placeholders::_1)); + &StimulusProducer::onTimeout, this, std::placeholders::_1)); } -void StimulusBuffer::onTimeout(const boost::system::error_code& error) +void StimulusProducer::onTimeout(const boost::system::error_code& error) { // Timer was cancelled, which is expected when stopping if (error == boost::asio::error::operation_aborted) { @@ -50,7 +50,7 @@ void StimulusBuffer::onTimeout(const boost::system::error_code& error) if (error) { - std::cerr << "StimulusBuffer: Timer error: " << error.message() + std::cerr << "StimulusProducer: Timer error: " << error.message() << std::endl; return; } diff --git a/include/user/stimulusBuffer.h b/include/user/stimulusProducer.h similarity index 74% rename from include/user/stimulusBuffer.h rename to include/user/stimulusProducer.h index c9a1fc0..498c814 100644 --- a/include/user/stimulusBuffer.h +++ b/include/user/stimulusProducer.h @@ -1,5 +1,5 @@ -#ifndef _STIMULUS_BUFFER_H -#define _STIMULUS_BUFFER_H +#ifndef _STIMULUS_PRODUCER_H +#define _STIMULUS_PRODUCER_H #include #include @@ -22,16 +22,16 @@ namespace smo { namespace stim_buff { /** - * StimulusBuffer manages a collection of stimulus frames with simultaneity stamps. + * StimulusProducer manages a collection of stimulus frames with simultaneity stamps. * - * This buffer is designed to hold stimulus frames that have been assembled + * This producer is designed to hold stimulus frames that have been assembled * from raw sensor data (e.g., Livox Avia point cloud data) and are ready * for processing by the mind layer. * - * The buffer provides thread-safe operations for adding frames, retrieving - * frames, and managing the buffer state. + * The producer provides thread-safe operations for adding frames, retrieving + * frames, and managing the producer state. */ -class StimulusBuffer +class StimulusProducer { public: class PcloudFormatDesc @@ -48,7 +48,7 @@ public: }; public: - explicit StimulusBuffer( + explicit StimulusProducer( const std::shared_ptr &deviceAttachmentSpec, size_t nSlots, @@ -61,18 +61,18 @@ public: nDeferrals(0) {} - virtual ~StimulusBuffer() = default; + virtual ~StimulusProducer() = default; // Non-copyable, movable - StimulusBuffer(const StimulusBuffer&) = delete; - StimulusBuffer& operator=(const StimulusBuffer&) = delete; - StimulusBuffer(StimulusBuffer&&) = default; - StimulusBuffer& operator=(StimulusBuffer&&) = default; + StimulusProducer(const StimulusProducer&) = delete; + StimulusProducer& operator=(const StimulusProducer&) = delete; + StimulusProducer(StimulusProducer&&) = default; + StimulusProducer& operator=(StimulusProducer&&) = default; // Control methods virtual void start() { - std::cout << __func__ << ": Starting stimulus buffer for device " + std::cout << __func__ << ": Starting stimulus producer for device " << deviceAttachmentSpec->deviceSelector << std::endl; shouldContinue = true; @@ -121,4 +121,4 @@ private: } // namespace stim_buff } // namespace smo -#endif // _STIMULUS_BUFFER_H +#endif // _STIMULUS_PRODUCER_H diff --git a/stimBuffApis/livoxGen1/livoxGen1.cpp b/stimBuffApis/livoxGen1/livoxGen1.cpp index 9e5116f..db973ef 100644 --- a/stimBuffApis/livoxGen1/livoxGen1.cpp +++ b/stimBuffApis/livoxGen1/livoxGen1.cpp @@ -28,10 +28,10 @@ const SmoCallbacks* smoHooksPtr = nullptr; static SmoThreadingModelDesc smoThreadingModelDesc; // Local collection of stimulus producers -static std::vector> attachedDataProducers; +static std::vector> attachedDataProducers; // Get stimulus producer by device attachment spec -static std::shared_ptr +static std::shared_ptr getDataProducer(const std::shared_ptr& spec) { for (const auto& dataProducer : attachedDataProducers) @@ -194,8 +194,8 @@ public: } // Create and add PcloudDataProducer to collection now that device is ready - StimulusBuffer::PcloudFormatDesc formatDesc; - formatDesc.format = StimulusBuffer::PcloudFormatDesc::Format::XYZI; + StimulusProducer::PcloudFormatDesc formatDesc; + formatDesc.format = StimulusProducer::PcloudFormatDesc::Format::XYZI; auto pcloudDataProducer = std::make_shared( context->spec, context->deviceTmp, formatDesc, histbuffMs, 30); diff --git a/stimBuffApis/livoxGen1/pcloudDataProducer.cpp b/stimBuffApis/livoxGen1/pcloudDataProducer.cpp index 8b5cf9b..4932226 100644 --- a/stimBuffApis/livoxGen1/pcloudDataProducer.cpp +++ b/stimBuffApis/livoxGen1/pcloudDataProducer.cpp @@ -25,7 +25,7 @@ PcloudDataProducer::PcloudDataProducer( const PcloudFormatDesc& formatDesc, int histbuffMs, size_t nDgramsPerStagingBufferFrame) -: StimulusBuffer( +: StimulusProducer( deviceAttachmentSpec, static_cast(histbuffMs / CONFIG_STIMBUFF_FRAME_PERIOD_MS), openClInputConstraints, @@ -87,13 +87,13 @@ void PcloudDataProducer::start() } // Call base class start() as the final step - StimulusBuffer::start(); + StimulusProducer::start(); } void PcloudDataProducer::stop() { // Call base class stop() as the first step - StimulusBuffer::stop(); + StimulusProducer::stop(); // Call ioUringAssemblyEngine stop() as the final step openClCollatingAndMeshingEngine.finalize(); ioUringAssemblyEngine.finalize(); @@ -211,9 +211,9 @@ void PcloudDataProducer::produceFrameReq( smo::Callback callback) { /** EXPLANATION: - * We shouldn't acquire the StimulusBuffer::shouldContinueLock here because + * We shouldn't acquire the StimulusProducer::shouldContinueLock here because * this function is called from - * StimulusBuffer::stimFrameProductionTimesliceInd(), which is already + * StimulusProducer::stimFrameProductionTimesliceInd(), which is already * holding the lock. */ auto caller = smoHooksPtr->ComponentThread_getSelf(); diff --git a/stimBuffApis/livoxGen1/pcloudDataProducer.h b/stimBuffApis/livoxGen1/pcloudDataProducer.h index 2340298..59d8c21 100644 --- a/stimBuffApis/livoxGen1/pcloudDataProducer.h +++ b/stimBuffApis/livoxGen1/pcloudDataProducer.h @@ -3,7 +3,7 @@ #include #include -#include +#include #include #include #include @@ -15,15 +15,15 @@ namespace smo { namespace stim_buff { /** - * PcloudDataProducer is a specialized StimulusBuffer for point cloud data. + * PcloudDataProducer is a specialized StimulusProducer for point cloud data. * - * This class extends StimulusBuffer to handle point cloud-specific stimulus + * 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 -: public StimulusBuffer +: public StimulusProducer { public: explicit PcloudDataProducer(