亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? hmi.c

?? PEAKAUDIO用于EV2板的MCU控制源碼
?? C
字號:
/*************************************************************************

	hmi.c

	This file contains the HMI peek and poke command line routines. These
	are the main routines for examining and writing to CobraNet memory.
	
	Supported line commands: PEEK, POKE

	Copyright (C) 2001-2004 by Cirrus Logic Inc. All Rights Reserved
*************************************************************************/

#include <8051.h>
#include <intrpt.h>
#include <conio.h>
#include <string.h>
#include "serial.h"
#include "command.h"
#include "error.h"
#include "hostport.h"
#include "cnmutil.h"
#include "test.h"
#include "cnmibvar.h"
#include "mib.h"
#include "mystrings.h"
#include "hmi.h"

void peek( char * com_arg_ptr[] );
void poke( char * com_arg_ptr[] );

void peek_help( unsigned char detailed );
void poke_help( unsigned char detailed );
char mibvar_in_list( char * the_string_ptr );
void peek_do_mib_var( char the_index, char * com_arg_ptr[] );
void poke_do_mib_var( char the_index, char * com_arg_ptr[] );

extern unsigned char gWHICH_MODULE;

#define cERR_TARGET				1
#define cERR_VALUE				2
#define cERR_PEEK					3
#define cERR_POKE					4
#define cERR_COUNT				5
#define cERR_NOT_IN_RANGE	6

//define errors
code char * get_hmi_error_string( char error_number )	{
	static code char * code cmnd_arg_error[] = {
		noErrorStr,
		hmi_Str1,
		str_err_BadValue,
		hmi_Str3,
		hmi_Str4,
		hmi_Str5,
		errorStr8
	};

	return( cmnd_arg_error[ error_number ] );
}

char mibvar_in_list( char * the_string_ptr )	{
//checks if input parameter is a MIB symbol, see cnmibvar.h for the list
	char i = 0;
	char j;
	char found_it = 0;

	while( cn_mib_var[ i ].mib_name_ptr != NULL )	{
		cn_mib_var[ i ] = cn_mib_var[ i ];
		j = 0;
		while ( cn_mib_var[ i ].mib_name_ptr[ j ] == the_string_ptr[ j ] )
			if ( the_string_ptr[ j++ ] == cASCII_NULL )
				found_it = 1;
		if ( found_it )
			return( i + 1 );
		else
			i++;
	}
	return ( 0 );
}

/*************************************************************************
*																PEEK COMMAND														 *
*************************************************************************/
code struct command_item_t peek_command = {
	( code char * ) str_Com_peek,
	( code command_function_t ) peek
};

void peek( char * com_arg_ptr[] )	{
	unsigned long addr, peek_value;
	char * local_ptr;
  unsigned char error_code = cERR_NO_ERROR;
	unsigned char count;

	if ( com_arg_ptr[ 1 ] == NULL )	//look for the command without arguments
		peek_help( cHELP_SHORT );
	else	{
		if ( *com_arg_ptr[ 1 ] == '?' )	//help command
			peek_help( cHELP_LONG );
		else	{
			if ( count = mibvar_in_list( com_arg_ptr[ 1 ] ) )
				if ( com_arg_ptr[ 2 ] != NULL )
					if (  error_code = validate_hex_string( com_arg_ptr[ 2 ], 
								c4_HEX_CHAR ) )
						printTwoErrorString( get_hmi_error_string( cERR_VALUE ),
																 get_error_string( error_code ) );
					else
						peek_do_mib_var( count - 1, com_arg_ptr );
				else
					peek_do_mib_var( count - 1, com_arg_ptr );
			else
				if (  error_code = validate_hex_string( com_arg_ptr[ 1 ], 
							c6_HEX_CHAR ) )
					printTwoErrorString( get_hmi_error_string( cERR_TARGET ),
															 get_error_string( error_code ) );
				else	{
					local_ptr = com_arg_ptr[ 1 ] + 2;
					addr = str2Long( local_ptr );

					peek_value = Host_Peek( addr, &error_code );
					if ( error_code )	{
						printTwoErrorString( get_hmi_error_string ( cERR_PEEK ),
																 get_host_error( error_code ) );
					}
					else	{
						printStrCode( str_HexPrefix );
						printStrC( long2str( peek_value, 
												cNO_LEADING_ZEROS, cSIX_BYTES + ( gWHICH_MODULE & 2 ) ) );
					}
				}
		}
	}
}

void peek_do_mib_var( char the_index, char * com_arg_ptr[] )	{
//this routine executes the peek with a MIB variable as a parameter.
	unsigned char i;
	short temp_short = 0;
	long temp_long;
	unsigned char str_byte_len = cSIX_BYTES;
	char if_hex = 1;
	unsigned char err = cERR_NO_ERROR;
	char * the_string = com_arg_ptr[0];
	struct mib_var_struct mib_struct_ptr;

	mib_struct_ptr = cn_mib_var[ the_index ];	//point to the mib struct
	i = mib_struct_ptr.mib_type;
	if ( gWHICH_MODULE == cHOST_CM2 )
		str_byte_len = cEIGHT_BYTES;

	if ( ( gWHICH_MODULE == cHOST_CM2 ) && ( ( i == cMIB_TYPE_COUNTER2 ) || 
																					( i == cMIB_TYPE_INTEGER48 ) ) )
		i = cMIB_TYPE_INTEGER;//variations on the type w/respect to module type.

	if ( com_arg_ptr[ 2 ] != NULL )
		temp_short = str2Long( com_arg_ptr[ 2 ] + 2 );	//this is the offset
	temp_long = mib_struct_ptr.mib_address + temp_short;//add offset if any.
	switch ( i ) {	//executes based on the MIB type.
		case cMIB_TYPE_DISPLAY_STR :
			get_display_string( temp_long, the_string );
			if_hex = 0;
			break;
		case cMIB_TYPE_OBJECT_ID :
			get_object_ID_string( temp_long, the_string );
			break;
		case cMIB_TYPE_IPADDRESS :
			get_IP_Address_Str( temp_long, the_string );
			if_hex = 0;
			break;
		case cMIB_TYPE_PHYSADDRESS :
			get_MAC_Address_Str( temp_long, the_string );
			break;
		case cMIB_TYPE_TIMETICKS :
			get_TimeTicks_Str( temp_long, the_string );
			break;
		case cMIB_TYPE_INTEGER :
		case cMIB_TYPE_COUNTER :
			temp_long = Host_Peek( temp_long , &err );
			strcpy( the_string, long2str( temp_long, cNO_LEADING_ZEROS, str_byte_len ) );
			break;
		case cMIB_TYPE_INTEGER48 :
		case cMIB_TYPE_COUNTER2 :
			get_Integer48_Str( temp_long, the_string );
			break;
		case cMIB_TYPE_INTEGER16 :
			temp_short = get_Integer16( temp_long );
			strcpy( the_string, long2str( ( long ) temp_short, cNO_LEADING_ZEROS, cFOUR_BYTES ) );
			break;
		default :
			break;
	}
	if ( ( if_hex ) && ( *the_string != cASCII_NULL ) )
		printStrCode( str_HexPrefix );
	if ( *the_string != cASCII_NULL )
		printStrC( the_string );
}



void peek_help( unsigned char detailed )	{
	printStrCodeC( peek_str_help1 );
	if ( detailed )
		printStrCodeC( peek_str_help2 );
}

/*************************************************************************
*																POKE COMMAND														 *
*************************************************************************/
code struct command_item_t poke_command = {
	( code char * ) str_Com_poke,
	( code command_function_t ) poke
};

void poke( char * com_arg_ptr[] )	{
	unsigned long addr, poke_value;
	char * local_ptr;
	unsigned char count;
  unsigned char error_code = cERR_NO_ERROR;

	if ( com_arg_ptr[ 1 ] == NULL )	//look for the command without arguments
		poke_help( cHELP_SHORT );
	else	{
		if ( *com_arg_ptr[ 1 ] == '?' )
			poke_help( cHELP_LONG );
		else	{
			if ( count = mibvar_in_list( com_arg_ptr[ 1 ] ) )
				if ( ( cn_mib_var[ count - 1 ].mib_type == cMIB_TYPE_DISPLAY_STR ) ||
							( cn_mib_var[ count - 1 ].mib_type == cMIB_TYPE_IPADDRESS ) )
					poke_do_mib_var( count - 1, com_arg_ptr );
				else	{
					if ( error_code = validate_hex_string( com_arg_ptr[ 2 ], c6_HEX_CHAR + ( gWHICH_MODULE & cHOST_CM2 ) ) )
						printTwoErrorString( get_hmi_error_string( cERR_VALUE ),
																 get_error_string( error_code ) );
					else
						if ( com_arg_ptr[ 3 ] != NULL )
							if ( ( error_code = validate_hex_string( com_arg_ptr[ 3 ], c4_HEX_CHAR ) ) &&
									 ( cn_mib_var[ count - 1 ].mib_type != cMIB_TYPE_IPADDRESS ) )
								printTwoErrorString( get_hmi_error_string( cERR_VALUE ),
																		 get_error_string( error_code ) );
							else
								poke_do_mib_var( count - 1, com_arg_ptr );
						else
							poke_do_mib_var( count - 1, com_arg_ptr );
				}
			else
				if (  error_code = validate_hex_string( com_arg_ptr[ 1 ], c6_HEX_CHAR + ( gWHICH_MODULE & cHOST_CM2 ) ) )
					printTwoErrorString( get_hmi_error_string( cERR_TARGET ),
															 get_error_string( error_code ) );
				else	{
					if ( com_arg_ptr[ 2 ] == NULL )
						printErrString( get_error_string( cERR_MISSING_ARG ) );
					else	{
						if (  error_code = validate_hex_string( com_arg_ptr[ 2 ], c6_HEX_CHAR + ( gWHICH_MODULE & cHOST_CM2 ) ) )
							printTwoErrorString( get_hmi_error_string( cERR_VALUE ),
																	 get_error_string( error_code ) );
						else	{
							local_ptr = com_arg_ptr[ 1 ] + 2;
							addr = str2Long( local_ptr );
							local_ptr = com_arg_ptr[ 2 ] + 2;
							poke_value = str2Long( local_ptr );
							error_code = Host_Poke( addr, poke_value );
							if ( error_code )
								printTwoErrorString( get_hmi_error_string ( cERR_POKE ),
																		 get_host_error( error_code ) );
						}
					}
				}
		}
	}
}

void poke_do_mib_var( char the_index, char * com_arg_ptr[] )	{
//this routine executes the poke with a MIB variable as a parameter.
	char i;
	short temp_offset = 0;
	unsigned long temp_long;
	unsigned char err = cERR_NO_ERROR;
	struct mib_var_struct mib_struct_ptr;

	mib_struct_ptr = cn_mib_var[ the_index ];
	if ( com_arg_ptr[ 3 ] != NULL )	//this is the offset parameter
		temp_offset = str2Long( com_arg_ptr[ 3 ] + 2 );
	temp_long = mib_struct_ptr.mib_address + temp_offset;	//add offset.

	i = mib_struct_ptr.mib_type;

	if ( ( gWHICH_MODULE == cHOST_CM2 ) && ( ( i == cMIB_TYPE_COUNTER2 ) || 
																				( i == cMIB_TYPE_INTEGER48 ) ) )
	i = cMIB_TYPE_INTEGER;
	switch ( i ) {	//executes based on the MIB type.
		case cMIB_TYPE_DISPLAY_STR :
			make_arg_string( com_arg_ptr, 2 );
			put_display_string( temp_long, com_arg_ptr[ 2 ] );
			break;
		//case cMIB_TYPE_OBJECT_ID :
			//no writable variables at this time
		//	break;
		case cMIB_TYPE_IPADDRESS :
			if ( err = validate_ip_string( com_arg_ptr[ 2 ] ) )
				printTwoErrorString( get_hmi_error_string( cERR_VALUE ),
														 get_error_string( err ) );
			else
				put_IP_Address_Str( temp_long, com_arg_ptr[ 2 ] );
			break;
		case cMIB_TYPE_PHYSADDRESS :
			put_MAC_Address_Str( temp_long, com_arg_ptr[ 2 ] );
			break;
		//case cMIB_TYPE_TIMETICKS :
			//no writable variables at this time;
		//	break;
		case cMIB_TYPE_INTEGER :
		case cMIB_TYPE_COUNTER :
			err = Host_Poke( temp_long, str2Long( com_arg_ptr[ 2 ] + 2 ) );
			break;
		case cMIB_TYPE_INTEGER48 :
		case cMIB_TYPE_COUNTER2 :
			put_Integer48_Str( temp_long, ( com_arg_ptr[ 2 ] + 2 ) );
			break;
		case cMIB_TYPE_INTEGER16 :
				set_Integer16( temp_long, ( short ) str2Long( com_arg_ptr[ 2 ] + 2 ) );
			break;
		default :
			break;
	}
}

void poke_help( unsigned char detailed )	{
	printStrCodeC( poke_str_help1 );
	if ( detailed )
		printStrCodeC( poke_str_help2 );
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费观看高清完整版| caoporn国产一区二区| 欧美一区二区国产| 久久精品久久精品| 欧美成人a视频| 国产一区二区电影| 国产精品区一区二区三区| 成人不卡免费av| 亚洲精品乱码久久久久久日本蜜臀| www.亚洲色图| 亚洲国产日韩一区二区| 91精品国产日韩91久久久久久| 麻豆国产精品一区二区三区 | 精品美女在线观看| 懂色av中文一区二区三区| 亚洲人成在线播放网站岛国| 在线视频你懂得一区| 免费的成人av| 中文字幕中文字幕中文字幕亚洲无线| 在线观看成人免费视频| 日韩电影在线观看网站| 精品88久久久久88久久久| 国产精品综合av一区二区国产馆| 国产精品乱码人人做人人爱| 欧美三级一区二区| 国产精品一区不卡| 亚洲一区二区欧美激情| www国产亚洲精品久久麻豆| 99在线精品观看| 麻豆免费看一区二区三区| 国产欧美精品国产国产专区| 欧美在线观看视频一区二区| 精品亚洲porn| 亚洲一区影音先锋| 国产三级欧美三级日产三级99| 91蜜桃网址入口| 精品一二三四区| 亚洲国产视频直播| 欧美国产日韩在线观看| 91精品国产欧美日韩| 91香蕉国产在线观看软件| 蜜臀av性久久久久av蜜臀妖精| 国产精品国产自产拍在线| 精品理论电影在线| 色www精品视频在线观看| 国产一区二区视频在线播放| 亚洲午夜视频在线| 国产女人18毛片水真多成人如厕 | 91丨porny丨蝌蚪视频| 免费不卡在线视频| 一区二区欧美精品| 中文字幕不卡在线观看| 欧美精品一区二区三区久久久| 91欧美激情一区二区三区成人| 国产成人在线网站| 麻豆国产一区二区| 日韩高清在线不卡| 一区二区三区小说| 中文字幕精品一区| 国产欧美一区二区精品性色 | 日韩和欧美一区二区| 日韩久久一区二区| 国产免费观看久久| 国产拍揄自揄精品视频麻豆| 精品va天堂亚洲国产| 日韩精品一区在线| 欧美成人精品1314www| 欧美一区二区三区男人的天堂| 欧美视频精品在线| 日本丰满少妇一区二区三区| va亚洲va日韩不卡在线观看| 国产成人丝袜美腿| 国产一本一道久久香蕉| 韩国av一区二区三区四区| 老司机免费视频一区二区三区| 奇米精品一区二区三区四区| 青青草原综合久久大伊人精品优势| 亚洲一区二区三区爽爽爽爽爽 | 欧美另类高清zo欧美| 欧美日韩在线三区| 3d成人h动漫网站入口| 51精品国自产在线| 亚洲精品一区二区三区影院 | 久久午夜电影网| 666欧美在线视频| 日韩一二三区视频| 欧美一区二区三区影视| 8x福利精品第一导航| 欧美一区在线视频| 欧美成人综合网站| 久久久久久亚洲综合影院红桃 | 亚洲欧洲精品天堂一级| 国产精品成人免费| 亚洲影院理伦片| 午夜精品福利在线| 久久精品国产99| 处破女av一区二区| 欧美图区在线视频| 日韩精品在线一区二区| 中文字幕欧美区| 亚洲一区二区三区三| 日本不卡1234视频| 粉嫩嫩av羞羞动漫久久久| 91麻豆免费看| 日韩免费成人网| 中文字幕第一区第二区| 亚洲一区在线观看免费观看电影高清| 亚洲gay无套男同| 国产尤物一区二区在线| 99久免费精品视频在线观看| 欧美性一区二区| 精品91自产拍在线观看一区| 综合欧美亚洲日本| 日韩电影在线观看电影| 国产一区二区福利视频| 在线亚洲一区观看| 欧美电视剧在线观看完整版| 亚洲国产岛国毛片在线| 亚洲最大成人综合| 国产精品资源网站| 欧美人牲a欧美精品| 国产日本欧洲亚洲| 丝袜国产日韩另类美女| 成人午夜激情片| 91精品国产91热久久久做人人| 国产午夜三级一区二区三| 亚洲一二三四区| 国产精品66部| 欧美精品欧美精品系列| 国产精品免费网站在线观看| 日韩精品久久理论片| 国产91富婆露脸刺激对白| 日韩视频在线观看一区二区| 亚洲人妖av一区二区| 国内精品自线一区二区三区视频| 一本久久a久久免费精品不卡| 精品欧美一区二区三区精品久久| 亚洲一区二区三区自拍| zzijzzij亚洲日本少妇熟睡| 精品免费视频一区二区| 日韩国产欧美视频| 一本久道中文字幕精品亚洲嫩| 久久伊人蜜桃av一区二区| 日韩国产精品久久| 在线视频一区二区免费| 17c精品麻豆一区二区免费| 国产一区二区三区香蕉| 欧美一区二区三区日韩视频| 一区二区三区在线视频观看| a亚洲天堂av| 久久久电影一区二区三区| 全部av―极品视觉盛宴亚洲| 欧美日韩国产综合草草| 中文字幕综合网| 成人av资源在线观看| 国产视频一区在线观看| 国产麻豆精品theporn| 日韩精品一区二区三区在线| 日韩国产欧美在线观看| 欧美欧美欧美欧美首页| 视频一区中文字幕| 欧美日韩国产美女| 亚洲成人手机在线| 欧美日韩国产综合草草| 午夜精品视频一区| 欧美日本高清视频在线观看| 午夜精品福利久久久| 在线播放一区二区三区| 日韩精品一二三四| 欧美一区二区三区视频在线| 婷婷成人综合网| 91精品国产色综合久久ai换脸| 日日夜夜精品免费视频| 日韩精品一区二区三区三区免费| 奇米777欧美一区二区| 精品国产露脸精彩对白| 国产成人午夜电影网| 国产精品午夜在线| 99re热这里只有精品视频| 亚洲色图视频网| 欧美性欧美巨大黑白大战| 五月天亚洲精品| 91精品国产乱码| 国产精品一品二品| 最新日韩av在线| 欧美亚州韩日在线看免费版国语版| 亚洲一级二级三级| 欧美一区二区三区四区在线观看| 午夜电影网一区| 欧美电影免费观看高清完整版在线 | 成人免费高清视频| 亚洲黄色性网站| 91麻豆精品国产综合久久久久久| 免费国产亚洲视频| 久久久国产一区二区三区四区小说 | 奇米亚洲午夜久久精品| 精品国产自在久精品国产| 成人国产精品免费观看动漫| 亚洲一线二线三线久久久| 精品粉嫩超白一线天av|