📄 alarm.h
字号:
// led speek
#define speekcontrol R_ALARMCONTROL_SPEEK1
#define greenledcontrol R_ALARMCONTROL_GREEN1
#define yellowledcontrol R_ALARMCONTROL_RED1
unsigned char speek;
unsigned char green;
unsigned char yellow;
unsigned char ledspeekuse_minute;
//unsigned char num_time_dospeek;
#define trunon 1
#define trunoff 0
unsigned char current_speekstatus;
// add dan xiang gong lv fan xiang gu ya cuo feng xu liang chao xiang
#define speekcontrol1 R_ALARMCONTROL_SPEEK2
#define greenledcontrol1 R_ALARMCONTROL_GREEN2
#define yellowledcontrol1 R_ALARMCONTROL_RED2
unsigned char speek1;
unsigned char green1;
unsigned char yellow1;
unsigned char num_time_dospeek;
void ledspeekset()
{
speek=0;
green=0;
yellow=0;
speek1=0;
green1=0;
yellow1=0;
yellowledclr;
greenledclr;
speekclr;
yellowleddir=1;
greenleddir=1;
speekdir=1;
yellowledclr;
greenledclr;
speekclr;
current_speekstatus=trunoff;
num_time_dospeek=0;
arm_cuofeng=0;
}
const unsigned char ledspeektable[]={0x1,0x2,0x4,0x8,0x10,0x20,0x40,00};
// value 0--nogood type 0--iic 1--rtc 2--v 3--kw 4--order 5--lost i 6-- lost v
// 0 1 in program rtc io_write,read
// 2 --- ledspeekmode
// speek set ----with a time( rom minute)
void do_ledspeek(value,type)
unsigned char value,type;
{unsigned char a;
if(type<7)
{
a=ledspeektable[type];
if((value==0)&&((a&RAM[speekcontrol])==a))
speek=(speek|a);
else
speek=(speek&(~a));
if((value==0)&&((a&RAM[greenledcontrol])==a))
green=(green|a);
else
green=(green&(~a));
if((value==0)&&((a&RAM[yellowledcontrol])==a))
yellow=(yellow|a);
else
yellow=(yellow&(~a));
}
}
void do_ledspeek1(value,type)
unsigned char value,type;
{unsigned char a;
if(type<7)
{
a=ledspeektable[type];
if((value==0)&&((a&RAM[speekcontrol1])==a))
speek1=(speek1|a);
else
speek1=(speek1&(~a));
if((value==0)&&((a&RAM[greenledcontrol1])==a))
green1=(green1|a);
else
green1=(green1&(~a));
if((value==0)&&((a&RAM[yellowledcontrol1])==a))
yellow1=(yellow1|a);
else
yellow1=(yellow1&(~a));
}
}
void ledspeekmode()
{
unsigned char a;
// qian ya
//if((current_v_a_status==v_exceed_down)
// ||(current_v_b_status==v_exceed_down)
// ||(current_v_c_status==v_exceed_down))
// do_ledspeek(0,2);
//else do_ledspeek(1,2);
// guo zai 3
if((over_kwh_status==guozai)
||(over_kwh_status_a==guozai)
||(over_kwh_status_b==guozai)
||(over_kwh_status_c==guozai))
do_ledspeek(0,3);
else
do_ledspeek(1,3);
// ni xiang xu order
//if((0x80&status_5460_1)==0) do_ledspeek(1,4);
if(current_order_quadrant==f_order)
do_ledspeek(1,4);
else
do_ledspeek(0,4);
// lost v
if(lost_v_quadrant!=lost_v_no)
do_ledspeek(0,6);
else
do_ledspeek(1,6);
// dan xiang gong lv fan xiang
if((current_order_a_kw==r_order)||(current_order_b_kw==r_order)||(current_order_c_kw==r_order))
do_ledspeek1(0,0);
else
do_ledspeek1(1,0);
// guo ya
//if((current_v_a_status==v_exceed_up)
//||(current_v_b_status==v_exceed_up)
//||(current_v_c_status==v_exceed_up))
// do_ledspeek1(0,1);
//else do_ledspeek1(1,1);
// cuo feng xu liang bao jing
if(progfunction_cuofeng==yes)
{
if(arm_cuofeng==1)
do_ledspeek1(0,2);
else
do_ledspeek1(1,2);
}
//if(RAM[R_BATTERY_V+1]<0x50)
//do_ledspeek1(0, 3);
//else
//do_ledspeek1(1,3);
if(((0x7f&speek)==0)&&((0xf&speek1)==0))
{
speekclr;
current_speekstatus=trunoff;
num_time_dospeek=0;
}
else
current_speekstatus=trunon;
if(current_speekstatus==trunoff)
speekclr;
if(num_time_dospeek>=timevalue_speek)
speekclr;
if(((0x7f&green)!=0)||((0xf&green1)!=0))
greenledset;
else
greenledclr;
if(((0x7f&yellow)!=0)||((0xf&yellow1)!=0))
yellowledset;
else
yellowledclr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -