📄 cmdserver.c
字号:
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 + -