From dc23a6141081d1660e3165da276497efeacb2e38 Mon Sep 17 00:00:00 2001 From: Hayodea Hekol Date: Sat, 25 Oct 2025 19:05:32 -0400 Subject: [PATCH] Add StimulusBuffer and LidarStimulusBuffer --- stimBuffApis/livoxGen1/CMakeLists.txt | 1 + .../livoxGen1/lidarStimulusBuffer.cpp | 12 +++++++ stimBuffApis/livoxGen1/lidarStimulusBuffer.h | 34 +++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 stimBuffApis/livoxGen1/lidarStimulusBuffer.cpp create mode 100644 stimBuffApis/livoxGen1/lidarStimulusBuffer.h diff --git a/stimBuffApis/livoxGen1/CMakeLists.txt b/stimBuffApis/livoxGen1/CMakeLists.txt index babd7e7..71b7bc0 100644 --- a/stimBuffApis/livoxGen1/CMakeLists.txt +++ b/stimBuffApis/livoxGen1/CMakeLists.txt @@ -9,6 +9,7 @@ if(ENABLE_STIMBUFFAPI_livoxGen1) add_library(livoxGen1 SHARED livoxGen1.cpp stagingBuffer.cpp + lidarStimulusBuffer.cpp ) target_include_directories(livoxGen1 PUBLIC diff --git a/stimBuffApis/livoxGen1/lidarStimulusBuffer.cpp b/stimBuffApis/livoxGen1/lidarStimulusBuffer.cpp new file mode 100644 index 0000000..d49fc5e --- /dev/null +++ b/stimBuffApis/livoxGen1/lidarStimulusBuffer.cpp @@ -0,0 +1,12 @@ +#include "lidarStimulusBuffer.h" +#include +#include +#include + +namespace smo { +namespace stim_buff { + + + +} // namespace stim_buff +} // namespace smo diff --git a/stimBuffApis/livoxGen1/lidarStimulusBuffer.h b/stimBuffApis/livoxGen1/lidarStimulusBuffer.h new file mode 100644 index 0000000..e84fd36 --- /dev/null +++ b/stimBuffApis/livoxGen1/lidarStimulusBuffer.h @@ -0,0 +1,34 @@ +#ifndef _LIDAR_STIMULUS_BUFFER_H +#define _LIDAR_STIMULUS_BUFFER_H + +#include +#include + +namespace smo { +namespace stim_buff { + +/** + * LidarStimulusBuffer is a specialized StimulusBuffer for LiDAR data. + * + * This class extends StimulusBuffer to handle LiDAR-specific stimulus frames, + * particularly those generated from Livox Avia point cloud data. It provides + * additional functionality for managing LiDAR frame metadata and processing. + */ +class LidarStimulusBuffer +: public StimulusBuffer +{ +public: + LidarStimulusBuffer(); + ~LidarStimulusBuffer(); + + // Non-copyable, movable + LidarStimulusBuffer(const LidarStimulusBuffer&) = delete; + LidarStimulusBuffer& operator=(const LidarStimulusBuffer&) = delete; + LidarStimulusBuffer(LidarStimulusBuffer&&) = default; + LidarStimulusBuffer& operator=(LidarStimulusBuffer&&) = default; +}; + +} // namespace stim_buff +} // namespace smo + +#endif // _LIDAR_STIMULUS_BUFFER_H