123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- // // ******************************************************************
- // // /\ /| @File EdgePulseData.h
- // // \ V/ @Brief
- // // | "") @Author lijinwen, ghz005@uni-trend.com.cn
- // // / | @Creation 2024-05-16
- // // / \\ @Modified 2024-05-16
- // // *(__\_\
- // // ******************************************************************
- #pragma once
- #include "EdgePulse.h"
- //#include "BaseEnums/Channels.h"
- namespace Protocol
- {
- struct EdgePulseData
- {
- /**
- * \brief 波形数据长度
- */
- uint64_t WaveformDataCount;
- /**
- * \brief 边沿脉宽个数
- */
- uint64_t EdgePulsesCount;
- /**
- * \brief 采样率
- */
- double SampleRate;
- EdgePulseData(uint64_t edgePulsesCount, uint64_t dataCount, double sampleRate,
- EdgePulse* edgePulsesPtr)
- : WaveformDataCount(dataCount),
- EdgePulsesCount(edgePulsesCount),
- SampleRate(sampleRate),
- EdgePulsesPtr_(edgePulsesPtr)
- {
- }
- EdgePulse* GetDataAddrPtr() const
- {
- return EdgePulsesPtr_;
- //return edgePulsesPtr;
- }
- protected:
- EdgePulse* EdgePulsesPtr_; //边沿脉宽数据指针
- };
- struct EdgePulseDataTwoLevels : EdgePulseData
- {
- EdgePulseDataTwoLevels(uint64_t edgePulsesCount, uint64_t dataCount, double sampleRate,
- EdgePulse* edgePulsesPtr);
- __override TwoLevelEdgePulse* GetDataAddrPtr() const
- {
- return reinterpret_cast<TwoLevelEdgePulse*>(EdgePulsesPtr_);
- }
- __readonly int32_t LevelCount = 2;
- };
- struct EdgePulseDataThreeLevels : EdgePulseData
- {
- EdgePulseDataThreeLevels(uint64_t edgePulsesCount, uint64_t dataCount, double sampleRate,
- EdgePulse* edgePulsesPtr);
- __override TwoLevelEdgePulse* GetDataAddrPtr() const
- {
- return reinterpret_cast<TwoLevelEdgePulse*>(EdgePulsesPtr_);
- }
- __readonly int32_t LevelCount = 3;
- };
- }
|