2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								///////////////////////////////////////////////////////////////////////////////////
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Copyright (C) 2020 Edouard Griffiths, F4EXB                                   //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								//                                                                               //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// 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/>.          //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								///////////////////////////////////////////////////////////////////////////////////
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  <QDebug> 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  "limerfecontroller.h" 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								const  std : : map < int ,  std : : string >  LimeRFEController : : m_errorCodesMap  =  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    {  0 ,  " OK " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { - 4 ,  " Error synchronizing communication " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { - 3 ,  " Non-configurable GPIO pin specified. Only pins 4 and 5 are configurable. " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { - 2 ,  " Problem with .ini configuration file " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { - 1 ,  " Communication error " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    {  1 ,  " Wrong TX connector - not possible to route TX of the selecrted channel to the specified port " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    {  2 ,  " Wrong RX connector - not possible to route RX of the selecrted channel to the specified port " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    {  3 ,  " Mode TXRX not allowed - when the same port is selected for RX and TX, it is not allowed to use mode RX & TX " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    {  4 ,  " Wrong mode for cellular channel - Cellular FDD bands (1, 2, 3, and 7) are only allowed mode RX & TX, while TDD band 38 is allowed only RX or TX mode " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    {  5 ,  " Cellular channels must be the same both for RX and TX " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    {  6 ,  " Requested channel code is wrong " } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								LimeRFEController : : LimeRFESettings : : LimeRFESettings ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_rxChannels  =  ChannelsWideband ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_rxWidebandChannel  =  WidebandLow ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_rxHAMChannel  =  HAM_144_146MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_rxCellularChannel  =  CellularBand38 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_rxPort  =  RxPortJ3 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_amfmNotch  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_attenuationFactor  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_txChannels  =  ChannelsWideband ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_txWidebandChannel  =  WidebandLow ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_txHAMChannel  =  HAM_144_146MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_txCellularChannel  =  CellularBand38 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_txPort  =  TxPortJ3 ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-21 18:05:14 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    m_swrEnable  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_swrSource  =  SWRExternal ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    m_txRxDriven  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_rxOn  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_txOn  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								LimeRFEController : : LimeRFEController ( )  : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    m_rfeDevice ( nullptr ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								LimeRFEController : : ~ LimeRFEController ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-22 07:46:52 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    closeDevice ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								int  LimeRFEController : : openDevice ( const  std : : string &  serialDeviceName ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-22 07:46:52 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    closeDevice ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rfe_dev_t  * rfeDevice  =  RFE_Open ( serialDeviceName . c_str ( ) ,  nullptr ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( rfeDevice  ! =  ( void  * )  - 1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        m_rfeDevice  =  rfeDevice ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								void  LimeRFEController : : closeDevice ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-22 07:46:52 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  ( m_rfeDevice ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        RFE_Close ( m_rfeDevice ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        m_rfeDevice  =  nullptr ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								int  LimeRFEController : : configure ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ! m_rfeDevice )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-01-14 01:11:31 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    qDebug ( )  < <  " LimeRFEController::configure:  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < <  " attValue:  "  < <  ( int )  m_rfeBoardState . attValue 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < <  " channelIDRX:  "  < <  ( int )  m_rfeBoardState . channelIDRX 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < <  " channelIDTX:  "  < <  ( int )  m_rfeBoardState . channelIDTX 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < <  " mode:  "  < <  ( int )  m_rfeBoardState . mode 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < <  " notchOnOff:  "  < <  ( int )  m_rfeBoardState . notchOnOff 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < <  " selPortRX:  "  < <  ( int )  m_rfeBoardState . selPortRX 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < <  " selPortTX:  "  < <  ( int )  m_rfeBoardState . selPortTX 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-15 00:28:25 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        < <  " enableSWR:  "  < <  ( int )  m_rfeBoardState . enableSWR 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-14 01:11:31 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        < <  " sourceSWR:  "  < <  ( int )  m_rfeBoardState . sourceSWR ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    int  rc  =  RFE_ConfigureState ( m_rfeDevice ,  m_rfeBoardState ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( rc  ! =  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        qInfo ( " LimeRFEController::configure: %s " ,  getError ( rc ) . c_str ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-14 01:11:31 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        qDebug ( )  < <  " LimeRFEController::configure: done " ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  rc ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								int  LimeRFEController : : getState ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ! m_rfeDevice )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  rc  =  RFE_GetState ( m_rfeDevice ,  & m_rfeBoardState ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    qDebug ( )  < <  " LimeRFEController::getState:  " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < <  " attValue:  "  < <  ( int )  m_rfeBoardState . attValue 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < <  " channelIDRX:  "  < <  ( int )  m_rfeBoardState . channelIDRX 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < <  " channelIDTX:  "  < <  ( int )  m_rfeBoardState . channelIDTX 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < <  " mode:  "  < <  ( int )  m_rfeBoardState . mode 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < <  " notchOnOff:  "  < <  ( int )  m_rfeBoardState . notchOnOff 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < <  " selPortRX:  "  < <  ( int )  m_rfeBoardState . selPortRX 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < <  " selPortTX:  "  < <  ( int )  m_rfeBoardState . selPortTX 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-15 00:28:25 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        < <  " enableSWR:  "  < <  ( int )  m_rfeBoardState . enableSWR 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        < <  " sourceSWR:  "  < <  ( int )  m_rfeBoardState . sourceSWR ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( rc  ! =  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        qInfo ( " LimeRFEController::getState: %s " ,  getError ( rc ) . c_str ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  rc ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								std : : string  LimeRFEController : : getError ( int  errorCode ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    std : : map < int ,  std : : string > : : const_iterator  it  =  m_errorCodesMap . find ( errorCode ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( it  = =  m_errorCodesMap . end ( ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  " Unknown error " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  it - > second ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								int  LimeRFEController : : setRx ( LimeRFESettings &  settings ,  bool  rxOn ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ! m_rfeDevice )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  mode  =  rxOn  & &  settings . m_txOn  ? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        RFE_MODE_TXRX  :  rxOn  ? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            RFE_MODE_RX  :  settings . m_txOn  ? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                RFE_MODE_TX  :   RFE_MODE_NONE ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  rc  =  RFE_Mode ( m_rfeDevice ,  mode ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( rc  = =  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxOn  =  rxOn ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  rc ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								int  LimeRFEController : : setTx ( LimeRFESettings &  settings ,  bool  txOn ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ! m_rfeDevice )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  mode  =  txOn  & &  settings . m_rxOn  ? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        RFE_MODE_TXRX  :  txOn  ? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            RFE_MODE_TX  :  settings . m_rxOn  ? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                RFE_MODE_RX  :   RFE_MODE_NONE ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  rc  =  RFE_Mode ( m_rfeDevice ,  mode ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( rc  = =  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-13 01:56:45 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        settings . m_txOn  =  txOn ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  rc ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-01-14 15:26:49 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								int  LimeRFEController : : getFwdPower ( int &  powerDB ) 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-14 15:26:49 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  ( ! m_rfeDevice )  { 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-01-14 15:26:49 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    int  power ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  rc  =  RFE_ReadADC ( m_rfeDevice ,  RFE_ADC1 ,  & power ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( rc  = =  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        powerDB  =  power ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-01-14 15:26:49 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    return  rc ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-01-14 15:26:49 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								int  LimeRFEController : : getRefPower ( int &  powerDB ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ! m_rfeDevice )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  - 1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-14 15:26:49 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  power ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  rc  =  RFE_ReadADC ( m_rfeDevice ,  RFE_ADC2 ,  & power ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( rc  = =  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        powerDB  =  power ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  rc ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								void  LimeRFEController : : settingsToState ( const  LimeRFESettings &  settings ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( settings . m_rxChannels  = =  ChannelsCellular ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( settings . m_rxCellularChannel  = =  CellularBand1 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            m_rfeBoardState . channelIDRX  =  RFE_CID_CELL_BAND01 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            m_rfeBoardState . mode  =  RFE_MODE_TXRX ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else  if  ( settings . m_rxCellularChannel  = =  CellularBand2 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            m_rfeBoardState . channelIDRX  =  RFE_CID_CELL_BAND02 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            m_rfeBoardState . mode  =  RFE_MODE_TXRX ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-08 22:04:58 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        else  if  ( settings . m_rxCellularChannel  = =  CellularBand3 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            m_rfeBoardState . channelIDRX  =  RFE_CID_CELL_BAND03 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            m_rfeBoardState . mode  =  RFE_MODE_TXRX ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        else  if  ( settings . m_rxCellularChannel  = =  CellularBand38 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            m_rfeBoardState . channelIDRX  =  RFE_CID_CELL_BAND38 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else  if  ( settings . m_rxCellularChannel  = =  CellularBand7 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            m_rfeBoardState . channelIDRX  =  RFE_CID_CELL_BAND07 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            m_rfeBoardState . mode  =  RFE_MODE_TXRX ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        m_rfeBoardState . selPortRX  =  RFE_PORT_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        m_rfeBoardState . selPortTX  =  RFE_PORT_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        m_rfeBoardState . channelIDTX  =  m_rfeBoardState . channelIDRX ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-14 01:11:31 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        m_rfeBoardState . mode  =  settings . m_rxOn  & &  settings . m_txOn  ? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            RFE_MODE_TXRX  :  settings . m_rxOn  ? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                RFE_MODE_RX  :  settings . m_txOn  ? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    RFE_MODE_TX  :   RFE_MODE_NONE ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        if  ( settings . m_rxChannels  = =  ChannelsWideband ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( settings . m_rxWidebandChannel  = =  WidebandLow )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                m_rfeBoardState . channelIDRX  =  RFE_CID_WB_1000 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            }  else  if  ( settings . m_rxWidebandChannel  = =  WidebandHigh )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                m_rfeBoardState . channelIDRX  =  RFE_CID_WB_4000 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else  if  ( settings . m_rxChannels  = =  ChannelsHAM ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( settings . m_rxHAMChannel  = =  HAM_30M )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                m_rfeBoardState . channelIDRX  =  RFE_CID_HAM_0030 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            }  else  if  ( settings . m_rxHAMChannel  = =  HAM_50_70MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                m_rfeBoardState . channelIDRX  =  RFE_CID_HAM_0070 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            }  else  if  ( settings . m_rxHAMChannel  = =  HAM_144_146MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                m_rfeBoardState . channelIDRX  =  RFE_CID_HAM_0145 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            }  else  if  ( settings . m_rxHAMChannel  = =  HAM_220_225MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                m_rfeBoardState . channelIDRX  =  RFE_CID_HAM_0220 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            }  else  if  ( settings . m_rxHAMChannel  = =  HAM_430_440MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                m_rfeBoardState . channelIDRX  =  RFE_CID_HAM_0435 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            }  else  if  ( settings . m_rxHAMChannel  = =  HAM_902_928MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                m_rfeBoardState . channelIDRX  =  RFE_CID_HAM_0920 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            }  else  if  ( settings . m_rxHAMChannel  = =  HAM_1240_1325MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                m_rfeBoardState . channelIDRX  =  RFE_CID_HAM_1280 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            }  else  if  ( settings . m_rxHAMChannel  = =  HAM_2300_2450MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                m_rfeBoardState . channelIDRX  =  RFE_CID_HAM_2400 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            }  else  if  ( settings . m_rxHAMChannel  = =  HAM_3300_3500MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                m_rfeBoardState . channelIDRX  =  RFE_CID_HAM_3500 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( settings . m_rxPort  = =  RxPortJ3 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            m_rfeBoardState . selPortRX  =  RFE_PORT_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  else  if  ( settings . m_rxPort  = =  RxPortJ5 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            m_rfeBoardState . selPortRX  =  RFE_PORT_3 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( settings . m_txRxDriven ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            m_rfeBoardState . channelIDTX  =  m_rfeBoardState . channelIDRX ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( settings . m_txChannels  = =  ChannelsWideband ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                if  ( settings . m_txWidebandChannel  = =  WidebandLow )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    m_rfeBoardState . channelIDTX  =  RFE_CID_WB_1000 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                }  else  if  ( settings . m_txWidebandChannel  = =  WidebandHigh )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    m_rfeBoardState . channelIDTX  =  RFE_CID_WB_4000 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            else  if  ( settings . m_txChannels  = =  ChannelsHAM ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                if  ( settings . m_txHAMChannel  = =  HAM_30M )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    m_rfeBoardState . channelIDTX  =  RFE_CID_HAM_0030 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                }  else  if  ( settings . m_txHAMChannel  = =  HAM_50_70MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    m_rfeBoardState . channelIDTX  =  RFE_CID_HAM_0070 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                }  else  if  ( settings . m_txHAMChannel  = =  HAM_144_146MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    m_rfeBoardState . channelIDTX  =  RFE_CID_HAM_0145 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                }  else  if  ( settings . m_txHAMChannel  = =  HAM_220_225MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    m_rfeBoardState . channelIDTX  =  RFE_CID_HAM_0220 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                }  else  if  ( settings . m_txHAMChannel  = =  HAM_430_440MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    m_rfeBoardState . channelIDTX  =  RFE_CID_HAM_0435 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                }  else  if  ( settings . m_txHAMChannel  = =  HAM_902_928MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    m_rfeBoardState . channelIDTX  =  RFE_CID_HAM_0920 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                }  else  if  ( settings . m_txHAMChannel  = =  HAM_1240_1325MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    m_rfeBoardState . channelIDTX  =  RFE_CID_HAM_1280 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                }  else  if  ( settings . m_txHAMChannel  = =  HAM_2300_2450MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    m_rfeBoardState . channelIDTX  =  RFE_CID_HAM_2400 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                }  else  if  ( settings . m_txHAMChannel  = =  HAM_3300_3500MHz )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    m_rfeBoardState . channelIDTX  =  RFE_CID_HAM_3500 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( settings . m_txPort  = =  TxPortJ3 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            m_rfeBoardState . selPortTX  =  RFE_PORT_1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  else  if  ( settings . m_txPort  = =  TxPortJ4 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            m_rfeBoardState . selPortTX  =  RFE_PORT_2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  else  if  ( settings . m_txPort  = =  TxPortJ5 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            m_rfeBoardState . selPortTX  =  RFE_PORT_3 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-14 19:18:41 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    m_rfeBoardState . attValue  =  settings . m_attenuationFactor  >  7  ?  7  :  settings . m_attenuationFactor ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    m_rfeBoardState . notchOnOff  =  settings . m_amfmNotch ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-15 00:28:25 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    m_rfeBoardState . enableSWR  =  settings . m_swrEnable  ?  RFE_SWR_ENABLE  :  RFE_SWR_DISABLE ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( settings . m_swrSource  = =  SWRExternal )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        m_rfeBoardState . sourceSWR  =  RFE_SWR_SRC_EXT ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    }  else  if  ( settings . m_swrSource  = =  SWRCellular )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        m_rfeBoardState . sourceSWR  =  RFE_SWR_SRC_CELL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								void  LimeRFEController : : stateToSettings ( LimeRFESettings &  settings ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_CELL_BAND01 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsCellular ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxCellularChannel  =  CellularBand1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_CELL_BAND02 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsCellular ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxCellularChannel  =  CellularBand2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-08 22:04:58 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_CELL_BAND03 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsCellular ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxCellularChannel  =  CellularBand3 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_CELL_BAND07 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsCellular ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxCellularChannel  =  CellularBand7 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_CELL_BAND38 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsCellular ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxCellularChannel  =  CellularBand38 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_WB_1000 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsWideband ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxWidebandChannel  =  WidebandLow ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_WB_4000 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsWideband ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxWidebandChannel  =  WidebandHigh ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_HAM_0030 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxHAMChannel  =  HAM_30M ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_HAM_0070 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxHAMChannel  =  HAM_50_70MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_HAM_0145 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxHAMChannel  =  HAM_144_146MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_HAM_0220 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxHAMChannel  =  HAM_220_225MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_HAM_0435 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxHAMChannel  =  HAM_430_440MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_HAM_0920 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxHAMChannel  =  HAM_902_928MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_HAM_1280 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxHAMChannel  =  HAM_1240_1325MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_HAM_2400 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxHAMChannel  =  HAM_2300_2450MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDRX  = =  RFE_CID_HAM_3500 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxHAMChannel  =  HAM_3300_3500MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( m_rfeBoardState . selPortRX  = =  RFE_PORT_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxPort  =  RxPortJ3 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    }  else  if  ( m_rfeBoardState . selPortRX  = =  RFE_PORT_3 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxPort  =  RxPortJ5 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_CELL_BAND01 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsCellular ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txCellularChannel  =  CellularBand1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_CELL_BAND02 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsCellular ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txCellularChannel  =  CellularBand2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-08 22:04:58 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_CELL_BAND03 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsCellular ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txCellularChannel  =  CellularBand3 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_CELL_BAND07 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsCellular ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txCellularChannel  =  CellularBand7 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_CELL_BAND38 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsCellular ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txCellularChannel  =  CellularBand38 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_WB_1000 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsWideband ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txWidebandChannel  =  WidebandLow ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_WB_4000 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsWideband ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txWidebandChannel  =  WidebandHigh ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_HAM_0030 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txHAMChannel  =  HAM_30M ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_HAM_0070 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txHAMChannel  =  HAM_50_70MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_HAM_0145 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txHAMChannel  =  HAM_144_146MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_HAM_0220 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txHAMChannel  =  HAM_220_225MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_HAM_0435 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txHAMChannel  =  HAM_430_440MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_HAM_0920 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txHAMChannel  =  HAM_902_928MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_HAM_1280 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txHAMChannel  =  HAM_1240_1325MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_HAM_2400 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txHAMChannel  =  HAM_2300_2450MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . channelIDTX  = =  RFE_CID_HAM_3500 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txChannels  =  ChannelsHAM ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txHAMChannel  =  HAM_3300_3500MHz ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( m_rfeBoardState . selPortTX  = =  RFE_PORT_1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txPort  =  TxPortJ3 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    }  else  if  ( m_rfeBoardState . selPortTX  = =  RFE_PORT_2 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txPort  =  TxPortJ4 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    }  else  if  ( m_rfeBoardState . selPortTX  = =  RFE_PORT_3 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txPort  =  TxPortJ5 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    settings . m_attenuationFactor  =  m_rfeBoardState . attValue ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    settings . m_amfmNotch  =   m_rfeBoardState . notchOnOff  = =  RFE_NOTCH_ON ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( m_rfeBoardState . mode  = =  RFE_MODE_RX ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxOn  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txOn  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . mode  = =  RFE_MODE_TX ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxOn  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txOn  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . mode  = =  RFE_MODE_NONE ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxOn  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txOn  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else  if  ( m_rfeBoardState . mode  = =  RFE_MODE_TXRX ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_rxOn  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        settings . m_txOn  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-15 00:28:25 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    settings . m_swrEnable  =  m_rfeBoardState . enableSWR  = =  RFE_SWR_ENABLE ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    settings . m_swrSource  =  m_rfeBoardState . sourceSWR  = =  RFE_SWR_SRC_CELL  ?  SWRCellular  :  SWRExternal ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 01:10:51 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								}