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

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

?? iocontrol.cc

?? CNC 的開放碼,EMC2 V2.2.8版
?? CC
?? 第 1 頁 / 共 3 頁
字號:
*		executed if debug level is set to RTAPI_MSG_DBG.** Return Value: Zero or -1 if ini file not found or failure to connect*		to NML buffers.** Side Effects: None.** Called By:*********************************************************************/int main(int argc, char *argv[]){    int t, tool_status;    NMLTYPE type;    for (t = 1; t < argc; t++) {	if (!strcmp(argv[t], "-ini")) {	    if (t == argc - 1) {		return -1;	    } else {		strcpy(EMC_INIFILE, argv[t + 1]);		t++;	    }	    continue;	}	/* do other args similarly here */    }    /* Register the routine that catches the SIGINT signal */    signal(SIGINT, quit);    /* catch SIGTERM too - the run script uses it to shut things down */    signal(SIGTERM, quit);    if (iocontrol_hal_init() != 0) {	rtapi_print_msg(RTAPI_MSG_ERR, "can't initialize the HAL\n");	return -1;    }    atexit(do_hal_exit);    if (0 != iniLoad(EMC_INIFILE)) {	rtapi_print_msg(RTAPI_MSG_ERR, "can't open ini file %s\n",			EMC_INIFILE);	return -1;    }    if (0 != emcIoNmlGet()) {	rtapi_print_msg(RTAPI_MSG_ERR,			"can't connect to NML buffers in %s\n",			EMC_NMLFILE);	return -1;    }    // used only for getting TOOL_TABLE_FILE out of the ini file    if (0 != iniTool(EMC_INIFILE)) {	rcs_print_error("iniTool failed.\n");	return -1;    }    if (0 != loadToolTable(TOOL_TABLE_FILE, emcioStatus.tool.toolTable)) {	rcs_print_error("can't load tool table.\n");    }    done = 0;    /* set status values to 'normal' */    emcioStatus.aux.estop = 1; //estop=1 means to emc that ESTOP condition is met    emcioStatus.tool.toolPrepped = -1;    emcioStatus.tool.toolInSpindle = 0;    emcioStatus.coolant.mist = 0;    emcioStatus.coolant.flood = 0;    emcioStatus.lube.on = 0;    emcioStatus.lube.level = 1;    while (!done) {	// check for inputs from HAL (updates emcioStatus)	// returns 1 if any of the HAL pins changed from the last time we checked	/* if an external ESTOP is activated (or another hal-pin has changed)	   a NML message has to be pushed to EMC.	   the way it was done status was only checked at the end of a command */	if (read_hal_inputs() > 0) {	    emcioStatus.command_type = EMC_IO_STAT_TYPE;	    emcioStatus.echo_serial_number =		emcioCommand->serial_number+1; //need for different serial number, because we are pushing a new message	    emcioStatus.heartbeat++;	    emcioStatusBuffer->write(&emcioStatus);	}	;	if ( (tool_status = read_tool_inputs() ) > 0) { // in case of tool prep (or change) update, we only need to change the state (from RCS_EXEC	    emcioStatus.command_type = EMC_IO_STAT_TYPE; // to RCS_DONE, no need for different serial_number	    emcioStatus.echo_serial_number =		emcioCommand->serial_number;	    emcioStatus.heartbeat++;	    emcioStatusBuffer->write(&emcioStatus);	}	/* read NML, run commands */	if (-1 == emcioCommandBuffer->read()) {	    /* bad command, wait until next cycle */	    esleep(EMC_IO_CYCLE_TIME);	    /* and repeat */	    continue;	}	if (0 == emcioCommand ||	// bad command pointer	    0 == emcioCommand->type ||	// bad command type	    emcioCommand->serial_number == emcioStatus.echo_serial_number) {	// command already finished	    /* wait until next cycle */	    esleep(EMC_IO_CYCLE_TIME);	    /* and repeat */	    continue;	}	type = emcioCommand->type;	emcioStatus.status = RCS_DONE;	switch (type) {	case 0:	    break;	case EMC_IO_INIT_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_IO_INIT\n");	    hal_init_pins();	    break;	case EMC_TOOL_INIT_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_TOOL_INIT\n");	    loadToolTable(TOOL_TABLE_FILE, emcioStatus.tool.toolTable);	    break;	case EMC_TOOL_HALT_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_TOOL_HALT\n");	    break;	case EMC_TOOL_ABORT_TYPE:	    // this gets sent on any Task Abort, so it might be safer to stop	    // the spindle  and coolant	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_TOOL_ABORT\n");	    emcioStatus.coolant.mist = 0;	    emcioStatus.coolant.flood = 0;	    *(iocontrol_data->coolant_mist)=0;		/* coolant mist output pin */    	    *(iocontrol_data->coolant_flood)=0;		/* coolant flood output pin */	    break;	case EMC_TOOL_PREPARE_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_TOOL_PREPARE\n");	    /* set tool number first */	    *(iocontrol_data->tool_prep_number) = ((EMC_TOOL_PREPARE *) emcioCommand)->tool;	    /* then set the prepare pin to tell external logic to get started */	    *(iocontrol_data->tool_prepare) = 1;	    // the feedback logic is done inside read_hal_inputs()	    // we only need to set RCS_EXEC if RCS_DONE is not already set by the above logic	    if (tool_status != 10) //set above to 10 in case PREP already finished (HAL loopback machine)		emcioStatus.status = RCS_EXEC;	    break;	case EMC_TOOL_LOAD_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_TOOL_LOAD loaded=%d prepped=%d\n", emcioStatus.tool.toolInSpindle, emcioStatus.tool.toolPrepped);	    if ( emcioStatus.tool.toolInSpindle != emcioStatus.tool.toolPrepped		    && emcioStatus.tool.toolPrepped != -1) {		//notify HW for toolchange		*(iocontrol_data->tool_change) = 1;		// the feedback logic is done inside read_hal_inputs() we only		// need to set RCS_EXEC if RCS_DONE is not already set by the		// above logic		if (tool_status != 11)		    // set above to 11 in case LOAD already finished (HAL		    // loopback machine)		    emcioStatus.status = RCS_EXEC;	    }	    break;	case EMC_TOOL_UNLOAD_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_TOOL_UNLOAD\n");	    emcioStatus.tool.toolInSpindle = 0;	    break;	case EMC_TOOL_LOAD_TOOL_TABLE_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_TOOL_LOAD_TOOL_TABLE\n");	    if (0 != loadToolTable(((EMC_TOOL_LOAD_TOOL_TABLE *) emcioCommand)->			      file, emcioStatus.tool.toolTable))		emcioStatus.status = RCS_ERROR;	    break;	case EMC_TOOL_SET_OFFSET_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG,			    "EMC_TOOL_SET_OFFSET length=%lf diameter=%lf\n",			    ((EMC_TOOL_SET_OFFSET *) emcioCommand)->length,			    ((EMC_TOOL_SET_OFFSET *) emcioCommand)->diameter);	    emcioStatus.tool.		toolTable[((EMC_TOOL_SET_OFFSET *) emcioCommand)->tool].		zoffset = ((EMC_TOOL_SET_OFFSET *) emcioCommand)->length;	    emcioStatus.tool.		toolTable[((EMC_TOOL_SET_OFFSET *) emcioCommand)->tool].		diameter = ((EMC_TOOL_SET_OFFSET *) emcioCommand)->diameter;	    if (0 != saveToolTable(TOOL_TABLE_FILE, emcioStatus.tool.toolTable))		emcioStatus.status = RCS_ERROR;	    break;	case EMC_COOLANT_INIT_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_COOLANT_INIT\n");	    emcioStatus.coolant.mist = 0;	    emcioStatus.coolant.flood = 0;	    *(iocontrol_data->coolant_mist) = 0;	    *(iocontrol_data->coolant_flood) = 0;	    break;	case EMC_COOLANT_HALT_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_COOLANT_HALT\n");	    emcioStatus.coolant.mist = 0;	    emcioStatus.coolant.flood = 0;	    *(iocontrol_data->coolant_mist) = 0;	    *(iocontrol_data->coolant_flood) = 0;	    break;	case EMC_COOLANT_ABORT_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_COOLANT_ABORT\n");	    emcioStatus.coolant.mist = 0;	    emcioStatus.coolant.flood = 0;	    *(iocontrol_data->coolant_mist) = 0;	    *(iocontrol_data->coolant_flood) = 0;	    break;	case EMC_COOLANT_MIST_ON_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_COOLANT_MIST_ON\n");	    emcioStatus.coolant.mist = 1;	    *(iocontrol_data->coolant_mist) = 1;	    break;	case EMC_COOLANT_MIST_OFF_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_COOLANT_MIST_OFF\n");	    emcioStatus.coolant.mist = 0;	    *(iocontrol_data->coolant_mist) = 0;	    break;	case EMC_COOLANT_FLOOD_ON_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_COOLANT_FLOOD_ON\n");	    emcioStatus.coolant.flood = 1;	    *(iocontrol_data->coolant_flood) = 1;	    break;	case EMC_COOLANT_FLOOD_OFF_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_COOLANT_FLOOD_OFF\n");	    emcioStatus.coolant.flood = 0;	    *(iocontrol_data->coolant_flood) = 0;	    break;	case EMC_AUX_INIT_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_AUX_INIT\n");	    hal_init_pins(); //init default (safe) pin values	    emcioStatus.aux.estop = 1;	// this should get modified by the loopback	    *(iocontrol_data->user_enable_out) = 0; //don't enable on AUX_INIT	    break;	case EMC_AUX_HALT_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_AUX_HALT\n");	    emcioStatus.aux.estop = 1;  // this should get modified by the loopback	    *(iocontrol_data->user_enable_out) = 0; //disable on AUX_HALT	    break;	case EMC_AUX_ABORT_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_AUX_ABORT\n");	    emcioStatus.aux.estop = 1;  // this should get modified by the loopback	    *(iocontrol_data->user_enable_out) = 0; //disable on AUX_ABORT	    break;	case EMC_AUX_ESTOP_ON_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_AUX_ESTOP_ON\n");	    /* assert an ESTOP to the outside world (thru HAL) */	    *(iocontrol_data->user_enable_out) = 0; //disable on ESTOP_ON	    hal_init_pins(); //resets all HAL pins to safe value	    break;	case EMC_AUX_ESTOP_OFF_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_AUX_ESTOP_OFF\n");	    /* remove ESTOP */	    *(iocontrol_data->user_enable_out) = 1; //we're good to enable on ESTOP_OFF	    /* generate a rising edge to reset optional HAL latch */	    *(iocontrol_data->user_request_enable) = 1;	    break;	    	case EMC_AUX_ESTOP_RESET_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_AUX_ESTOP_RESET\n");	    // doesn't do anything right now, this will need to come from GUI	    // but that means task needs to be rewritten/rethinked	    break;	    	case EMC_LUBE_INIT_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_LUBE_INIT\n");	    emcioStatus.lube.on = 0;	    //get the lube-level from hal	    emcioStatus.lube.level = *(iocontrol_data->lube_level);	    *(iocontrol_data->lube) = 0;	    break;	case EMC_LUBE_HALT_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_LUBE_HALT\n");	    emcioStatus.lube.on = 0;	    //get the lube-level from hal	    emcioStatus.lube.level = *(iocontrol_data->lube_level);	    *(iocontrol_data->lube) = 0;	    break;	case EMC_LUBE_ABORT_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_LUBE_ABORT\n");	    emcioStatus.lube.on = 0;	    emcioStatus.lube.level = 1;	    //get the lube-level from hal	    emcioStatus.lube.level = *(iocontrol_data->lube_level);	    *(iocontrol_data->lube) = 0;	    break;	case EMC_LUBE_ON_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_LUBE_ON\n");	    emcioStatus.lube.on = 1;	    *(iocontrol_data->lube) = 1;	    break;	case EMC_LUBE_OFF_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_LUBE_OFF\n");	    emcioStatus.lube.on = 0;	    *(iocontrol_data->lube) = 0;	    break;	case EMC_SET_DEBUG_TYPE:	    rtapi_print_msg(RTAPI_MSG_DBG, "EMC_SET_DEBUG\n");	    EMC_DEBUG = ((EMC_SET_DEBUG *) emcioCommand)->debug;	    break;	default:	    rtapi_print("IO: unknown command %s\n", emcSymbolLookup(type));	    break;	}			/* switch (type) */	// ack for the received command	emcioStatus.command_type = type;	emcioStatus.echo_serial_number = emcioCommand->serial_number;	//set above, to allow some commands to fail this	//emcioStatus.status = RCS_DONE;	emcioStatus.heartbeat++;	emcioStatusBuffer->write(&emcioStatus);	esleep(EMC_IO_CYCLE_TIME);	/* clear reset line to allow for a later rising edge */	*(iocontrol_data->user_request_enable) = 0;	    }	// end of "while (! done)" loop    if (emcErrorBuffer != 0) {	delete emcErrorBuffer;	emcErrorBuffer = 0;    }    if (emcioStatusBuffer != 0) {	delete emcioStatusBuffer;	emcioStatusBuffer = 0;    }    if (emcioCommandBuffer != 0) {	delete emcioCommandBuffer;	emcioCommandBuffer = 0;    }    return 0;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产黄色91视频| 亚洲高清免费观看高清完整版在线观看| 免费在线看成人av| 精品国产91乱码一区二区三区| 免费观看久久久4p| 精品国产乱码久久久久久影片| 国内精品久久久久影院薰衣草| 久久综合资源网| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 日韩美女视频一区二区| 色综合久久中文字幕综合网| 一区二区三区免费观看| 欧美一级xxx| 国产精品系列在线播放| 亚洲精品中文在线观看| 欧美一区二区私人影院日本| 国产精品一品二品| 一区二区三区在线视频观看58| 在线综合+亚洲+欧美中文字幕| 国产在线精品一区二区| 1024成人网色www| 3d动漫精品啪啪一区二区竹菊| 国产精品伊人色| 一区二区三区在线免费| 日韩欧美aaaaaa| 不卡在线观看av| 日本va欧美va欧美va精品| 欧美经典一区二区三区| 欧洲色大大久久| 国产精品一二三| 亚洲午夜视频在线| 国产三级三级三级精品8ⅰ区| 欧美性videosxxxxx| 国产黄色91视频| 亚洲成人三级小说| 国产精品素人视频| 日韩一区二区三区视频在线观看| 成人国产视频在线观看| 免费看欧美女人艹b| 亚洲免费观看视频| 国产香蕉久久精品综合网| 欧美日韩免费视频| 9i在线看片成人免费| 美腿丝袜在线亚洲一区| 亚洲一区免费在线观看| 中文字幕第一区二区| 欧美成人精品高清在线播放| 欧洲另类一二三四区| 成人美女视频在线观看| 狠狠色综合播放一区二区| 天天色图综合网| 亚洲精品成a人| 中文字幕一区不卡| 久久精品人人做人人综合 | 久久久一区二区| 91精品国产乱码久久蜜臀| 99精品1区2区| 成人午夜精品在线| 国产精品一二三四区| 麻豆91在线观看| 日本不卡一区二区三区| 婷婷一区二区三区| 亚洲国产综合色| 亚洲一二三四在线观看| 成人免费在线视频观看| 欧美极品aⅴ影院| 国产欧美日产一区| 久久蜜桃av一区精品变态类天堂 | 欧美中文字幕一区| 一本一道综合狠狠老| 99久久婷婷国产精品综合| 国产成人av电影| 国产91丝袜在线观看| 国产成人aaa| 国产白丝精品91爽爽久久| 国产高清不卡二三区| 国产精品夜夜爽| 成人免费视频国产在线观看| 国产91富婆露脸刺激对白| 国产成人精品aa毛片| 成人黄色软件下载| 91视频精品在这里| 色综合久久久久网| 欧美日韩一区二区三区在线| 4438x成人网最大色成网站| 91精品国模一区二区三区| 日韩午夜激情视频| 精品1区2区在线观看| 久久久激情视频| 日韩一区中文字幕| 亚洲福利一二三区| 久久精品国产免费| 成人性生交大片免费看视频在线| 99久久综合99久久综合网站| 91捆绑美女网站| 欧美日韩一区二区三区在线 | 午夜精品久久久久影视| 青青草原综合久久大伊人精品| 精品无人码麻豆乱码1区2区| 国产精品一二三| 欧洲在线/亚洲| 欧美videos中文字幕| 中文字幕精品一区二区三区精品| 樱桃视频在线观看一区| 日本va欧美va精品发布| 成人深夜视频在线观看| 欧美色成人综合| 久久久蜜臀国产一区二区| 亚洲欧美成人一区二区三区| 日日摸夜夜添夜夜添国产精品| 国产米奇在线777精品观看| 99综合影院在线| 日韩一区二区免费在线观看| 国产精品久久久久7777按摩| 亚洲成人免费av| 国产精品18久久久久| 欧美在线播放高清精品| 欧美电影免费观看高清完整版在| 欧美国产一区二区在线观看| 一区二区三区电影在线播| 国产乱一区二区| 欧美日本在线播放| 国产精品国产精品国产专区不片 | 国产在线麻豆精品观看| 91丨porny丨首页| 欧美成人欧美edvon| 一区二区国产盗摄色噜噜| 国产在线精品免费av| 欧美日韩一区二区在线观看| 国产欧美视频在线观看| 天天av天天翘天天综合网| 不卡在线视频中文字幕| 精品区一区二区| 一区二区高清免费观看影视大全| 国产成人精品免费| 欧美一区二区在线不卡| 一区二区三区在线看| 成人av电影在线观看| 精品99999| 久久国产婷婷国产香蕉| 欧美性猛片aaaaaaa做受| 国产精品青草综合久久久久99| 狠狠v欧美v日韩v亚洲ⅴ| 91麻豆精品国产自产在线| 日韩一区有码在线| 国产1区2区3区精品美女| 欧美成人a视频| 日韩一区欧美二区| 欧美手机在线视频| 亚洲激情综合网| 91亚洲精品一区二区乱码| 日本一区二区三区免费乱视频| 麻豆视频一区二区| 91精品在线一区二区| 亚洲图片欧美一区| 欧美色爱综合网| 亚洲第一综合色| 欧美日韩精品一区二区三区四区 | 亚洲国产精品自拍| 日本韩国一区二区| 亚洲天堂免费看| 91在线观看地址| 亚洲另类在线一区| 91久久精品国产91性色tv| 亚洲素人一区二区| 91亚洲大成网污www| 亚洲私人黄色宅男| 97se亚洲国产综合在线| 亚洲美女少妇撒尿| 色嗨嗨av一区二区三区| 一区二区三区欧美亚洲| 欧美在线啊v一区| 五月激情综合婷婷| 日韩一区二区在线观看视频 | 91精品国产黑色紧身裤美女| 奇米精品一区二区三区在线观看 | 欧美一区二区三区喷汁尤物| 视频一区二区三区入口| 911精品国产一区二区在线| 日日嗨av一区二区三区四区| 欧美一区二区精美| 国内精品国产三级国产a久久| 国产欧美日本一区视频| 91在线一区二区| 亚洲国产另类精品专区| 日韩一区二区三区在线视频| 激情亚洲综合在线| 国产精品欧美一区喷水| 91高清视频免费看| 日韩高清国产一区在线| 国产午夜一区二区三区| 色综合久久久久综合体桃花网| 亚洲高清免费观看高清完整版在线观看| 欧美日韩国产一级二级| 激情欧美一区二区| 亚洲视频精选在线| 欧美一区二区视频在线观看| 国产麻豆欧美日韩一区| 亚洲激情图片一区| 欧美成人三级在线|