📄 hualong_v10.h
字号:
{0xee02,EPLOCK_I_TYPE_IB,EPLOCK,5},//l18
{0xee03,EPLOCK_I_TYPE_MAX,EPLOCK,5},//l19
{0xee04,EPLOCK_V_TYPE,EPLOCK,5},//l20
{0xee05,EPLOCK_P_JINGDU,EPLOCK,3},//l21
{0xee06,EPLOCK_Q_JINGDU,EPLOCK,3},//l22
{0xee07,EPLOCK_METER_TYPE,EPLOCK,1},//l23
{0xee08,EPLOCK_FACTORY_TIME,EPLOCK,6},//l24
{0xee10,EPLOCK_TYPE_INSIDE,EPLOCK,1},//l25
{0xee11,EPLOCK_TYPE_OUTSIDE,EPLOCK,20},//l26
{0xee12,EPLOCK_FUNCTION_MA,EPLOCK,1},//l27
{0xee13,47,ROM,2},//l28
{0xee14,43,ROM,4},//l29
{0xee15,49,ROM,3},//l30
{0xee20,EPLOCK_XIANLUBAN_CODE_Z,EPLOCK,20},//l31
{0xee21,EPLOCK_XIANLUBAN_CODE_A,EPLOCK,20},//l32
{0xee22,EPLOCK_XIANLUBAN_CODE_B,EPLOCK,20},//l33
{0xee23,EPLOCK_XIANLUBAN_CODE_C,EPLOCK,20},//l34
{0xee24,EPLOCK_XIANLUBAN_CODE_D,EPLOCK,20},//l35
{0xee25,EPLOCK_XIANLUBAN_CODE_E,EPLOCK,20},//l36
{0xee26,EPLOCK_XIANLUBAN_CODE_F,EPLOCK,20},//l37
{0xee27,EPLOCK_XIANLUBAN_CODE_G,EPLOCK,20},//l38
{0xee28,EPLOCK_XIANLUBAN_CODE_H,EPLOCK,20},//l39
{0xee29,EPLOCK_XIANLUBAN_CODE_I,EPLOCK,20},//l40
{0xee30,EPLOCK_CUT_KWH_TIME,EPLOCK,2}, //l41
{0xee31,EP1_TIMER_8025_CLOCK,EP1,2},//l42
{0xee40,EPLOCK_KWHF_FEILV_ENABLE,EPLOCK,13},//l43
{0xee41,EPLOCK_KW_MUL,EPLOCK,0x8},//l44
{0xee71,EP1_PLUS_CONSTANT,EPLOCK,0x3},//l45
{0xee81,R_KWPLUS_MODE,RRAM,0x1}//l46
};
unsigned char result_from_class(classtype,point,len)
unsigned char classtype,*point,*len;
// classtype------------------command type
// point-------------data to *point
// len -------------->read num byte
{unsigned char a[200],l;
unsigned char addr,l1,codel;
unsigned char value,l2,l3;
value=1;
codel=0xf&(*(rbuffer+10)-0x33);
*len=0;
l1=0;
switch(classtype)
{
case class_lostv_currentnum:
// 3000-3002
for(l=0;l<6;l++)
{
a[l]=RAM[classaddr+l];//RAM[R_LOSTV_NUM+l];
}
a[6]=1;
if(codel<2)
{addr=3*codel;
l1=3;
}
else
if(codel==2)
{addr=6;
l1=1;
}
else
{addr=0;
l1=7;
}
break;
case class_lostv_currentblock:
for(l=0;l<50;l++)
a[l]=0;
data_addr.addri=classaddr;
read(RRAM,34);
for(l=0;l<34;l++)
a[l]=wr_data[l];
for(l=0;l<3;l++)
{
a[6+l]=wr_data[25+l];// ss mm hour
a[9+l]=wr_data[22+l];// dd mm yy
a[12+l]=wr_data[31+l];// ss mm hh
a[15+l]=wr_data[28+l]; // dd mm yy
}
for(l=0;l<16;l++)
a[18+l]=wr_data[6+l];
if(codel==0xf)
{addr=0;
l1=50;
}
else
{
addr=table_classcurrentlostv[codel].addr;
l1=table_classcurrentlostv[codel].len;
}
break;
case class_lostv_historynum:
data_addr.addri=current_twobiaofm_block_addr(classstor,classaddr);
read(FM,29);
a[0]=wr_data[0];
for(l=0;l<3;l++)
{
a[1+l]=wr_data[4+l];// ss mm hh
a[4+l]=wr_data[1+l];// dd mm yy
a[7+l]=wr_data[23+3+l];// ss mm hh
a[10+l]=wr_data[23+l];// dd mm yy
}
addr=0;
l1=6;
if(codel==0xf)
{//addr=0;
l1=13;
}
else
if(codel==0)
{//addr=0;
l1=1;
}
else
if(codel==1)
{addr=1;
// l1=6;
}
else
{addr=7;
// l1=6;
}
break;
case class_lostv_historyblock:// kwh
if(classaddr==0)// zui jing yi ci
{
if(classstor==TYPE_FM_LOSTV_RECORD)
data_addr.addri=R_LOSTV_CURRENT_KWH_F;
else
data_addr.addri=R_CUTV_CURRENT_KWH_F;
read(RRAM,16);
}
else// zui jing 2------5ci
{
data_addr.addri=current_twobiaofm_block_addr(classstor,classaddr)+7;
read(FM,16);
}
for(l=0;l<16;l++)
{
a[l]=wr_data[l];
a[l+16]=0;
}
if(codel==0xf)
{addr=0;
l1=32;
}
else
{addr=4*codel;
l1=4;
}
break;
case class_overkw_currentnum:
for(l=0;l<6;l++)
a[l]=RAM[classaddr+l];
if(codel==0xf)
{addr=0;
l1=6;
}
else
if(codel==0)
{addr=0;
l1=3;
}
else
{addr=3;
l1=3;
}
break;
case class_overkw_historyblock:
data_addr.addri=current_twobiaofm_block_addr(classstor,classaddr);
read(FM,32);
for(l=0;l<3;l++)
{
a[l]=wr_data[3+l];// ss mm hh
a[l+3]=wr_data[l];// dd mm yy
a[l+6]=wr_data[9+l];// ss mm hh
a[l+9]=wr_data[6+l];// dd mm yy
}
if(classaddr==0)// zui jing yi ci
{
if(classstor==TYPE_FM_KWOVER_RECORD)
data_addr.addri=R_OVERKW_CURRENT_KWH_F;
else
{
if(classstor==TYPE_FM_A_KWOVER_RECORD)
data_addr.addri=R_OVERKW_CURRENT_KWH_A_F;
else
{
if(classstor==TYPE_FM_B_KWOVER_RECORD)
data_addr.addri=R_OVERKW_CURRENT_KWH_B_F;
else
data_addr.addri=R_OVERKW_CURRENT_KWH_C_F;
}
}
for(l=0;l<16;l++)
{
a[12+l]=RAM[data_addr.addri+l];
a[12+16+l]=0;
}
for(l=0;l<3;l++)
a[44+l]=RAM[data_addr.addri+17+l];
}
else// zui jing 2-----5 ci
{
for(l=0;l<16;l++)
{
a[12+l]=wr_data[12+l];
a[12+16+l]=0;
}
for(l=0;l<3;l++)
a[44+l]=wr_data[28+l+1];
}
if(codel==0xf)
{addr=0;
l1=47;
}
else
{
addr=table_classoverkw_historyblock[codel].addr;
l1=table_classoverkw_historyblock[codel].len;
}
// add by zhanglong ---->start
if ((5<codel) && (codel<0x0a))
value=0;
// add by zhanglong ---->end
break;
case class_powerdownup_block://------------------->
for(l=0;l<3;l++)
{a[l]=RAM[R_POWERDOWN_NUM+l];
a[l+3]=RAM[R_BATTERY_WORKTIME+l];
}
for(l1=0;l1<10;l1++)
{
data_addr.addri=current_twobiaofm_block_addr(TYPE_FM_POWERDOWNUP_RECORD,l1);
read(FM,12);
for(l=0;l<3;l++)
{
l3=l+12*l1;
a[6+l3]=wr_data[3+l];// ss mm hh
a[9+l3]=wr_data[l];// dd mm yy
a[12+l3]=wr_data[9+l];// ss mm hh
a[15+l3]=wr_data[6+l];// dd mm yy
}
}
if(codel==0xf)
{addr=0;
l1=126;
}
else
{
addr=table_classpowerdownup_block[codel].addr;
l1=table_classpowerdownup_block[codel].len;
}
break;
case class_currentnumtime_historyblock:// num + time +history record
for(l=0;l<6;l++)
a[l]=RAM[classaddr+l];
if(classaddr==R_ALLLOSTV_NUM)
classstor=TYPE_FM_ALLLOSTV_RECORD;
else
if(classaddr==R_V_REVERSE_NUM)
classstor=TYPE_FM_SEQERR_RECORD;
else
if(classaddr==R_BIAOGAI_NUM)
classstor=TYPE_EP1_BIAOGAI_RECORD;
else
classstor=TYPE_EP1_DUANNIUGAI_RECORD;
for(l1=0;l1<5;l1++)
{
data_addr.addri=current_twobiaofm_block_addr(classstor,l1);
if(classstor<20)
read(EP1,12);
else
read(FM,12);
for(l=0;l<3;l++)
{
l3=l+12*l1;
a[6+l3]=wr_data[3+l];// ss mm hh
a[9+l3]=wr_data[l];// dd mm yy
a[12+l3]=wr_data[9+l];// ss mm hh
a[15+l3]=wr_data[6+l];// dd mm yy
}
}
if(codel==0xf)
{addr=0;
l1=66;
}
else
{
addr=table_classpowerdownup_block[codel].addr;
l1=table_classpowerdownup_block[codel].len;
}
break;
case class_kwreverse_historyblock:
data_addr.addri=current_twobiaofm_block_addr(classstor,classaddr);
read(FM,16);
for(l=0;l<3;l++)
{
a[l]=wr_data[3+l];// ss mm hh
a[3+l]=wr_data[l];// dd mm yy
a[6+l]=wr_data[9+l];// ss mm hh
a[9+l]=wr_data[6+l];// dd mm yy
}
if(classaddr==0)
{
if(classstor==TYPE_FM_KWREVERSE_RECORD)
data_addr.addri=R_KW_REVERSE_KWH;
else
if(classstor==TYPE_FM_AKWREVERSE_RECORD)
data_addr.addri=R_A_KW_REVERSE_KWH;
else
if(classstor==TYPE_FM_BKWREVERSE_RECORD)
data_addr.addri=R_B_KW_REVERSE_KWH;
else
data_addr.addri=R_C_KW_REVERSE_KWH;
for(l=0;l<4;l++)
a[12+l]=RAM[data_addr.addri+l];
}
else
{
for(l=0;l<4;l++)
a[12+l]=wr_data[12+l];
}
if(codel==0xf)
{addr=0;
l1=16;
}
else
if(codel==0)
{addr=0;
l1=6;
}
else
if(codel==1)
{addr=6;
l1=6;
}
else
{addr=12;
l1=4;
}
break;
case class_abckwreverse_num:
for(l=0;l<3;l++)
{a[l]=RAM[classaddr+l];
a[3+l]=0;
}
if(codel==0xf)
{addr=0;
l1=6;
}
else
if(codel==0)
{addr=0;
l1=3;
}
else
{addr=3;
l1=3;
}
break;
case class_biancheng_history:
data_addr.addri=current_twobiaofm_block_addr(TYPE_FM_PROGRAM_RECORD,classaddr);
read(FM,12);
for(l=0;l<3;l++)
{
a[l]=wr_data[3+l];// ss mm hh
a[l+3]=wr_data[l];// dd mm yy
}
for(l=0;l<6;l++)
a[6+l]=wr_data[6+l];
if(codel==0xf)
{addr=0;
l1=12;
}
else
if(codel==0)
{addr=0;
l1=6;
}
else
if(codel==1)
{addr=6;
l1=4;
}
else
{addr=10;
l1=2;
}
break;
case class_kwhkvarh_historyprog:
data_addr.addri=current_twobiaofm_block_addr(classstor,classaddr);
read(EP1,90);
for(l=0;l<3;l++)
{
a[l]=wr_data[3+l];// ss mm hh
a[l+3]=wr_data[l];// dd mm yy
}
for(l=0;l<84;l++)
a[6+l]=wr_data[6+l];
if(codel==0xf)
{addr=0;
l1=90;
}
else
{
addr=table_classkwhkvarh_historyprog[codel].addr;
l1=table_classkwhkvarh_historyprog[codel].len;
}
break;
case class_priceprog_recorde:
data_addr.addri=current_twobiaofm_block_addr(classstor,classaddr);
read(EP1,83);
for(l=0;l<3;l++)
{
a[l]=wr_dat
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -