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

📄 cli_cmdpro.c

📁 可以作为路由器交换机设备的远端shell控制接口
💻 C
📖 第 1 页 / 共 5 页
字号:
	{
		//在winows下不编译
		#if (CONFIG_OS_WINDOWS != TRUE)
		//call sd_drv.c  ,in order to get time of read and write one block
              sd_readwrite_time();
		aos_sprintf( szTmp, "\n\r sd card volume is %d M,\n\r read one block time is  %d us", g_SDVolume, g_readBlock_usec );
		cli_out_string (ulIndex, szTmp ) ;
		#endif

		return ;
	}
	else
	{
		cli_out_string (ulIndex, pTooManyParam ) ;
		return ;
	}

}
#endif

#if( CONFIG_BOARD_GMPU == TRUE )
/*========================================================================*/
/*    Function Name    : show_temperature_cmdpro                       */
/*    Function desc.   : display the board temperature                 */
/*     modify by william 2006-09-13                                    */
/*========================================================================*/
VOID show_temperature_cmdpro ( U32 argc, S8 * argv[ ] )
{

	S8 szTmp[ USERLENGTH ] ;
	S8 szIfName[128] = "";
	U32 ulIndex = 0;
	       /*error msg*/
	if ( argc < 2)
	{
		cli_out_string (0, "\n\r error msg" ) ;
		return ;
	}

	/*get user index*/
	aos_atol(argv[0], (S32*)&ulIndex);

	/*get curent interface mode*/
	aos_strcpy(szIfName, argv[1]);

	if ( argc == 2 )
	{

		/* get the current board temperature*/
		//在winows下不编译
		#if (CONFIG_OS_WINDOWS != TRUE)
		//CurTempera=Gmpu_ShowTempera();
		aos_sprintf( szTmp, "\n\rboard current temperature is %d ℃", g_CurTempera);
		cli_out_string (ulIndex, szTmp ) ;
		#endif

		return ;
	}
	else
	{
		cli_out_string (ulIndex, pTooManyParam ) ;
		return ;
	}

}
#endif

/*========================================================================*/
/*                                                                        */
/*    Function Name    : show_clock_cmdpro                                        */
/*    Function Func.   : display the sytem time and date                  */
/*========================================================================*/
VOID show_clock_cmdpro ( U32 argc, S8 * argv[ ] )
{

	S8 szTmp[ USERLENGTH ] ;
	SYS_TIME_S stSysTime;
	S8 szIfName[128] = "";
	U32 ulIndex = 0;

	/*error msg*/
	if ( argc < 2)
	{
		cli_out_string (0, "\n\r error msg" ) ;
		return ;
	}

	/*get user index*/
	aos_atol(argv[0], (S32*)&ulIndex);

	/*get curent interface mode*/
	aos_strcpy(szIfName, argv[1]);

	if ( argc == 2 )
	{

		/* get the current time and display*/
		aos_time_get(&stSysTime);

		aos_sprintf( szTmp, "\n\r%d/%d/%d  %d:%d:%d",
		stSysTime.month,stSysTime.date,stSysTime.year,
		stSysTime.hour,stSysTime.minute,stSysTime.second);

		cli_out_string (ulIndex, szTmp ) ;
		return ;
	}
	else
	{
		cli_out_string (ulIndex, pTooManyParam ) ;
		return ;
	}

}

/*========================================================================*/
/*                                                                        */
/*    Function Name    : show_version_cmdpro                                      */
/*    Function Func.   : display the sytem version information            */
/*                                                                        */
/*========================================================================*/

VOID show_version_cmdpro ( U32 argc, S8 * argv[ ] )
{
	S8 szOut[200] ="";
	S8 szIfName[128] = "";
	U32 ulIndex = 0;


	/*error msg*/
	if ( argc < 2)
	{
		cli_out_string (0, "\n\r error msg" ) ;
		return ;
	}

	/*get user index*/
	aos_atol(argv[0], (S32*)&ulIndex);

	/*get curent interface mode*/
	aos_strcpy(szIfName, argv[1]);

	if ( argc == 2 )
	{
        if( !aos_is_mini_system() )
        {
    		dev_get_local_card_version( szOut, 200 );

#if( CONFIG_BOARD_EIA == TRUE )
            aos_sprintf( &szOut[aos_strlen(szOut)], " V%u", dev_get_eia_hardware_type() );
#endif
        }
        else
        {
            dev_make_local_card_version( szOut );
            aos_strcat( szOut, " Mini-System" );
        }

		cli_out_string( ulIndex, "\r\n");
		cli_out_string (ulIndex, szOut ) ;
	}
	else
	{
		cli_out_string (ulIndex, pTooManyParam ) ;
		return ;
	}

	return ;
}

/*========================================================================*/
/*                                                                        */
/*    Function Name    : clock_set_cmdpro                                            */
/*    Function Func.   : setup the sytem time and date                    */
/*========================================================================*/
VOID clock_set_cmdpro ( U32 argc, S8 * argv[ ] )
{
	S8 szIfName[128] = "";
	U32 ulIndex = 0;
	SYS_TIME_S  stSysTime;
	S8 *pchar = NULL,*pvalue = NULL;
	U32 ulCount =0,ulTempValue =0;
	S8 szTemp[16] ="";
	S32 ulRet =0;

	/*error msg*/
	if ( argc < 2)
	{
		cli_out_string (0, "\n\r error msg" ) ;
		return ;
	}

	/*get user index*/
	aos_atol(argv[0], (S32*)&ulIndex);

	/*get curent interface mode*/
	aos_strcpy(szIfName, argv[1]);

	aos_memzero(&stSysTime, sizeof(SYS_TIME_S));

	if ( argc == 4 )
	{

		/*get month*/
		pchar =argv[2];
		pvalue = szTemp;
		ulCount =0;
		while ((*pchar != '/') && (ulCount <3)&&(*pchar !='\0'))
		{
			*pvalue = *pchar;
			pchar ++;
			pvalue++;
			ulCount ++;
		}

		if(3== ulCount)
		{
			cli_out_string (ulIndex, "\n\r error msg" ) ;
			return ;
		}

		*pvalue ='\0';
		ulRet =  aos_atoul(szTemp, &ulTempValue);
		if(AOS_SUCC != ulRet)
		{
			cli_out_string (ulIndex, "\n\r error msg" ) ;
			return ;
		}
		stSysTime.month = (U8)ulTempValue;


		/*get day*/
		pchar ++;
		szTemp[0] ='\0';
		pvalue = szTemp;
		ulCount =0;
		while ((*pchar != '/') && (ulCount <3)&&(*pchar !='\0'))
		{
			*pvalue = *pchar;
			pchar ++;
			pvalue++;
			ulCount ++;
		}

		if(3== ulCount)
		{
			cli_out_string (ulIndex, "\n\r error msg" ) ;
			return ;
		}

		*pvalue ='\0';
		ulRet =  aos_atoul(szTemp, &ulTempValue);
		if(AOS_SUCC != ulRet)
		{
			cli_out_string (ulIndex, "\n\r error msg" ) ;
			return ;
		}
		stSysTime.date = (U8)ulTempValue;


		/*get year*/
		pchar ++;
		szTemp[0] ='\0';
		pvalue = szTemp;
		ulCount =0;
		while ((ulCount <5)&&(*pchar !='\0'))
		{
			*pvalue = *pchar;
			pchar ++;
			pvalue++;
			ulCount ++;
		}
		*pvalue ='\0';
		ulRet =  aos_atoul(szTemp, &ulTempValue);
		if(AOS_SUCC != ulRet)
		{
			cli_out_string (ulIndex, "\n\r error msg" ) ;
			return ;
		}
		stSysTime.year = (U16)ulTempValue;

		/*get hour*/
		pchar =argv[3];
		pvalue = szTemp;
		ulCount =0;
		while ((*pchar != ':') && (ulCount <3)&&(*pchar !='\0'))
		{
			*pvalue = *pchar;
			pchar ++;
			pvalue++;
			ulCount ++;
		}

		if(3== ulCount)
		{
			cli_out_string (ulIndex, "\n\r error msg" ) ;
			return ;
		}

		*pvalue ='\0';
		ulRet =  aos_atoul(szTemp, &ulTempValue);
		if(AOS_SUCC != ulRet)
		{
			cli_out_string (ulIndex, "\n\r error msg" ) ;
			return ;
		}
		stSysTime.hour = (U8)ulTempValue ;


		/*get miniture*/
		pchar ++;
		szTemp[0] ='\0';
		pvalue = szTemp;
		ulCount =0;
		while( (*pchar != ':') && (ulCount <3)&&(*pchar !='\0'))
		{
			*pvalue = *pchar;
			pchar ++;
			pvalue++;
			ulCount ++;
		}
		if(3== ulCount)
		{
			cli_out_string (ulIndex, "\n\r error msg" ) ;
			return ;
		}
		*pvalue ='\0';
		ulRet =  aos_atoul(szTemp, &ulTempValue);
		if(AOS_SUCC != ulRet)
		{
			cli_out_string (ulIndex, "\n\r error msg" ) ;
			return ;
		}
		stSysTime.minute = (U8)ulTempValue ;


		/*get second*/
		pchar ++;
		szTemp[0] ='\0';
		pvalue = szTemp;
		ulCount =0;
		while  ((ulCount <3) &&(*pchar !='\0'))
		{
			*pvalue = *pchar;
			pchar ++;
			pvalue++;
			ulCount ++;
		}
		*pvalue ='\0';
		ulRet =  aos_atoul(szTemp, &ulTempValue);
		if(AOS_SUCC != ulRet)
		{
			cli_out_string (ulIndex, "\n\r error msg" ) ;
			return ;
		}
		stSysTime.second = (U8)ulTempValue;

		ulRet =(S32)aos_time_set (&stSysTime);
		if(AOS_SUCC != ulRet)
		{
			cli_out_string (ulIndex, "\r\ntime set error!") ;
		}
		return ;

	}
	else
	{
		cli_out_string (ulIndex, "\n\r not complete") ;
		return ;
	}
}


/*========================================================================*/
/*                                                                        */
/*    Function Name    : monitor_cmdpro                                          */
/*    Function Func.   : set the monitor debug output flag                */
/*========================================================================*/

VOID monitor_cmdpro ( U32 argc, S8 * argv[ ] )
{

	USER_DATA_S *   pstUserData = NULL;       /* the current task data*/
	S8 szIfName[128] = "";
	U32 ulIndex = 0;

	/*error msg*/
	if ( argc < 2)
	{
		cli_out_string (0, "\n\r error msg" ) ;
		return ;
	}

	/*get user index*/
	aos_atol(argv[0], (S32*)&ulIndex);

	/*get curent interface mode*/
	aos_strcpy(szIfName, argv[1]);

	if ( argc == 2 )
	{
		if (NULL == ( pstUserData = cli_get_userdata_by_index( ulIndex)) )
		return  ;

		/* set the monitor debug output flag*/
		pstUserData ->iMonitor = 1 ;
		return ;
	}
	else  if (( argc == 3 ) && (! aos_strcmp ( argv[2], "<no>" )))
	{
		/* accroding to the task id, get the current task data */
		if (NULL == ( pstUserData = cli_get_userdata_by_index( ulIndex)) )
		return  ;

		/* set the monitor debug output flag*/
		pstUserData ->iMonitor = 0 ;
		return ;
	}
	else
	{
		/* error message*/
		cli_out_string (ulIndex, pTooManyParam ) ;
		return ;
	}

}

/*========================================================================*/
/*                                                                        */
/*    Function Name    : debug_all_cmdpro                                         */
/*    Function Func.   : Enable/Disable debugging function                */
/*                                                                        */
/*========================================================================*/

VOID debug_all_cmdpro ( U32 argc, S8 * argv[ ] )
{
	S8 szIfName[128] = "";
	U32 ulIndex = 0;

	/*error msg*/
	if ( argc < 2)
	{
		cli_out_string (0, "\n\r error msg" ) ;
		return ;
	}

	/*get user index*/
	aos_atol(argv[0], (S32*)&ulIndex);

	/*get curent interface mode*/
	aos_strcpy(szIfName, argv[1]);

	if ( argc == 2 )
	{
		return ;
	}
	else if ( argc == 3 && ! aos_strcmp ( argv[2], "<no>" ) )
	{
		return ;
	}
	else
	{
		cli_out_string (ulIndex, pTooManyParam ) ;
		return ;
	}

}

/*========================================================================*/
/*                                                                        */
/*    Function Name    : show_debugging_cmdpro                                    */
/*    Function Func.   : Show debug function switch stats                 */
/*                                                                        */
/*========================================================================*/

VOID show_debugging_cmdpro ( U32 argc, S8 * argv[ ] )
{
	S8 szIfName[128] = "";
	U32 ulIndex = 0;

⌨️ 快捷键说明

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