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

📄 cmdserver.c

📁 关于处理图像二值化的程序
💻 C
📖 第 1 页 / 共 3 页
字号:
							help = ~help;
							*ptr++ = help;
						}
						len = make_send_param(buffer);
					   cli_length = sizeof(cli_addr);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 2:	// testmuster
						cancam_dat[0] = 0xff00a55a;
						cancam_dat[1] = 0x55aa55aa;
						cancam_dat[2] = 0xaa55aa55;
						cancam_dat[3] = 0x5aa500ff;
						cancam_len = 4;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 5:	// init cancam
						if(init_flag)
						{
							init_flag = 0;
						}
						else
					 	  error_init = init_cancam((int)getpid(),NULL, 0x46454954);

						get_pixel_ptr(0,&ptr_adr);

						error = get_video_window(&x1,&y1,&x2,&y2);
						isize = (int)(x2-x1+1) * (int)(y2-y1+1);
						cancam_init = 1;
						cancam_dat[0] = error_init;
						cancam_len = 1;
						len = make_send_param(buffer);
					   cli_length = sizeof(cli_addr);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 6:	// close cancam
						cancam_init = 0;
						error = close_cancam();
						cancam_dat[0] = error;
						cancam_len = 1;
						len = make_send_param(buffer);
					   cli_length = sizeof(cli_addr);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");

						if(exit_app)
							keep_running = 0;
						break;

			case 7:	// enable/disable debug output
						debug_info = (unsigned char)cancam_dat[0];
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 8:	// set opto out
						break;

			case 9:	// get opto out
						break;

			case 10:	// get hardware version
						help1 = (unsigned char)atoi(hardware_info.version);
						cancam_dat[0] = help1;
						cancam_dat[1] = error;
						cancam_len = 2;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 11:	// calibrate sensor
    					error = calibrate_sensor();
    					error = 0;
						cancam_dat[0] = error;
						cancam_len = 1;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
							
						break;

			case 12:	// set calibrate param
						help1 = (unsigned char)cancam_dat[0];
					   error = set_calibrate_param(help1);
						cancam_dat[0] = error;
						cancam_len = 1;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 13:	// get calibrate param
					   error = get_calibrate_param(&help1);
						cancam_dat[0] = help1;
						cancam_dat[1] = error;
						cancam_len = 2;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 14: // set integration time
						itime = (unsigned short)cancam_dat[0];
						error = set_itime(itime);
						cancam_dat[0] = error;
						cancam_len = 1;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;
						
			case 15:	// get integration time
					   error = get_itime(&itime);
						cancam_dat[0] = itime;
						cancam_dat[1] = error;
						cancam_len = 2;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 16:	// set analog gain
						help1 = (unsigned char)cancam_dat[0];		//LowLight
						gain3 =  (cancam_dat[1]>>24) & 0xff;
						gain2 =  (cancam_dat[1]>>16) & 0xff;
						gain1 =  (cancam_dat[1]>>8) & 0xff;
						gain0 =  cancam_dat[1] & 0xff;

					   error = set_gain(gain0, gain1, gain2, gain3, help1);
						cancam_dat[0] = error;
						cancam_len = 1;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;
						
			case 17:	// get analog gain
					   error = get_gain(&gain0, &gain1, &gain2, &gain3, &help1);
						cancam_dat[0] = help1;
						cancam_dat[1] = ((gain3 << 24) & 0xff000000) + ((gain2 << 16) & 0x00ff0000) + ((gain1 << 8) & 0x0000ff00) + (gain0  & 0x000000ff);
						cancam_dat[2] = error;
						cancam_len = 3;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 18:	// get fpga value
						error = read_fpga((unsigned short)cancam_dat[0], &lhelp);
						cancam_dat[0] = lhelp;
						cancam_dat[1] = error;
						cancam_len = 2;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 19:	// set fpga value
						error = write_fpga((unsigned short)cancam_dat[0], cancam_dat[1]);
						cancam_dat[0] = error;
						cancam_len = 1;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 20: // set row delay time
						delay = (unsigned short)cancam_dat[0];
						error = set_row_delay(delay);
						cancam_dat[0] = error;
						cancam_len = 1;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 21:	// get row delay time
					   error = get_row_delay(&delay);
						cancam_dat[0] = delay;
						cancam_dat[1] = error;
						cancam_len = 2;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 22:	// get sensor type
					   error = get_cam_param(&help1, &help2);
						cancam_dat[0] = (unsigned long)help1;
						cancam_dat[1] = (unsigned long)help2;
						cancam_dat[2] = (unsigned long)error;
						cancam_len = 3;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;
						
			case 23: // set frame delay time
						delay = (unsigned short)cancam_dat[0];
						error = set_frame_delay(delay);
						cancam_dat[0] = error;
						cancam_len = 1;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 24:	// get frame delay time
					   error = get_frame_delay(&delay);
						cancam_dat[0] = delay;
						cancam_dat[1] = error;
						cancam_len = 2;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 25:	// config io ports
						help1 = (unsigned char)cancam_dat[0];
					   error = config_io_ports(help1);
						cancam_dat[0] = error;
						cancam_len = 1;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 26:	// set io port
						help1 = (unsigned char)cancam_dat[0];
						help2 = (unsigned char)cancam_dat[1];
					   error = set_io_port(help1,help2);
						cancam_dat[0] = error;
						cancam_len = 1;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 27:	// get io port
						help1 = (unsigned char)cancam_dat[0];
					   error = get_io_port(help1,&help2);
						cancam_dat[0] = help2;
						cancam_dat[1] = error;
						cancam_len = 2;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 28:	// set grab param
						shelp = (unsigned short)cancam_dat[0];
						lhelp = (unsigned long)cancam_dat[1];
					   error = set_grab_param(shelp, lhelp);
						cancam_dat[0] = error;
						cancam_len = 1;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;
						
			case 29:	// get grab param
						error = get_grab_param(&shelp, &lhelp);
					   cancam_dat[0] = shelp;
						cancam_dat[1] = lhelp;
						cancam_dat[2] = error;
						cancam_len = 3;
						len = make_send_param(buffer);
				      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 52: // set video window
						x1 =  cancam_dat[1] & 0xffff;
						y1 = (cancam_dat[1] >> 16) & 0xffff;
						x2 =  cancam_dat[2] & 0xffff;
						y2 = (cancam_dat[2] >> 16) & 0xffff;
						error = set_video_window(x1,y1,x2,y2);
						if(error == 0)
						{
							isize = (int)(x2-x1+1) * (int)(y2-y1+1);
						}
						cancam_dat[0] = error;
						cancam_len = 1;
						len = make_send_param(buffer);
						cli_length = sizeof(cli_addr);
					   if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case 53: // get video window
						error = get_video_window(&x1,&y1,&x2,&y2);
						cancam_dat[0] = ((y1 << 16) & 0xffff0000) + (x1 & 0xffff);
						cancam_dat[1] = ((y2 << 16) & 0xffff0000) + (x2 & 0xffff);
						cancam_dat[2] = error;
						cancam_len = 3;
						len = make_send_param(buffer);
						cli_length = sizeof(cli_addr);
					   if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
							printf("error sendto\n");
						break;

			case  54 :  // set video window (sensor)
							x1 =  cancam_dat[1] & 0xffff;
							y1 = (cancam_dat[1] >> 16) & 0xffff;
							x2 =  cancam_dat[2] & 0xffff;
							y2 = (cancam_dat[2] >> 16) & 0xffff;
							error = set_sensor_video_window(x1,y1,x2,y2);
							
							cancam_dat[0] = error;
							cancam_len = 1;
							len = make_send_param(buffer);
						   cli_length = sizeof(cli_addr);
					      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
								printf("error sendto\n");
							break;

			case  55 :  // get video window (sensor)
							error = get_sensor_video_window(&x1,&y1,&x2,&y2);
							cancam_dat[0] = ((y1 << 16) & 0xffff0000) + (x1 & 0xffff);
							cancam_dat[1] = ((y2 << 16) & 0xffff0000) + (x2 & 0xffff);
							cancam_dat[2] = error;
							cancam_len = 3;
							len = make_send_param(buffer);
						   cli_length = sizeof(cli_addr);
					      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
								printf("error sendto\n");
							break;

			case  56 :  // enable subsampling
							mode = cancam_dat[0] & 0x000000ff;
							havg = cancam_dat[1] & 0x000000ff;
							vavg = (cancam_dat[1] >> 8) & 0x000000ff;
							hsub = (cancam_dat[1] >> 16) & 0x000000ff;
							vsub = (cancam_dat[1] >> 24) & 0x000000ff;


							error = enable_subsampling(mode, vsub, hsub, vavg, havg);
							if (mode ==1 && ((vsub == 1 && hsub == 0)||(vsub == 0 && hsub ==1)))
								isize = isize/2;
							if (mode ==1 && vsub ==1 && hsub ==1)
								isize = isize/4;

							if (mode ==2 && ((vsub == 1 && hsub == 0)||(vsub == 0 && hsub ==1)))
								isize = isize/2;	
							if (mode ==2 && vsub ==1 && hsub ==1)
								isize = isize/4;
															
							cancam_dat[0] = error;
							cancam_len = 1;
							len = make_send_param(buffer);
						   cli_length = sizeof(cli_addr);
					      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
								printf("error sendto\n");
							break;
							
			case  57 :  // disable subsampling
							error = disable_subsampling();

							cancam_dat[0] = error;
							cancam_len = 1;
							len = make_send_param(buffer);
						   cli_length = sizeof(cli_addr);
					      if(sendto(server_sockfd, buffer, BUFLEN-1, 0,(struct sockaddr *) &cli_addr, cli_length) == -1)
								printf("error sendto\n");
							break;
							
			case  58 :  // initialize snapshot
							trigger = cancam_dat[0] & 0x000000ff;
							shutter = cancam_dat[1] & 0x000000ff;
							reset = (cancam_dat[1] >> 8) & 0x000000ff;

							error = initialize_snapshot(trigger, shutter, reset);

							cancam_dat[0] = error;
							cancam_len = 1;
							len = make_send_param(buffer);
						   cli_length = sizeof(cli_addr);

⌨️ 快捷键说明

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