📄 subconfig.h
字号:
#define DS_Chr_E 0xF8 // E:
#define DS_Chr_F 0xE8 // F:
#define DS_Chr_H 0XE6 // H:
#define DS_Chr_L 0XB0 // L:
#define DS_Chr_J 0x40 // -:
#define DS_Chr_o 0x72 // o:
#define DS_Chr_r 0x60 // r:
#define DS_Chr_T2 0x80 // DisBuff[11].byte.b7 //triff 2,feng
#define DS_Chr_T4 0x40 // DisBuff[11].byte.b6 //triff 4,gu
#define DS_Chr_Pkey 0x20 // DisBuff[11].byte.b5 //program status
#define DS_Chr_Time 0x10 // DisBuff[11].byte.b4 //time
#define DS_Chr_Last1 0x08 // DisBuff[11].byte.b3 //shang
#define DS_Chr_T1 0x04 // DisBuff[11].byte.b2 //triff 1,jian
#define DS_Chr_T3 0x02 // DisBuff[11].byte.b1 //triff 3,ping
#define DS_Chr_Erev 0x01 // DisBuff[11].byte.b0 //energy revase
#define DS_Chr_RMB 0x80 // DisBuff[10].byte.b7 //time
#define DS_Chr_PW 0x40 // DisBuff[10].byte.b6 //time
#define DS_Chr_BAT 0x20 // DisBuff[10].byte.b5 //time
#define DS_Chr_P1 0x10 // DisBuff[10].byte.b4 //time
#define DS_Chr_ALRM 0x02 // DisBuff[10].byte.b1 //time
#define DS_Chr_COMM 0x01 // DisBuff[10].byte.b0 //time
#define DS_Chr_ENG 0x80 // DisBuff[9].byte.b7 //triff 2,feng
#define DS_Chr_duan 0x40 // DisBuff[9].byte.b6 //triff 4,gu
#define DS_Chr_h 0x20 // DisBuff[9].byte.b5 //program status
#define DS_Chr_Leave 0x10 // DisBuff[9].byte.b4 //time
#define DS_Chr_imp 0x08 // DisBuff[9].byte.b3 //shang
#define DS_Chr_S4 0x04 // DisBuff[9].byte.b2 //triff 1,jian
#define DS_Chr_kW 0x02 // DisBuff[9].byte.b1 //triff 3,ping
#define DS_Chr_P2 0x01 // DisBuff[9].byte.b0 //energy revase
#define DS_Chr_P3 0x01 //DisBuff[8].byte.b0 //energy revase
#define DS_Chr_qian 0x01 // DisBuff[7].byte.b0 //energy revase
#define DS_Chr_CLO1 0x01 // DisBuff[6].byte.b0 //energy revase
#define DS_Chr_BUY 0x01 // DisBuff[5].byte.b0 //energy revase
#define DS_Chr_CLO2 0x01 // DisBuff[4].byte.b0 //energy revase
#define DS_Chr_DANJIA 0x01 // DisBuff[3].byte.b0 //energy revase
#define DS_Chr_ZONG 0x01 // DisBuff[2].byte.b0 //energy revase
#define DS_Chr_YUE 0x01 // DisBuff[1].byte.b0 //energy revase
#define DS_Chr_10BC 0x01 // DisBuff[0].byte.b0 //energy revase
// Display digit
#define DS_Unit 12 // max buffer num is 12
#define DS_BDig 11 // max serial number is 11
/* LcdDis.staus define */
// [B7:B4] include 16 status
#define DIS_STU_CYC 0x00 // cycle dispaly statue
#define DIS_STU_IC0 0x01 // reading card status
#define DIS_STU_IC1 0x02 // have card status
#define DIS_STU_RST 0x03 // sys reset status
//[B3:B0] 16 max assistant status
// 1 define when cycle status
#define DISSUBCYC_LEN 0x00 //leave energy display
#define DISSUBCYC_TEN 0x01 // total energy display
#define DISSUBCYC_CMD 0x02 // averge power display
#define DISSUBCYC_SYS 0x03 // sys error display
// 2 define when reading card
#define DISSUBIC0_COM 0x00 // reading card display
#define DISSUBIC0_OK 0x01 //read card ok display
#define DISSUBIC0_FAIL 0x01 //read card fail display
#define DISSUBIC0_BUY 0x02 //buy energy card display
// 3 define when have card
#define DISSUBIC1_IDH 0x00 // high meter id display
#define DISSUBIC1_IDL 0x01 //low meter id display
#define DISSUBIC1_BAM1 0x02 // alarm level1 energy display
#define DISSUBIC1_BAM2 0x03 // alarm level1 energy display
#define DISSUBIC1_OMD 0x04 // max demand limit display
/* define which even can trigger display item change */
#define DISTG_RESERT 0x01 // sys reset trigger
#define DISTG_AUTO 0x02 // time interval trigger
#define DISTG_KEY 0x03 // display key trigger
#define DISTG_CARDIN 0x04 // inserting card trigger
#define DISTG_CARDOUT 0x05 // pull out card trigger
/* LcdDis.ptr define */
#define DSPTR_RST 0 // sys reset display item
#define DSPTR_LEN 1 // leave energy display item
#define DSPTR_TEN 2 // total energy dispaly item
#define DSPTR_AMD 3 // average power display item
#define DSPTR_IDH 4 // meter id high display
#define DSPTR_IDL 5 // meter id low display
#define DSPTR_AM1 6 // alarm level 1 display
#define DSPTR_AM2 7 // alarm level 2 display
#define DSPTR_OPW 8 // over max deman display
#define DSPTR_BUY 9 // buy energy display
#define DSPTR_ZEN 10 // criedt energy display
#define DSPTR_RIC 11 // reading card display
#define DSPTR_TIC 12 // read card ok display
#define DSPTR_FIC 13 // read card fail display
#define DSPTR_SYS 14 // sys error information display
// LcdDis.tmrMd define
#define DSTMR_ATO 10 // auto display item change interval time
#define DSTMR_KEY 10 // key display item change interval time
#define DSTMR_IC 4 // when card in ,interval time
#define DSTMR_RST 8 //sys error information display interval time
//************************************************************************
//* 7 TOU.C
//*************************************************************************/
#define f_Sec 0x01 //
#define f_Min 0x02 //
#define f_Hou 0x04 //
#define f_Day 0x08 //
#define f_Mon 0x10 //
/************************************************************************
* 8 CData.c
*************************************************************************/
// ComInfo define
// 11000000 00000000 read or program ability
#define EN_R 0X8000 //enable read
#define EN_W 0x4000 //enable program
#define EN_RW 0xc000
//00110000 00000000 operate data type
#define W_MM 0x1000*0 // only by password control
#define W_HKEY 0x1000*1 // also by hard-key control
#define W_SKEY 0x1000*2 // also by sofy-key control
#define W_FCT 0x1000*3 // by super level control.
// 00001111 00000000 special command operate
#define CM_GEN 0x0100*0 //general command
#define UR_TEC 0x0100*1 // block current energy data read
#define UR_REC 0x0100*2 //反向电能读取
#define UR_LEC 0x0100*3 //剩余电能读取
#define UR_POWER 0x0100*4 //当前功率读取
#define UR_DLYS 0x0100*5 //继电器状态读取
#define UR_CONST 0x0100*6 //电表常数读取
#define UR_ZEC 0x0100*7 //过零电量
#define UW_ECINIT 0x0100*8 //电能初始化
#define UR_MCER 0x0100*9 //电表错误状态字
#define UR_VIDO 0x0100*10 //软件版本号
#define UR_TESHU 0x0100*15 //其余的特殊操作
// 00000000 11111111 operate data length
#define UR_LEN 0x00FF //max length must less 256
/************************************************************************
* PrepayCNL.c
*************************************************************************/
//Sram.creditSTU define.
#define USE_NATURAL 0x00
#define USE_ALRM1 0x01
#define USE_ALRM2 0x02
#define USE_ZERO 0x03
#define USE_CREDIT 0x04
/************************************************************************
* Esam_cpu.c
*************************************************************************/
//卡片操作错误状态字Sram.IcErr_status
#define ERR_IC_00 0x00 // 卡类型错误
#define ERR_IC_01 0x01 // 非本表卡
#define ERR_IC_02 0x02 // 数据异常
#define ERR_IC_03 0x03 // 卡密码错误
#define ERR_IC_04 0x04 // 售电次数错误
#define ERR_IC_05 0x05 // 提前拔卡
#define ERR_IC_06 0x06 //
#define ERR_IC_07 0x07 // 剩余电费超限
#define ERR_IC_OK 0xFF // 正确读卡
//
#define IC_COMM_ERR_LONG 0x01
#define IC_COMM_ERR_EVEN 0x02
#define IC_COMM_OK 0xFF
// Iso7816Head[4] define
#define ISOHEAD_LEN Iso7816Head[4]
#define ISOHEAD_FG Iso7816Head[5]
// define IC_APDU.status
//0b00000001 define
#define TYPE_CARD 0x00
#define TYPE_ESAM 0x01
//0b00000110 define
#define TYPE_TX11 (0x03<<1)
#define TYPE_TX00 (0x00<<1) //only rx DATA,SW1,SW2
#define TYPE_TX01 (0x01<<1) // tx,and rx SW1,SW2
#define TYPE_TX02 (0x02<<1) // tx,and rx DATA,SW1,SW2
/************************************************************************
* IC_ESAM_Command.c:
*************************************************************************/
//define Command ID
#define MAX_CMMOND_NUM 19
#define CARD_SECLECT 0 // 选卡,CARD
#define E_DISP_01MM 1 //ESAM分散01级密钥
#define E_DISP_02MM 2 //ESAM分散02级密钥
#define E_MM_ENCRYPT 3 //ESAM加密随机数
#define E_GET_8RAMDOM 4 //获取ESAM随机数8字节
#define E_GET_4RAMDOM 5 //获取ESAM随机数4字节
#define IC_GET_8RAMDOM 6 //获取IC卡随机数8字节
#define IC_GET_4RAMDOM 7 //获取IC卡随机数4字节
#define E_EX_AUTHENT 8 //ESAM外部认证01级密钥
#define IC_EX_AUTHENT 9 //IC卡外部认证
#define IC_IN_AUTHENT 10 //IC卡内部认证(加密随机数)
#define BINARY_RD_EC 11 //ESAM 读取钱包文件剩余电量
#define BINARY_RD_BUY 12 //ESAM 读取钱包文件购电次数
#define BINARY_INC 13 //ESAM 自动增加钱包剩余电量和购电次数
#define BINARY_DEC_EC 14 //ESAM 自动减钱包剩余电量
#define BINARY_INIT_EC 15 //初始化ESAM的钱包文件的剩余电量
#define BINARY_INIT_BUY 16 //初始化ESAM的钱包文件的购电次数
#define E_MM_UPDATE 17 //更新ESAM密钥
#define E_RX_RESPONS 18 // ESAM 接收应答数据
#define IC_RX_RESPONS 19 // IC卡接收应答数据
// COMMAND DEFINE
#define EX_AUTHENTICATION 0X0082
#define GET_RESPONS 0X00C0
#define GET_CHALLENGE 0X0084
#define IN_AUTHENTICATION 0X0088
//#define PIN_CHANGE_OR_UNBLOCK 0X8424
#define READ_BINARY 0X00B0
#define READ_MACBINARY 0X04B0
#define READ_RECORD 0X00B2
#define READ_MACRECORD 0X04B2
#define UPDATE_BINARY 0X00D6
//#define UPDATE_RECORD 0X00DC
//#define MM_VERIFY 0X0020
#define UPDATE_MACBINARY 0X04D6
#define GET_RANDOM 0X80FA
#define INC_PURSE 0X8432
#define DEC_PURSE 0X8030
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -