1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- // // ******************************************************************
- // // /\ /| @File edge_pulse_data.h
- // // \ V/ @Brief
- // // | "") @Author lijinwen, ghz005@uni-trend.com.cn
- // // / | @Creation 2024-05-16
- // // / \\ @Modified 2024-06-24
- // // *(__\_\
- // // ******************************************************************
- #pragma once
- #include "edge_pulse.h"
- //#include "BaseEnums/Channels.h"
- namespace Protocol
- {
- class EdgePulseData
- {
- public:
- /**
- * \brief 波形数据长度
- */
- uint64_t waveform_data_count;
- /**
- * \brief 边沿脉宽个数
- */
- uint64_t edge_pulses_count;
- /**
- * \brief 采样率
- */
- double sample_rate;
- EdgePulseData(const uint64_t edge_pulses_count, const uint64_t data_count, const double sample_rate,
- EdgePulse* edge_pulses_ptr)
- : waveform_data_count(data_count),
- edge_pulses_count(edge_pulses_count),
- sample_rate(sample_rate),
- edgePulsesPtr_(edge_pulses_ptr)
- {
- }
- EdgePulse* GetDataAddrPtr() const
- {
- return edgePulsesPtr_;
- //return edgePulsesPtr;
- }
- protected:
- EdgePulse* edgePulsesPtr_; //边沿脉宽数据指针
- };
- struct EdgePulseDataTwoLevels : EdgePulseData
- {
- EdgePulseDataTwoLevels(uint64_t edge_pulses_count, uint64_t data_count, double sample_rate,
- EdgePulse* edge_pulses_ptr);
- __override TwoLevelEdgePulse* GetDataAddrPtr() const
- {
- return reinterpret_cast<TwoLevelEdgePulse*>(edgePulsesPtr_);
- }
- __readonly int32_t levelCount = 2;
- const uint64_t edge_pulses_count_;
- const double sample_rate_;
- };
- struct EdgePulseDataThreeLevels : EdgePulseData
- {
- EdgePulseDataThreeLevels(uint64_t edge_pulses_count, uint64_t data_count, double sample_rate,
- EdgePulse* edge_pulses_ptr);
- __override TwoLevelEdgePulse* GetDataAddrPtr() const
- {
- return reinterpret_cast<TwoLevelEdgePulse*>(edgePulsesPtr_);
- }
- __readonly int32_t levelCount = 3;
- const uint64_t edge_pulses_count_;
- const double sample_rate_;
- };
- }
|