| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  | ///////////////////////////////////////////////////////////////////////////////////
 | 
					
						
							|  |  |  | // Copyright (C) 2021 Edouard Griffiths, F4EXB                                   //
 | 
					
						
							|  |  |  | //                                                                               //
 | 
					
						
							|  |  |  | // Symbol synchronizer or symbol clock recovery mostly encapsulating             //
 | 
					
						
							|  |  |  | // liquid-dsp's symsync "object"                                                 //
 | 
					
						
							|  |  |  | //                                                                               //
 | 
					
						
							|  |  |  | // This program is free software; you can redistribute it and/or modify          //
 | 
					
						
							|  |  |  | // it under the terms of the GNU General Public License as published by          //
 | 
					
						
							|  |  |  | // the Free Software Foundation as version 3 of the License, or                  //
 | 
					
						
							|  |  |  | // (at your option) any later version.                                           //
 | 
					
						
							|  |  |  | //                                                                               //
 | 
					
						
							|  |  |  | // This program is distributed in the hope that it will be useful,               //
 | 
					
						
							|  |  |  | // but WITHOUT ANY WARRANTY; without even the implied warranty of                //
 | 
					
						
							|  |  |  | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the                  //
 | 
					
						
							|  |  |  | // GNU General Public License V3 for more details.                               //
 | 
					
						
							|  |  |  | //                                                                               //
 | 
					
						
							|  |  |  | // You should have received a copy of the GNU General Public License             //
 | 
					
						
							|  |  |  | // along with this program. If not, see <http://www.gnu.org/licenses/>.          //
 | 
					
						
							|  |  |  | ///////////////////////////////////////////////////////////////////////////////////
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef INCLUDE_SPECTRUMMARKERS_H
 | 
					
						
							|  |  |  | #define INCLUDE_SPECTRUMMARKERS_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <QString>
 | 
					
						
							|  |  |  | #include <QPointF>
 | 
					
						
							| 
									
										
										
										
											2021-08-01 20:26:24 +02:00
										 |  |  | #include <QColor>
 | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-06 10:24:20 +02:00
										 |  |  | #include "export.h"
 | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-07 19:45:48 +02:00
										 |  |  | struct SDRBASE_API SpectrumHistogramMarker | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2021-08-06 10:24:20 +02:00
										 |  |  |     enum SpectrumMarkerType | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         SpectrumMarkerTypeManual, | 
					
						
							|  |  |  |         SpectrumMarkerTypePower, | 
					
						
							|  |  |  |         SpectrumMarkerTypePowerMax | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  |     QPointF m_point; | 
					
						
							|  |  |  |     float m_frequency; | 
					
						
							|  |  |  |     int m_fftBin; | 
					
						
							|  |  |  |     float m_power; | 
					
						
							| 
									
										
										
										
											2021-08-03 23:12:13 +02:00
										 |  |  |     bool m_holdReset; | 
					
						
							|  |  |  |     float m_powerMax; | 
					
						
							| 
									
										
										
										
											2021-08-06 10:24:20 +02:00
										 |  |  |     SpectrumMarkerType m_markerType; | 
					
						
							| 
									
										
										
										
											2021-08-01 20:26:24 +02:00
										 |  |  |     QColor m_markerColor; | 
					
						
							| 
									
										
										
										
											2021-08-04 19:28:52 +02:00
										 |  |  |     bool m_show; | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  |     QString m_frequencyStr; | 
					
						
							|  |  |  |     QString m_powerStr; | 
					
						
							|  |  |  |     QString m_deltaFrequencyStr; | 
					
						
							|  |  |  |     QString m_deltaPowerStr; | 
					
						
							| 
									
										
										
										
											2021-07-31 22:57:31 +02:00
										 |  |  |     static const int m_maxNbOfMarkers = 4; | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     SpectrumHistogramMarker() : | 
					
						
							|  |  |  |         m_point(0, 0), | 
					
						
							|  |  |  |         m_frequency(0), | 
					
						
							|  |  |  |         m_fftBin(0), | 
					
						
							|  |  |  |         m_power(0), | 
					
						
							| 
									
										
										
										
											2021-08-03 23:12:13 +02:00
										 |  |  |         m_holdReset(true), | 
					
						
							|  |  |  |         m_powerMax(0), | 
					
						
							| 
									
										
										
										
											2021-08-06 10:24:20 +02:00
										 |  |  |         m_markerType(SpectrumMarkerTypeManual), | 
					
						
							|  |  |  |         m_markerColor("white"), | 
					
						
							| 
									
										
										
										
											2021-08-04 19:28:52 +02:00
										 |  |  |         m_show(true), | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  |         m_frequencyStr(), | 
					
						
							|  |  |  |         m_powerStr(), | 
					
						
							|  |  |  |         m_deltaFrequencyStr(), | 
					
						
							|  |  |  |         m_deltaPowerStr() | 
					
						
							|  |  |  |     {} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     SpectrumHistogramMarker( | 
					
						
							|  |  |  |         const QPointF& point, | 
					
						
							|  |  |  |         float frequency, | 
					
						
							|  |  |  |         int   fftBin, | 
					
						
							|  |  |  |         float power, | 
					
						
							| 
									
										
										
										
											2021-08-03 23:12:13 +02:00
										 |  |  |         bool  holdReset, | 
					
						
							|  |  |  |         float powerMax, | 
					
						
							| 
									
										
										
										
											2021-08-06 10:24:20 +02:00
										 |  |  |         SpectrumMarkerType markerType, | 
					
						
							| 
									
										
										
										
											2021-08-01 20:26:24 +02:00
										 |  |  |         QColor markerColor, | 
					
						
							| 
									
										
										
										
											2021-08-04 19:28:52 +02:00
										 |  |  |         bool show, | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  |         const QString& frequencyStr, | 
					
						
							|  |  |  |         const QString& powerStr, | 
					
						
							|  |  |  |         const QString& deltaFrequencyStr, | 
					
						
							|  |  |  |         const QString& deltaPowerStr | 
					
						
							|  |  |  |     ) : | 
					
						
							|  |  |  |         m_point(point), | 
					
						
							|  |  |  |         m_frequency(frequency), | 
					
						
							|  |  |  |         m_fftBin(fftBin), | 
					
						
							|  |  |  |         m_power(power), | 
					
						
							| 
									
										
										
										
											2021-08-03 23:12:13 +02:00
										 |  |  |         m_holdReset(holdReset), | 
					
						
							|  |  |  |         m_powerMax(powerMax), | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  |         m_markerType(markerType), | 
					
						
							| 
									
										
										
										
											2021-08-01 20:26:24 +02:00
										 |  |  |         m_markerColor(markerColor), | 
					
						
							| 
									
										
										
										
											2021-08-04 19:28:52 +02:00
										 |  |  |         m_show(show), | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  |         m_frequencyStr(frequencyStr), | 
					
						
							|  |  |  |         m_powerStr(powerStr), | 
					
						
							|  |  |  |         m_deltaFrequencyStr(deltaFrequencyStr), | 
					
						
							|  |  |  |         m_deltaPowerStr(deltaPowerStr) | 
					
						
							|  |  |  |     {} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     SpectrumHistogramMarker(const SpectrumHistogramMarker& other) = default; | 
					
						
							|  |  |  |     SpectrumHistogramMarker& operator=(const SpectrumHistogramMarker&) = default; | 
					
						
							| 
									
										
										
										
											2021-08-05 21:03:03 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     QByteArray serialize() const; | 
					
						
							|  |  |  |     bool deserialize(const QByteArray& data); | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-07 19:45:48 +02:00
										 |  |  | struct SDRBASE_API SpectrumWaterfallMarker | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  | { | 
					
						
							|  |  |  |     QPointF m_point; | 
					
						
							|  |  |  |     float m_frequency; | 
					
						
							|  |  |  |     float m_time; | 
					
						
							| 
									
										
										
										
											2021-08-01 20:26:24 +02:00
										 |  |  |     QColor m_markerColor; | 
					
						
							| 
									
										
										
										
											2021-08-04 19:28:52 +02:00
										 |  |  |     bool m_show; | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  |     QString m_frequencyStr; | 
					
						
							|  |  |  |     QString m_timeStr; | 
					
						
							|  |  |  |     QString m_deltaFrequencyStr; | 
					
						
							|  |  |  |     QString m_deltaTimeStr; | 
					
						
							| 
									
										
										
										
											2021-07-31 22:57:31 +02:00
										 |  |  |     static const int m_maxNbOfMarkers = 4; | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     SpectrumWaterfallMarker() : | 
					
						
							|  |  |  |         m_point(0, 0), | 
					
						
							|  |  |  |         m_frequency(0), | 
					
						
							|  |  |  |         m_time(0), | 
					
						
							| 
									
										
										
										
											2021-08-06 10:24:20 +02:00
										 |  |  |         m_markerColor("white"), | 
					
						
							| 
									
										
										
										
											2021-08-04 19:28:52 +02:00
										 |  |  |         m_show(true), | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  |         m_frequencyStr(), | 
					
						
							|  |  |  |         m_timeStr(), | 
					
						
							|  |  |  |         m_deltaFrequencyStr(), | 
					
						
							|  |  |  |         m_deltaTimeStr() | 
					
						
							|  |  |  |     {} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     SpectrumWaterfallMarker( | 
					
						
							|  |  |  |         const QPointF& point, | 
					
						
							|  |  |  |         float frequency, | 
					
						
							|  |  |  |         float time, | 
					
						
							| 
									
										
										
										
											2021-08-01 20:26:24 +02:00
										 |  |  |         QColor markerColor, | 
					
						
							| 
									
										
										
										
											2021-08-04 19:28:52 +02:00
										 |  |  |         bool show, | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  |         const QString& frequencyStr, | 
					
						
							|  |  |  |         const QString& timeStr, | 
					
						
							|  |  |  |         const QString& deltaFrequencyStr, | 
					
						
							|  |  |  |         const QString& deltaTimeStr | 
					
						
							|  |  |  |     ) : | 
					
						
							|  |  |  |         m_point(point), | 
					
						
							|  |  |  |         m_frequency(frequency), | 
					
						
							|  |  |  |         m_time(time), | 
					
						
							| 
									
										
										
										
											2021-08-01 20:26:24 +02:00
										 |  |  |         m_markerColor(markerColor), | 
					
						
							| 
									
										
										
										
											2021-08-04 19:28:52 +02:00
										 |  |  |         m_show(show), | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  |         m_frequencyStr(frequencyStr), | 
					
						
							|  |  |  |         m_timeStr(timeStr), | 
					
						
							|  |  |  |         m_deltaFrequencyStr(deltaFrequencyStr), | 
					
						
							|  |  |  |         m_deltaTimeStr(deltaTimeStr) | 
					
						
							|  |  |  |     {} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     SpectrumWaterfallMarker(const SpectrumWaterfallMarker& other) = default; | 
					
						
							|  |  |  |     SpectrumWaterfallMarker& operator=(const SpectrumWaterfallMarker&) = default; | 
					
						
							| 
									
										
										
										
											2021-08-05 21:03:03 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     QByteArray serialize() const; | 
					
						
							|  |  |  |     bool deserialize(const QByteArray& data); | 
					
						
							| 
									
										
										
										
											2021-07-25 11:21:03 +02:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif // INCLUDE_SPECTRUMMARKERS_H
 |