📄 p_eyeview_d.c
字号:
#include "config.h"
unsigned char data pp = 0; // for seq point
bit start_set_fg = 0;
unsigned char data b01_data1,b01_data2,b01_data3,b01_data6,b01_data7,b01_data8,b01_data9,b01_datax,data_dir2;
unsigned char bdata b01_data4;
//sbit sense_fg1 = b01_data3^7;
//sbit swing_fg1 = b01_data3^4;
//sbit power_fg = data3^3;
sbit iris_open_fg2 = b01_data4^4;
sbit iris_close_fg2 = b01_data4^3;
sbit focus_near_fg2 = b01_data4^1;
sbit focus_far_fg2 = b01_data4^0;
unsigned char bdata b01_data5;
sbit zoom_wide_fg2 = b01_data5^6;
sbit zoom_tele_fg2 = b01_data5^5;
sbit down_fg2 = b01_data5^4;
sbit up_fg2 = b01_data5^3;
sbit left_fg2 = b01_data5^2;
sbit right_fg2 = b01_data5^1;
//sbit ext_fg2 = b01_data5^0;
bit ptn_stop_fg2;
void (code *ext1)(unsigned char rc);
void b01_word1(unsigned char rc);
void b01_word2(unsigned char rc);
void b01_word3(unsigned char rc);
void b01_word4(unsigned char rc);
void b01_word5(unsigned char rc);
void b01_word6(unsigned char rc);
void b01_word7(unsigned char rc);
void b01_word8(unsigned char rc);
void b01_word9(unsigned char rc);
void b01_word10(unsigned char rc);
void b01_word11(unsigned char rc);
void b01_word11x(unsigned char rc);
void b01_word12(unsigned char rc);
void b01_word12x(unsigned char rc);
void b01_word1s(unsigned char rc);
void b01_word1(unsigned char rc) using 1
{
if (rc == 0xa0) rr = b01_word2;
}
void b01_word2(unsigned char rc) using 1
{
if (rc != id )
rr = b01_word1;
else
{
rr = b01_word3;
b01_datax = rc;
}
}
void b01_word3(unsigned char rc) using 1
{
b01_datax += rc;
rr = b01_word4;
}
void b01_word4(unsigned char rc) using 1
{
b01_data4 = rc;
b01_datax += rc;
rr = b01_word5;
}
void b01_word5(unsigned char rc) using 1
{
b01_data5 = rc;
b01_datax += rc;
if ((b01_data5 & 0x01) == 0x01)
{
if (b01_data5 == 0x23)
ext1 = b01_word1s;
else if (b01_data4)
ext1 = b01_word12x;
else
ext1 = b01_word11x;
}
else
{
ext1 = b01_word11;
}
rr = b01_word6;
}
void b01_word6(unsigned char rc) using 1
{
b01_data6 = rc;
b01_datax += rc;
rr = b01_word7;
}
void b01_word7(unsigned char rc) using 1
{
b01_data7 = rc;
b01_datax += rc;
rr = b01_word8;
}
void b01_word8(unsigned char rc) using 1
{
b01_data8 = rc;
b01_datax += rc;
rr = b01_word9;
}
void b01_word9(unsigned char rc) using 1
{
b01_data9 = rc;
b01_datax += rc;
rr = b01_word10;
}
void b01_word10(unsigned char rc) using 1
{
if (rc != 0xaf)
rr = b01_word1;
else
{
b01_datax = ~b01_datax;
rr = ext1;//word11;
}
}
void b01_word11(unsigned char rc) using 1
{
rr = b01_word1;
if (rc == b01_datax)
{
if (iris_close_fg2)
iris_close_fg = 1;
if (iris_open_fg2)
iris_open_fg = 1;
if (focus_near_fg2)
{
focu_near_fg = 1;
focus_need_stop = 1;
}
if (focus_far_fg2)
{
focu_far_fg = 1;
focus_need_stop = 1;
}
if (zoom_wide_fg2)
{
zoom_wide_fg = 1;
zoom_need_stop = 1;
}
if (zoom_tele_fg2)
{
zoom_tele_fg = 1;
zoom_need_stop = 1;
}
if (down_fg2||up_fg2||left_fg2||right_fg2)
{
data_dir2 = b01_data5 & 0x1f;
switch(data_dir2)
{
case 0x02: //pan turn right
case 0x04: //pan turn left
case 0x10: //titl down
case 0x08: //titl up
case 0x0c: //pan turn left and titl up
case 0x14: //pan turn right and titl down
case 0x0a: //pan turn right and titl up
case 0x12: //pan turn left and titl down
cont_fg = 1;
ptn_stop_fg2 = 1;
run_swing_fg = 0;
run_swing2_fg = 0;
run_seq2_fg = 0;
seq[12] = data_dir2;
seq[13] = b01_data6;
seq[14] = b01_data7;
break;
}
}
if ((!zoom_wide_fg2) && (!zoom_tele_fg2) && (!down_fg2) && (!up_fg2) && (!left_fg2) && (!right_fg2))
{
if((zoom_need_stop) && (ptn_stop_fg2))
{
stop_all_fg = 1;
zoom_need_stop = 0;
ptn_stop_fg2 = 0;
}
}
if ((!focus_near_fg2) && (!focus_far_fg2))
{
if(_testbit_(focus_need_stop))
focu_stop_fg = 1;
}
if ((!zoom_wide_fg2) && (!zoom_tele_fg2))
{
if(_testbit_(zoom_need_stop))
zoom_stop_fg = 1;
}
if ((!down_fg2) && (!up_fg2) && (!left_fg2) && (!right_fg2))
{
if (_testbit_(ptn_stop_fg2))
{
cont_fg = 1;
seq[12] = 0;
}
}
SIGNAL = 0;
}
}
void b01_word11x(unsigned char rc) using 1
{
rr = b01_word1;
if (rc == b01_datax)
{
{
run_swing_fg = 0;
run_seq_fg = 0;
switch (b01_data5)
{
case 03:
if (data6 == 0x33)
{
set_pre_fg = 1;
seq[15] = F_SCAN_START;
seq[17] = F_SCAN_START; //start point
}
else
{
set_pre_fg = 1;
seq[15] = data6+1; //preset_no
}
break;
case 0x05:
del_pre_fg = 1;
seq[15] = data6 + 1;
break;
case 07:
call_pre_fg = 1;
seq[15] = b01_data6+1;
break;
case 0x11:
run_swing_fg = 1;
seq[17] = b01_data7+1; //first_no
seq[18] = b01_data8+1; // second no
break;
case 0x1b:
set_pre_fg = 1;
seq[15] = F_SCAN_START;
seq[17] = F_SCAN_START; //start point
break;
case 0x1f:
set_pre_fg = 1;
seq[15] = F_SCAN_END;
seq[18] = F_SCAN_END; //end point
run_swing_fg = 1;
break;
case 0x21:
run_seq3_fg = 1;
seq[48] = b01_data6+1; //seq_no
break;
case 0x23:
if (b01_data7 == 0x80)
{
seq[48] = b01_data6+1;
start_set_fg = 1;
pp = 0;
}
else if (b01_data7 == 0x40)
{
set_seq_fg = 1;
if (pp != 48) seq[pp] = 0;
pp = 0;
}
else
{
if (_testbit_(start_set_fg)) pp = 0;
seq[pp] = b01_data7+1;
pp++;
seq[pp] = b01_data8;
pp++;
seq[pp] = b01_data9;
pp++;
}
break;
/*
case 0x23:
switch (data7)
{
case 0x80:
seq[48] = data6+1;
pp = 0;
break;
case 0x40:
set_seq_fg = 1;
if (pp != 48) seq[pp] = 0;
pp = 0;
break;
default:
seq[pp] = data7+1;
pp++;
seq[pp] = data8;
pp++;
seq[pp] = data9;
pp++;
break;
}
break;
*/
case 0x43:
if (b01_data6)
disp_on_fg = 1;
else
disp_off_fg = 1;
break;
case 0x6f:
if (b01_data6)
power_on_fg = 1;
else
power_off_fg = 1;
break;
}
}
SIGNAL = 0;
}
}
void b01_word1s(unsigned char rc) using 1
{
rr = b01_word1;
if (rc == b01_datax)
{
switch (b01_data7)
{
case 0x80:
//seq[48] = data6+1;
pp = 0;
break;
case 0x40:
set_seq_fg = 1;
if (pp != 48) seq[pp] = 0;
pp = 0;
break;
default:
seq[pp] = b01_data7+1;
pp++;
seq[pp] = b01_data8;
pp++;
seq[pp] = b01_data9;
pp++;
break;
}
SIGNAL = 0;
}
}
void b01_word12x(unsigned char rc) using 1
{
rr = b01_word1;
if (rc == b01_datax)
{
//if (data4)
{
addon_fg = 1;
seq[10] = b01_data6;
seq[11] = b01_data7;
}
SIGNAL = 0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -