kopia lustrzana https://github.com/f4exb/sdrangel
				
				
				
			DSD demod: YSF: FICH status display
							rodzic
							
								
									515dde9602
								
							
						
					
					
						commit
						0d197b5024
					
				|  | @ -65,6 +65,7 @@ public: | |||
|     unsigned char getColorCode() const { return m_decoder.getColorCode(); } | ||||
|     const DSDcc::DSDDstar& getDStarDecoder() const { return m_decoder.getDStarDecoder(); } | ||||
|     const DSDcc::DSDdPMR& getDPMRDecoder() const { return m_decoder.getDPMRDecoder(); } | ||||
|     const DSDcc::DSDYSF& getYSFDecoder() const { return m_decoder.getYSFDecoder(); } | ||||
| 
 | ||||
|     void setAudioGain(float gain) { m_decoder.setAudioGain(gain); } | ||||
|     void setBaudRate(int baudRate); | ||||
|  |  | |||
|  | @ -52,6 +52,27 @@ char DSDDemodGUI::m_dpmrFrameTypes[][3] = { | |||
| 		"EN", // 8: end frame
 | ||||
| }; | ||||
| 
 | ||||
| const char * DSDDemodGUI::m_ysfChannelTypeText[4] = { | ||||
|         "HC", //!< Header Channel
 | ||||
|         "CC", //!< Communications Channel
 | ||||
|         "TC", //!< Termination Channel
 | ||||
|         "TT"  //!< Test
 | ||||
| }; | ||||
| 
 | ||||
| const char * DSDDemodGUI::m_ysfDataTypeText[4] = { | ||||
|         "VD1", //!< Voice/Data type 1
 | ||||
|         "DFR", //!< Data Full Rate
 | ||||
|         "VD2", //!< Voice/Data type 2
 | ||||
|         "VFR"  //!< Voice Full Rate
 | ||||
| }; | ||||
| 
 | ||||
| const char * DSDDemodGUI::m_ysfCallModeText[4] = { | ||||
|         "GCQ", //!< Group CQ
 | ||||
|         "RID", //!< Radio ID
 | ||||
|         "RES", //!< Reserved
 | ||||
|         "IND"  //!< Individual
 | ||||
| }; | ||||
| 
 | ||||
| DSDDemodGUI* DSDDemodGUI::create(PluginAPI* pluginAPI, DeviceAPI *deviceAPI) | ||||
| { | ||||
|     DSDDemodGUI* gui = new DSDDemodGUI(pluginAPI, deviceAPI); | ||||
|  | @ -510,6 +531,32 @@ void DSDDemodGUI::formatStatusText() | |||
|                 m_dsdDemod->getDecoder().getDPMRDecoder().getCalledId()); | ||||
|         m_signalFormat = signalFormatDPMR; | ||||
|         break; | ||||
|     case DSDcc::DSDDecoder::DSDSyncYSF: | ||||
|     	if (m_dsdDemod->getDecoder().getYSFDecoder().getFICHError() == DSDcc::DSDYSF::FICHNoError) | ||||
|     	{ | ||||
|     		sprintf(m_formatStatusText, "%s ", m_ysfChannelTypeText[(int) m_dsdDemod->getDecoder().getYSFDecoder().getFICH().getFrameInformation()]); | ||||
|     	} | ||||
|     	else | ||||
|     	{ | ||||
|     		sprintf(m_formatStatusText, "E%d ", (int) m_dsdDemod->getDecoder().getYSFDecoder().getFICHError()); | ||||
|     	} | ||||
|     	sprintf(&m_formatStatusText[3], "%s %s B%d F%d %c%c ", | ||||
|     			m_ysfDataTypeText[(int) m_dsdDemod->getDecoder().getYSFDecoder().getFICH().getDataType()], | ||||
| 				m_ysfCallModeText[(int) m_dsdDemod->getDecoder().getYSFDecoder().getFICH().getCallMode()], | ||||
| 				m_dsdDemod->getDecoder().getYSFDecoder().getFICH().getBlockTotal(), | ||||
| 				m_dsdDemod->getDecoder().getYSFDecoder().getFICH().getFrameTotal(), | ||||
| 				(m_dsdDemod->getDecoder().getYSFDecoder().getFICH().isNarrowMode() ? 'N' : 'W'), | ||||
| 				(m_dsdDemod->getDecoder().getYSFDecoder().getFICH().isInternetPath() ? 'I' : 'L')); | ||||
|     	if (m_dsdDemod->getDecoder().getYSFDecoder().getFICH().isSquelchCodeEnabled()) | ||||
|     	{ | ||||
|     		sprintf(&m_formatStatusText[20], "S%02d", m_dsdDemod->getDecoder().getYSFDecoder().getFICH().getSquelchCode()); | ||||
|     	} | ||||
|     	else | ||||
|     	{ | ||||
|     		strcpy(&m_formatStatusText[20], "S--"); | ||||
|     	} | ||||
|     	m_signalFormat = signalFormatYSF; | ||||
|     	break; | ||||
|     default: | ||||
|         m_signalFormat = signalFormatNone; | ||||
|         m_formatStatusText[0] = '\0'; | ||||
|  |  | |||
|  | @ -84,7 +84,8 @@ private: | |||
| 	    signalFormatNone, | ||||
| 	    signalFormatDMR, | ||||
| 	    signalFormatDStar, | ||||
| 	    signalFormatDPMR | ||||
| 	    signalFormatDPMR, | ||||
| 		signalFormatYSF | ||||
| 	} SignalFormat; | ||||
| 
 | ||||
| 	Ui::DSDDemodGUI* ui; | ||||
|  | @ -112,6 +113,10 @@ private: | |||
| 	int m_tickCount; | ||||
| 
 | ||||
| 	static char m_dpmrFrameTypes[9][3]; | ||||
|     static const char *m_ysfChannelTypeText[4]; | ||||
|     static const char *m_ysfDataTypeText[4]; | ||||
|     static const char *m_ysfCallModeText[4]; | ||||
| 
 | ||||
| 
 | ||||
| 	explicit DSDDemodGUI(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent = NULL); | ||||
| 	virtual ~DSDDemodGUI(); | ||||
|  |  | |||
		Ładowanie…
	
		Reference in New Issue
	
	 f4exb
						f4exb