mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-10-31 13:00:26 -04: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
 |