📄 standard.c
字号:
tp->out[3] = buf; else return INVALID_ARGUMENT; tp->out[4] = 99; break; case ACTION_DEL_CRUISE_POINT: tp->out[2] = 0x82; if(buf <= 7) tp->out[3] = buf; else return INVALID_ARGUMENT; if((tp->user_input.param2[0]) && (buf2 <= 80)) tp->out[4] = buf2; else return INVALID_ARGUMENT; break; case ACTION_DEL_ALL_CRUISE_POINT: tp->out[2] = 0x82; if(buf <= 7) tp->out[3] = buf; else return INVALID_ARGUMENT; tp->out[4] = 81; break; } public_out(tp); return 0;}//4. scanint scan_func(struct TDVSSS_protocol* tp){ unsigned short buf = tp->user_input.param1[1]; unsigned short buf2 = tp->user_input.param2[1]; if((tp->user_input.cmd_id) != ACTION_START_RANDOM_SCAN && !(tp->user_input.param1[0])) return INVALID_ARGUMENT; tp->continuous = 0; switch (tp->user_input.cmd_id) { case ACTION_SET_LINE_SCAN_BORDER: tp->out[2] = 0x81; tp->out[4] = 0; if(IS_BETWEEN(buf,81,90)) tp->out[3] = buf; else return INVALID_ARGUMENT; break; case ACTION_SET_LINE_SCAN_SPEED: tp->out[2] = 0x81; if(IS_BETWEEN(buf,3,255)) tp->out[3] = buf; else return INVALID_ARGUMENT; if((tp->user_input.param2[0]) && IS_BETWEEN(buf2,1,5)) tp->out[4] = 90 + buf2; else return INVALID_ARGUMENT; break; case ACTION_START_AUTO_SCAN: tp->out[2] = 0x83; tp->out[3] = 0; if(IS_BETWEEN(buf,1,5)) tp->out[4] = 90 + buf; else return INVALID_ARGUMENT; break; case ACTION_START_RANDOM_SCAN: tp->out[2] = 0x83; tp->out[3] = 0; tp->out[4] = 96; break; case ACTION_SET_VARIETY_SCAN_SPEED: tp->out[2] = 0x81; tp->out[4] = 97; if(IS_BETWEEN(buf,3,255)) tp->out[3] = buf; else return INVALID_ARGUMENT; break; case ACTION_START_VARIETY_SCAN: tp->out[2] = 0x83; tp->out[4] = 97; if(buf <= 100) tp->out[3] = buf; else return INVALID_ARGUMENT; break; } public_out(tp); return 0;}//5. patternint pattern_func(struct TDVSSS_protocol* tp){ unsigned short buf; if(!(tp->user_input.param1[0])) return INVALID_ARGUMENT; tp->continuous = 0; switch (tp->user_input.cmd_id) { case ACTION_SET_PATTERN_START: tp->out[4] = 1; break; case ACTION_SET_PATTERN_END: tp->out[4] = 2; break; case ACTION_START_PATTERN: tp->out[4] = 0; break; } tp->out[2] = 0x85; buf = tp->user_input.param1[1]; if(buf <= 4) tp->out[3] = buf; else return INVALID_ARGUMENT; public_out(tp); return 0;}//6. whirlint whirl_func(struct TDVSSS_protocol* tp){ unsigned short buf = tp->user_input.param1[1]; if(!(tp->user_input.param1[0])) return INVALID_ARGUMENT; tp->continuous = 0; switch (tp->user_input.cmd_id) { case ACTION_SET_WHIRL_SPEED: tp->out[2] = 0x81; tp->out[4] = 98; if(IS_BETWEEN(buf,3,255)) tp->out[3] = buf; else return INVALID_ARGUMENT; break; case ACTION_START_WHIRL: tp->out[2] = 0x83; tp->out[4] = 98; if(buf <= 1) tp->out[3] = buf; else return INVALID_ARGUMENT; break; } public_out(tp); return 0;}//assist switchint assist_switch_func(struct TDVSSS_protocol* tp){ unsigned short buf = tp->user_input.param1[1]; unsigned short buf2 = tp->user_input.param2[1]; if(!(tp->user_input.param1[0]) || !(tp->user_input.param2[0])) return INVALID_ARGUMENT; tp->continuous = 0; switch (tp->user_input.cmd_id) { case ACTION_ASSIST_SWITCH_ON: tp->out[2] = 0x87; break; case ACTION_ASSIST_SWITCH_OFF: break; tp->out[2] = 0x88; } if((buf <= 1) && IS_BETWEEN(buf2,1,44)) { tp->out[3] = buf; tp->out[4] = buf2; } else return INVALID_ARGUMENT; public_out(tp); return 0;}int alarm_func(struct TDVSSS_protocol* tp){ unsigned short buf = tp->user_input.param1[1]; unsigned short buf2 = tp->user_input.param2[1]; tp->continuous = 0; switch (tp->user_input.cmd_id) { case ACTION_ALARM_SET: if(!(tp->user_input.param1[0]) || !(tp->user_input.param2[0])) return INVALID_ARGUMENT; tp->out[2] = 0x8c; if(IS_BETWEEN(buf,1,15)) { tp->out[3] &= 0x0f; tp->out[3] |= ((buf<<4) & 0xf0); } else return INVALID_ARGUMENT; if(buf2 <= 4095) { tp->out[4] = buf2 & 0xff; tp->out[3] &= 0xf0; tp->out[3] |= ((buf2 >> 8) & 0x0f); } else return INVALID_ARGUMENT; break; case ACTION_ALARM: if(!(tp->user_input.param1[0]) || buf > 4095) return INVALID_ARGUMENT; tp->out[2] = 0x8c; tp->out[4] = buf & 0xff; tp->out[3] = 0; tp->out[3] |= ((buf >> 8) & 0x0f); break; case ACTION_ALARM_RESET: tp->out[2] = 0x8d; tp->out[3] = 0; tp->out[4] = 2; break; } public_out(tp); return 0;}//status funcint status_func(struct TDVSSS_protocol* tp){ tp->response = 1; tp->continuous = 0; //other code ...... public_out(tp); return 0;}//privacy cover funcint privacy_cover_func(struct TDVSSS_protocol* tp){ unsigned short buf = tp->user_input.param1[1]; unsigned short buf2; if(!(tp->user_input.param1[0]) || buf > 31) return INVALID_ARGUMENT; tp->continuous = 0; tp->out[2] = 0x86; tp->out[4] = 0; tp->out[4] |= buf; switch (tp->user_input.cmd_id) { case ACTION_PRIVACY_SET_START: tp->out[3] = 1; break; case ACTION_PRIVACY_OK_ENABLE: tp->out[3] = 2; break; case ACTION_PRIVACY_DISABLE: tp->out[3] = 0; break; case ACTION_PRIVACY_SET_COBOUNDARY: buf2 = tp->user_input.param2[1]; if(!(tp->user_input.param2[0])) return INVALID_ARGUMENT; tp->out[3] = buf2; tp->out[4] |= 0x20; break; case ACTION_PRIVACY_SET_LOWERBOUND: buf2 = tp->user_input.param2[1]; if(!(tp->user_input.param2[0])) return INVALID_ARGUMENT; tp->out[3] = buf2; tp->out[4] |= 0x40; break; case ACTION_PRIVACY_SET_LEFTMARGIN: buf2 = tp->user_input.param2[1]; if(!(tp->user_input.param2[0])) return INVALID_ARGUMENT; tp->out[3] = buf2; tp->out[4] |= 0x60; break; case ACTION_PRIVACY_SET_RIGHTMARGIN: buf2 = tp->user_input.param2[1]; if(!(tp->user_input.param2[0])) return INVALID_ARGUMENT; tp->out[3] = buf2; tp->out[4] |= 0x80; break; case ACTION_PRIVACY_COARSEN: tp->out[3] = 0x01; tp->out[4] |= 0x90; break; case ACTION_PRIVACY_ATTENUAT: tp->out[3] = 0x02; tp->out[4] |= 0x90; break; case ACTION_PRIVACY_WIDEN: tp->out[3] = 0x04; tp->out[4] |= 0x90; break; case ACTION_PRIVACY_NARROW: tp->out[3] = 0x08; tp->out[4] |= 0x90; break; case ACTION_PRIVACY_MOVE_UP: tp->out[3] = 0x10; tp->out[4] |= 0x90; break; case ACTION_PRIVACY_MOVE_DOWN: tp->out[3] = 0x20; tp->out[4] |= 0x90; break; case ACTION_PRIVACY_MOVE_LEFT: tp->out[3] = 0x40; tp->out[4] |= 0x90; break; case ACTION_PRIVACY_MOVE_RIGHT: tp->out[3] = 0x80; tp->out[4] |= 0x90; break; } public_out(tp); return 0;}//camera menu funcint camera_menu_func(struct TDVSSS_protocol* tp){ tp->continuous = 0; tp->out[2] = 0x89; tp->out[4] = 0; switch (tp->user_input.cmd_id) { case ACTION_OPEN_MENU: tp->out[3] = 0x01; break; case ACTION_CLOSE_MENU: tp->out[3] = 0x00; break; case ACTION_FATHER_MENU: tp->out[3] = 0x02; break; case ACTION_CHILD_MENU: tp->out[3] = 0x03; break; case ACTION_UPWORD_MENU: tp->out[3] = 0x04; break; case ACTION_DOWNWORD_MENU: tp->out[3] = 0x05; break; case ACTION_LEFTWORD_MENU: tp->out[3] = 0x06; break; case ACTION_RIGHTWORD_MENU: tp->out[3] = 0x07; break; case ACTION_OK_MENU: tp->out[3] = 0x08; break; } public_out(tp); return 0;}//char set funcint char_func(struct TDVSSS_protocol* tp){ unsigned short buf = tp->user_input.param1[1]; unsigned short buf2 = tp->user_input.param2[1]; if(!(tp->user_input.param1[0])) return INVALID_ARGUMENT; tp->continuous = 0; switch (tp->user_input.cmd_id) { case ACTION_SET_CHAR_POSITION: if(!(tp->user_input.param2[0])) return INVALID_ARGUMENT; if(buf <=255 && buf2 <= 255) { tp->out[2] = 0x8a; tp->out[3] = buf; tp->out[4] = buf2; } else return INVALID_ARGUMENT; break; case ACTION_SET_CHAR: tp->out[2] = 0x8b; tp->out[4] = buf & 0xff; tp->out[3] = buf >> 8; break; } public_out(tp); return 0;}//other funcint other_func(struct TDVSSS_protocol* tp){ unsigned short buf; tp->continuous = 0; switch (tp->user_input.cmd_id) { case ACTION_RESET: tp->out[2] = 0x8d; tp->out[3] = 0; tp->out[4] = 1; break; case ACTION_ORIGINAL_SET: tp->out[2] = 0x8d; tp->out[3] = 0; tp->out[4] = 0; break; case ACTION_MIN_FOCUS_DIST: if(!(tp->user_input.param1[0])) return INVALID_ARGUMENT; tp->out[2] = 0x90; buf = tp->user_input.param1[1]; tp->out[4] = buf & 0xff; tp->out[3] = buf >> 8; break; } public_out(tp); return 0;}/*void response(int sig){ if((sig != SIGRESP) || (g_tp == NULL)) return; fprintf(stderr,"response...\n"); g_tp->response = 0; return;}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -