mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-11-03 13:11:20 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			931 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			931 B
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef INCLUDE_SCOPEVIS_H
 | 
						|
#define INCLUDE_SCOPEVIS_H
 | 
						|
 | 
						|
#include "dsp/samplesink.h"
 | 
						|
#include "util/export.h"
 | 
						|
 | 
						|
class GLScope;
 | 
						|
class MessageQueue;
 | 
						|
 | 
						|
class SDRANGELOVE_API ScopeVis : public SampleSink {
 | 
						|
public:
 | 
						|
	enum TriggerChannel {
 | 
						|
		TriggerFreeRun,
 | 
						|
		TriggerChannelI,
 | 
						|
		TriggerChannelQ
 | 
						|
	};
 | 
						|
 | 
						|
	ScopeVis(GLScope* glScope = NULL);
 | 
						|
 | 
						|
	void configure(MessageQueue* msgQueue, TriggerChannel triggerChannel, Real triggerLevelHigh, Real triggerLevelLow);
 | 
						|
 | 
						|
	void feed(SampleVector::const_iterator begin, SampleVector::const_iterator end, bool firstOfBurst);
 | 
						|
	void start();
 | 
						|
	void stop();
 | 
						|
	bool handleMessage(Message* message);
 | 
						|
 | 
						|
private:
 | 
						|
	enum TriggerState {
 | 
						|
		Untriggered,
 | 
						|
		Triggered,
 | 
						|
		WaitForReset
 | 
						|
	};
 | 
						|
 | 
						|
	GLScope* m_glScope;
 | 
						|
	std::vector<Complex> m_trace;
 | 
						|
	uint m_fill;
 | 
						|
	TriggerState m_triggerState;
 | 
						|
	TriggerChannel m_triggerChannel;
 | 
						|
	FixReal m_triggerLevelHigh;
 | 
						|
	FixReal m_triggerLevelLow;
 | 
						|
	int m_sampleRate;
 | 
						|
};
 | 
						|
 | 
						|
#endif // INCLUDE_SCOPEVIS_H
 |