37#ifndef SocketCANAnalyzer_h
38#define SocketCANAnalyzer_h
48class SocketCANAnalyzer
53 virtual ~SocketCANAnalyzer();
56 SocketCANAnalyzer(
const SocketCANAnalyzer& rhs) =
delete;
57 SocketCANAnalyzer& operator=(
const SocketCANAnalyzer& rhs) =
delete;
61 virtual unsigned int GetInstrumentTypes()
const override;
63 virtual void FlushConfigCache()
override;
67 virtual uint32_t GetInstrumentTypesForChannel(
size_t i)
const override;
68 virtual bool IsChannelEnabled(
size_t i)
override;
69 virtual void EnableChannel(
size_t i)
override;
70 virtual void DisableChannel(
size_t i)
override;
71 virtual OscilloscopeChannel::CouplingType GetChannelCoupling(
size_t i)
override;
72 virtual void SetChannelCoupling(
size_t i, OscilloscopeChannel::CouplingType type)
override;
73 virtual std::vector<OscilloscopeChannel::CouplingType> GetAvailableCouplings(
size_t i)
override;
74 virtual double GetChannelAttenuation(
size_t i)
override;
75 virtual void SetChannelAttenuation(
size_t i,
double atten)
override;
76 virtual unsigned int GetChannelBandwidthLimit(
size_t i)
override;
77 virtual void SetChannelBandwidthLimit(
size_t i,
unsigned int limit_mhz)
override;
78 virtual std::vector<unsigned int> GetChannelBandwidthLimiters(
size_t i)
override;
79 virtual float GetChannelVoltageRange(
size_t i,
size_t stream)
override;
80 virtual void SetChannelVoltageRange(
size_t i,
size_t stream,
float range)
override;
81 virtual float GetChannelOffset(
size_t i,
size_t stream)
override;
82 virtual void SetChannelOffset(
size_t i,
size_t stream,
float offset)
override;
83 virtual std::string GetProbeName(
size_t i)
override;
87 virtual bool AcquireData()
override;
88 virtual void Start()
override;
89 virtual void StartSingleTrigger()
override;
90 virtual void Stop()
override;
91 virtual void ForceTrigger()
override;
92 virtual bool IsTriggerArmed()
override;
93 virtual void PushTrigger()
override;
94 virtual void PullTrigger()
override;
97 virtual std::vector<uint64_t> GetSampleRatesNonInterleaved()
override;
98 virtual std::vector<uint64_t> GetSampleRatesInterleaved()
override;
99 virtual std::set<InterleaveConflict> GetInterleaveConflicts()
override;
100 virtual std::vector<uint64_t> GetSampleDepthsNonInterleaved()
override;
101 virtual std::vector<uint64_t> GetSampleDepthsInterleaved()
override;
102 virtual uint64_t GetSampleRate()
override;
103 virtual uint64_t GetSampleDepth()
override;
104 virtual void SetSampleDepth(uint64_t depth)
override;
105 virtual void SetSampleRate(uint64_t rate)
override;
106 virtual void SetTriggerOffset(int64_t offset)
override;
107 virtual int64_t GetTriggerOffset()
override;
108 virtual bool IsInterleaving()
override;
109 virtual bool SetInterleaving(
bool combine)
override;
111 virtual bool PopPendingWaveform()
override;
112 virtual bool IsAppendingToWaveform()
override;
120 bool m_triggerOneShot;
123 bool m_appendingNext;
132 static std::string GetDriverNameInternal();
133 OSCILLOSCOPE_INITPROC(SocketCANAnalyzer)
Simple edge trigger.
Definition: EdgeTrigger.h:44
A single channel on an oscilloscope.
Definition: OscilloscopeChannel.h:49
TriggerMode
Definition: Oscilloscope.h:411
An SCPI-based oscilloscope.
Definition: SCPIOscilloscope.h:38
Abstraction of a transport layer for moving SCPI data between endpoints.
Definition: SCPITransport.h:47