⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmmcom1.c

📁 2410下面通过MOTO手台录音程序;自己用的
💻 C
📖 第 1 页 / 共 3 页
字号:
		else
		{
			temp = rGPBDAT;
			if(temp&GPBIO_IN2_DATA)
			{
				
				if((GM3688_PTT_CURRENT_STATUS==PTT_STATUS_OFF)&&
				(GM3688_PTT_PREVIOUS_STATUS==PTT_STATUS_OFF))
				{
					logMsg("ptt is down.\n",0,0,0,0,0,0);
				}
				GM3688_PTT_PREVIOUS_STATUS =GM3688_PTT_CURRENT_STATUS;
				GM3688_PTT_CURRENT_STATUS =PTT_STATUS_ON;
			}
			else
			{
				if((GM3688_PTT_CURRENT_STATUS==PTT_STATUS_OFF)&&
				(GM3688_PTT_PREVIOUS_STATUS==PTT_STATUS_ON))
				{
					logMsg("ptt is up.\n",0,0,0,0,0,0);
				}
				GM3688_PTT_PREVIOUS_STATUS =GM3688_PTT_CURRENT_STATUS;
				GM3688_PTT_CURRENT_STATUS =PTT_STATUS_OFF;
						
			}
			if(temp&GPBIO_IN5_DATA)
			{
				
				if((GM3688_CARRY_CURRENT_STATUS==CARRY_STATUS_OFF)&&
				(GM3688_CARRY_PREVIOUS_STATUS==CARRY_STATUS_OFF))
				{
					logMsg("Radio is Carry start.\n",0,0,0,0,0,0);
				}
					GM3688_CARRY_PREVIOUS_STATUS =GM3688_CARRY_CURRENT_STATUS;
				GM3688_CARRY_CURRENT_STATUS =CARRY_STATUS_ON;
			}
			else
			{
				if((GM3688_CARRY_CURRENT_STATUS==CARRY_STATUS_ON)&&
				(GM3688_CARRY_PREVIOUS_STATUS==CARRY_STATUS_ON))
				{
					logMsg("Radio is Carry end.\n",0,0,0,0,0,0);
				}
				GM3688_CARRY_PREVIOUS_STATUS =GM3688_CARRY_CURRENT_STATUS;
				GM3688_CARRY_CURRENT_STATUS =CARRY_STATUS_OFF;
						
			}	

			if(temp&GPBIO_IN6_DATA)
			{
				if((GM3688_START_CURRENT_STATUS==START_STATUS_OFF)&&
				(GM3688_START_PREVIOUS_STATUS==START_STATUS_OFF))
				{
					logMsg("Radio is Power on\n",0,0,0,0,0,0);
				}
					GM3688_START_PREVIOUS_STATUS =GM3688_START_CURRENT_STATUS;
				GM3688_START_CURRENT_STATUS =START_STATUS_ON;
			}	
			else
			{
				if((GM3688_START_CURRENT_STATUS==START_STATUS_ON)&&
				(GM3688_START_PREVIOUS_STATUS==START_STATUS_ON))
				{
					logMsg("Radio is Power off\n",0,0,0,0,0,0);
				}
				GM3688_START_PREVIOUS_STATUS =GM3688_START_CURRENT_STATUS;
				GM3688_START_CURRENT_STATUS =START_STATUS_OFF;
			}	
		}
	taskDelay(sysClkRateGet()/100);
	}			
}

#endif

/************************************************************/

int CMM_CCM700_Process(int meslen,M700_MESSAGE_BODY *message)
{
   	int 	mesnum;
   	int 	mesindex;
   	int 	mestype;
   	int 	i;
   	char 	val[32];
   	mesnum = (sizeof(g_allmesM700)/sizeof(M700_MESSAGE_CMP));
/****************
radio reset protect
*****************/

	for(mesindex=0;mesindex<mesnum;mesindex++)
   	{
	  	if(!memcmp(message,g_allmesM700[mesindex].message,g_allmesM700[mesindex].len))/*need cmp len?*/
	  	{
	  	    	mestype = g_allmesM700[mesindex].mestype;
			switch(mestype)
			{		
				case CCM700_POWER_ON:	
				logMsg("message:power on!\n",0,0,0,0,0,0);
				b_radio_start=0;
				return mestype;	
	
				case CCM700_GRP_ID:	
				logMsg("message:local id:\n",0,0,0,0,0,0);
				b_radio_start=0;
				return mestype;
				
				case CCM700_GRP_CONNECT:	
				logMsg("message:connecting\n",0,0,0,0,0,0);
				b_radio_start=0;
				return mestype;							
				default:
					break;
			}									
	  	}
   	}
/****************
arm reset protect
*****************/
	if(b_radio_start==0)
	{
		for(mesindex=0;mesindex<mesnum;mesindex++)
   		{
	  		if(!memcmp(message,g_allmesM700[mesindex].message,g_allmesM700[mesindex].len))/*need cmp len?*/
	  		{
	  		    	mestype = g_allmesM700[mesindex].mestype;
				switch(mestype)
				{		
				case CCM700_GRP_RANGE:	
				logMsg("message:range 1\n",0,0,0,0,0,0);
				b_radio_start=1;
				return mestype;	
				case CCM700_GRP_USE:	
				logMsg("message:gproup in use!\n",0,0,0,0,0,0);				
				return mestype;	
				b_radio_start=1;
				case CCM700_REMOTE_ID:	
				logMsg("message:remomte id!\n",0,0,0,0,0,0);				
				return mestype;	
				b_radio_start=1;					
				default:
					break;
				}									
	  		}
   		}
	}
	else if(b_radio_start==1)
	{	
		for(mesindex=0;mesindex<mesnum;mesindex++)
   		{
	  		if(!memcmp(message,g_allmesM700[mesindex].message,g_allmesM700[mesindex].len))/*need cmp len?*/
	  		{
	  	    		mestype = g_allmesM700[mesindex].mestype;
				switch(mestype)
				{		
				case CCM700_GRP_NAME:	
				logMsg("message:group name:\n",0,0,0,0,0,0);				
				return mestype;	
				case CCM700_POWER_OFF:	
				logMsg("message:powering off!\n",0,0,0,0,0,0);	
				b_radio_start=0;			
				return mestype;	

				case CCM700_GRP_RANGE:	
				logMsg("message:range 1\n",0,0,0,0,0,0);
				if((CCM700_CURRENT_STATUS==CCM700_STATUS_USE)&&(CCM700_PREVIOUS_STATUS!=CCM700_STATUS_ID))
				{
					logMsg("call out end !\n",0,0,0,0,0,0);
    							
				}
				CCM700_PREVIOUS_STATUS=CCM700_CURRENT_STATUS;
				CCM700_CURRENT_STATUS=CCM700_STATUS_RANGE;
				return mestype;	

				case CCM700_GRP_USE:	
				logMsg("message:gproup in use!\n",0,0,0,0,0,0);	
				if(CCM700_CURRENT_STATUS==CCM700_STATUS_ID)
				{
					logMsg("call in end !\n",0,0,0,0,0,0);
				}
				else
				{
					logMsg("call out start !\n",0,0,0,0,0,0);
				}
				CCM700_PREVIOUS_STATUS=CCM700_CURRENT_STATUS;
				CCM700_CURRENT_STATUS=CCM700_STATUS_USE;
				return mestype;	
				case CCM700_REMOTE_ID:	
				logMsg("message:remomte id!\n",0,0,0,0,0,0);	
				if((CCM700_CURRENT_STATUS==CCM700_STATUS_USE)||(CCM700_CURRENT_STATUS==CCM700_STATUS_RANGE))
				{
					logMsg("call in start !\n",0,0,0,0,0,0);
				}
				CCM700_PREVIOUS_STATUS=CCM700_CURRENT_STATUS;
				CCM700_CURRENT_STATUS=CCM700_STATUS_ID;
				return mestype;								
				default:
				break;
				}									
	  		}
   		}  
	}
   	return -1;
}
/****************************************************************
	description:	
	InPut:		  Non
	OutPut:		  Non
	Return:		  The result of add all command 
				  
****************************************************************/

int CMM_CEM700_Process(int meslen,M700_MESSAGE_BODY *message)
{
   	int 	mesnum;
   	int 	mesindex;
   	int 	mestype;
   	int 	i;
   	char 	val[32];
   	mesnum = (sizeof(g_allmesM700)/sizeof(M700_MESSAGE_CMP));
/****************
radio reset protect
*****************/

	for(mesindex=0;mesindex<mesnum;mesindex++)
   	{
	  	if(!memcmp(message,g_allmesM700[mesindex].message,g_allmesM700[mesindex].len))/*need cmp len?*/
	  	{
	  	    	mestype = g_allmesM700[mesindex].mestype;
			switch(mestype)
			{		
				case CEM700_POWER_ON:	
				logMsg("message:power on!\n",0,0,0,0,0,0);
				b_radio_start=0;
				return mestype;	
	
				case CEM700_GRP_ID:	
				logMsg("message:local id:\n",0,0,0,0,0,0);
				b_radio_start=0;
				return mestype;
				
				case CEM700_GRP_CONNECT:	
				logMsg("message:connecting\n",0,0,0,0,0,0);
				b_radio_start=0;
				return mestype;							
				default:
					break;
			}									
	  	}
   	}
/****************
arm reset protect
*****************/
	if(b_radio_start==0)
	{
		for(mesindex=0;mesindex<mesnum;mesindex++)
   		{
	  		if(!memcmp(message,g_allmesM700[mesindex].message,g_allmesM700[mesindex].len))/*need cmp len?*/
	  		{
	  		    	mestype = g_allmesM700[mesindex].mestype;
				switch(mestype)
				{		
				case CEM700_GRP_RANGE:	
				logMsg("message:range 1\n",0,0,0,0,0,0);
				b_radio_start=1;
				return mestype;	
				case CEM700_GRP_USE:	
				logMsg("message:gproup in use!\n",0,0,0,0,0,0);				
				return mestype;	
				b_radio_start=1;
				case CEM700_REMOTE_ID:	
				logMsg("message:remomte id!\n",0,0,0,0,0,0);				
				return mestype;	
				b_radio_start=1;					
				default:
					break;
				}									
	  		}
   		}
	}
	else if(b_radio_start==1)
	{	
		for(mesindex=0;mesindex<mesnum;mesindex++)
   		{
	  		if(!memcmp(message,g_allmesM700[mesindex].message,g_allmesM700[mesindex].len))/*need cmp len?*/
	  		{
	  	    		mestype = g_allmesM700[mesindex].mestype;
				switch(mestype)
				{		
				case CEM700_GRP_NAME:	
				logMsg("message:group name:\n",0,0,0,0,0,0);				
				return mestype;	
				case CEM700_POWER_OFF:	
				logMsg("message:powering off!\n",0,0,0,0,0,0);	
				b_radio_start=0;			
				return mestype;	

				case CEM700_GRP_RANGE:	
				logMsg("message:range 1\n",0,0,0,0,0,0);
				if((CEM700_CURRENT_STATUS==CEM700_STATUS_USE)&&(CEM700_PREVIOUS_STATUS!=CEM700_STATUS_ID))
				{
					logMsg("call out end !\n",0,0,0,0,0,0);
    							
				}
				CEM700_PREVIOUS_STATUS=CEM700_CURRENT_STATUS;
				CEM700_CURRENT_STATUS=CEM700_STATUS_RANGE;
				return mestype;	

				case CEM700_GRP_USE:	
				logMsg("message:gproup in use!\n",0,0,0,0,0,0);	
				if(CEM700_CURRENT_STATUS==CEM700_STATUS_ID)
				{
					logMsg("call in end !\n",0,0,0,0,0,0);
				}
				else
				{
					logMsg("call out start !\n",0,0,0,0,0,0);
				}
				CEM700_PREVIOUS_STATUS=CEM700_CURRENT_STATUS;
				CEM700_CURRENT_STATUS=CEM700_STATUS_USE;
				return mestype;	
				case CEM700_REMOTE_ID:	
				logMsg("message:remomte id!\n",0,0,0,0,0,0);	
				if((CEM700_CURRENT_STATUS==CEM700_STATUS_USE)||(CEM700_CURRENT_STATUS==CEM700_STATUS_RANGE))
				{
					logMsg("call in start !\n",0,0,0,0,0,0);
				}
				CEM700_PREVIOUS_STATUS=CEM700_CURRENT_STATUS;
				CEM700_CURRENT_STATUS=CEM700_STATUS_ID;
				return mestype;								
				default:
				break;
				}									
	  		}
   		}  
	}
   	return -1;
}

int CMM_M760_Process(int meslen,M700_MESSAGE_BODY *message)
{
   	int 	mesnum;
   	int 	mesindex;
   	int 	mestype;
   	int 	i;
   	char 	val[32];
   	mesnum = (sizeof(g_allmesM700)/sizeof(M700_MESSAGE_CMP));
/****************
radio reset protect
*****************/

	for(mesindex=0;mesindex<mesnum;mesindex++)
   	{
	  	if(!memcmp(message,g_allmesM700[mesindex].message,g_allmesM700[mesindex].len))/*need cmp len?*/
	  	{
	  	    	mestype = g_allmesM700[mesindex].mestype;
		
			switch(mestype)
			{		
				case M760_POWER_ON:	
				logMsg("message:power on!\n",0,0,0,0,0,0);
				M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
				M760_CURRENT_STATUS=M760_STATUS_NULL;				
				return mestype;	

				case M760_POWER_OFF:	
				logMsg("message:power off!\n",0,0,0,0,0,0);
				M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
				M760_CURRENT_STATUS=M760_STATUS_NULL;			
				return mestype;	

				case M760_GRP_NULL:	
				logMsg("message:null\n",0,0,0,0,0,0);			
				M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
				M760_CURRENT_STATUS=M760_STATUS_NULL;
				return mestype;	

				case M760_GRP_NULL1:	
				logMsg("message:null1\n",0,0,0,0,0,0);
				M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
				M760_CURRENT_STATUS=M760_STATUS_NULL;
				return mestype;	

				case M760_GRP_NULL2:	
				logMsg("message:null2\n",0,0,0,0,0,0);
				M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
				M760_CURRENT_STATUS=M760_STATUS_NULL2;
				return mestype;	

				case M760_CALLING:	
				logMsg("message:calling\n",0,0,0,0,0,0);
				M760_IN_OUT_FLAG=1;
				M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
				M760_CURRENT_STATUS=M760_STATUS_CALL;
				return mestype;

				case M760_TIMING:	
				logMsg("message:timing\n",0,0,0,0,0,0);
				if(M760_IN_OUT_FLAG)
				{
					if(M760_CURRENT_STATUS==M760_STATUS_NAME)
					{					
						logMsg("message:call out start!\n",0,0,0,0,0,0);
					}	
				}					
				else 
				{
					if(M760_CURRENT_STATUS==M760_STATUS_NAME)
					{	
						logMsg("message:call in id!\n",0,0,0,0,0,0);				
						logMsg("message:call in start!\n",0,0,0,0,0,0);
					}
				}
				M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
				M760_CURRENT_STATUS=M760_STATUS_TIME;
				return mestype;

				case M760_TIME_END:	
				logMsg("message:time end\n",0,0,0,0,0,0);
			
				M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
				M760_CURRENT_STATUS=M760_STATUS_NULL;
				return mestype;

				case M760_CALL_END:	
				logMsg("message:called end\n",0,0,0,0,0,0);
				if(M760_IN_OUT_FLAG)
				{
					M760_IN_OUT_FLAG=0;
					logMsg("message:call out end!\n",0,0,0,0,0,0);	
				}
					
				else 
				{					
					logMsg("message:call in end!\n",0,0,0,0,0,0);
				}
				M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
				M760_CURRENT_STATUS=M760_STATUS_NULL;
				return mestype;	

				case M760_QUEUED:	
				logMsg("message:queued\n",0,0,0,0,0,0);
				M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
				M760_CURRENT_STATUS=M760_STATUS_NULL;
				return mestype;	

				case M760_UNOBTAINAbLE:	
				logMsg("message:queued\n",0,0,0,0,0,0);
				M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
				M760_CURRENT_STATUS=M760_STATUS_NULL;
				return mestype;

				case M760_SCANNING:	
				logMsg("message:scanning\n",0,0,0,0,0,0);
				M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
				M760_CURRENT_STATUS=M760_STATUS_NULL;
				return mestype;

				case M760_CALL_FAILED:	
				logMsg("message:call failed\n",0,0,0,0,0,0);
				M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
				M760_CURRENT_STATUS=M760_STATUS_NULL;
				return mestype;

				case M760_GRP_CALL_IN_ID:	
				logMsg("message:call in id\n",0,0,0,0,0,0);
				M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
				M760_CURRENT_STATUS=M760_STATUS_NULL;
				return mestype;

				case M760_GRP_NAME:	
				logMsg("message:name or id\n",0,0,0,0,0,0);
				if((M760_PREVIOUS_STATUS==M760_STATUS_NULL2)&&
				(M760_CURRENT_STATUS==M760_STATUS_NULL2))
				{
					if((message->messagebody[0]==0x00)&&
					(message->messagebody[1]==0x00))
					{	
						logMsg("message:name\n",0,0,0,0,0,0);
						M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
						M760_CURRENT_STATUS=M760_STATUS_NAME;
					}
						
				}
				else 
				{
					if((message->messagebody[0]==0x00)&&
					(message->messagebody[1]==0x00))
					{					
						M760_PREVIOUS_STATUS=M760_CURRENT_STATUS;
						M760_CURRENT_STATUS=M760_STATUS_NAME;
					}
				}

				return mestype;								
				default:
				
					break;
 
 	
			}
		}  
	}
   	return -1;
}

void CMM_UART(void)
{	
	char	headc,bodyc;
	int 	i;
	int 	width;
	UINT16 	mesbodysize;	 
   	int 	mempos_ptr = 0;
   	int 	mesbody_pos = 0;
	M700_MESSAGE_BODY message;
	/*int fx_len=0;*/
	
	int	bytesRead = 0;
	
	struct timeval TelnetTimer;
	
    	fd_set CMM_UARTS;

	consoleFd1 = open ("/tyCo/1", O_RDWR, 0);
	if(ERROR == consoleFd1)
	{
		printf("open /tyCo/1 error errno =%d\n",errno);
		return;
	}
   	(void) ioctl (consoleFd1, FIOBAUDRATE, 9600);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -