189 lines
5.8 KiB
C
189 lines
5.8 KiB
C
![]() |
/*
|
|||
|
*********************************************************************************************************
|
|||
|
* Copyright (c) 2013,JD-YD
|
|||
|
* All Rights Reserved
|
|||
|
*
|
|||
|
*
|
|||
|
* File Name : protectcfg.h
|
|||
|
* Author : luoyang
|
|||
|
* Version : 1.0
|
|||
|
* Date : 2013.9.6
|
|||
|
* Descriptiong : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
* Function List:
|
|||
|
* History :
|
|||
|
<author> <time> <version> <desc>
|
|||
|
luoyang 13/09/06 1.0 build this modle
|
|||
|
*********************************************************************************************************
|
|||
|
*/
|
|||
|
|
|||
|
#ifndef CFGREAD_H_
|
|||
|
#define CFGREAD_H_
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
|
|||
|
#ifndef TRUE
|
|||
|
#define TRUE 1 //<2F><EFBFBD><DFBC><EFBFBD>
|
|||
|
#endif
|
|||
|
#ifndef FALSE
|
|||
|
#define FALSE 0 //<2F><EFBFBD><DFBC><EFBFBD>
|
|||
|
#endif
|
|||
|
|
|||
|
#define PROT_CFG_ADDR_READ_START (0x0DE43000)
|
|||
|
|
|||
|
#define CFG_READ_OK 0xA0 //<2F><>ȡ<EFBFBD>ɹ<EFBFBD>
|
|||
|
#define CFG_READ_NO_FILE 0xA1 //<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define CFG_READ_FROMAT_ERROR 0xA2 //<2F><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|||
|
#define CFG_READ_ERROR_UNKNOWN 0xA3 //δ֪<CEB4><D6AA><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
/****************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*****************************************/
|
|||
|
#define PROT_BLOCK_CFG_ADDR_READ PROT_CFG_ADDR_READ_START
|
|||
|
|
|||
|
#define BLOCK_CFGFILE_FULLNAME "/nor/root/protect/cfg/block.xml" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>·<EFBFBD><C2B7>)
|
|||
|
|
|||
|
#define BS_XML_ROOT "blockcfg" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define BS_XML_ELE "expression" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ʽԪ<CABD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define BS_XML_ARR_ID "id" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>id<69><64><EFBFBD><EFBFBD>
|
|||
|
#define BS_XML_ARR_FORMULA "formula" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>formula<6C><61><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
#define EXPRESSION_MAX_LEN (100) //<2F><><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|||
|
#define BLOCK_NUM_MAX (36) //<2F><><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD>36<33><36>
|
|||
|
typedef char ExpArrayType[EXPRESSION_MAX_LEN];
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBC>ṹ
|
|||
|
typedef struct{
|
|||
|
int numOfExp; //<2F><><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|||
|
ExpArrayType ExpArray[BLOCK_NUM_MAX]; //<2F><><EFBFBD><EFBFBD>ʽ
|
|||
|
}ExpType;
|
|||
|
|
|||
|
//<2F>ⲿ<EFBFBD>ӿ<EFBFBD>
|
|||
|
void block_cfg_read();
|
|||
|
|
|||
|
/*** <20><>բ<EFBFBD>Ƶ<EFBFBD>״̬ ***/
|
|||
|
#define TZLED_CFGFILE_FULLNAME "/nor/root/protect/cfg/tzled.dat" //<2F><>բ<EFBFBD><D5A2>״̬<D7B4>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>·<EFBFBD><C2B7>)
|
|||
|
|
|||
|
|
|||
|
/****************************************
|
|||
|
*<EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*****************************************/
|
|||
|
#define ZT_CFGFILE_FULLNAME "/nor/root/protect/cfg/zt.xml" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>·<EFBFBD><C2B7>)
|
|||
|
#define PROT_ZT_CFG_ADDR_READ PROT_CFG_ADDR_READ_START + sizeof(ExpType) + 100
|
|||
|
|
|||
|
#define ZT_FUNC_JXC (0) //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD>ܿ<EFBFBD> <20><><EFBFBD>߲<EFBFBD>
|
|||
|
#define ZT_FUNC_GDC (1) //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD>ܿ<EFBFBD> <20>ߵ<EFBFBD>ѹ<EFBFBD><D1B9>
|
|||
|
#define ZT_FUNC_QGKC (2) //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD>ܿ<EFBFBD> <20>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#define MAX_STEP_MUN (20)
|
|||
|
|
|||
|
|
|||
|
#define ZT_XML_ROOT "ZTLogicConfig" //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define ZT_XML_ELE_ZTSTEP "ZTStep" //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"ZTStep"Ԫ<><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define ZT_XML_ELE_JXC "JXC" //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"JXC"Ԫ<><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define ZT_XML_ELE_GDC "GDC" //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"GDC"Ԫ<><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define ZT_XML_ELE_QGKC "QGKC" //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"QGKC"Ԫ<><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define ZT_XML_ELE_FZ "FZ" //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"FZ"Ԫ<><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define ZT_XML_ELE_HZ "HZ" //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"HZ"Ԫ<><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define ZT_XML_ELE_STEP "Step" //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"ZTStep"Ԫ<><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define ZT_XML_ARR_KGID "KGID" //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"KGID"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define ZT_XML_ARR_KGName "KGName" //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"KGName"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define ZT_XML_ARR_KGType "KGType" //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"KGType"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define ZT_XML_ARR_KGPos "KGPos" //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"KGPos"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define ZT_XML_ARR_Action "Action" //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"Action"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
typedef enum{
|
|||
|
ZP_FZ, //<2F><>բ
|
|||
|
ZP_HZ //<2F><>բ
|
|||
|
}ZTProperty;
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
typedef enum{
|
|||
|
ST_DLQ = 1, //<2F><>·<EFBFBD><C2B7>
|
|||
|
ST_GK = 2 //<2F><><EFBFBD>뿪<EFBFBD><EBBFAA>
|
|||
|
}SwitchType;
|
|||
|
//<2F><><EFBFBD>ذ<EFBFBD>װλ<D7B0><CEBB>
|
|||
|
typedef enum{
|
|||
|
SP_JXC, //<2F><><EFBFBD>߲<DFB2><E0BFAA>
|
|||
|
SP_GYC, //<2F><>ѹ<EFBFBD><EFBFBD><E0BFAA>
|
|||
|
SP_DYC, //<2F><>ѹ<EFBFBD><EFBFBD><E0BFAA>
|
|||
|
SP_QGKC, //<2F>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD><E0BFAA>
|
|||
|
SP_DRQ, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}SwitchPos;
|
|||
|
//<2F><>Ͷ<EFBFBD><CDB6><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>
|
|||
|
typedef struct{
|
|||
|
SwitchType ObjectType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1-<2D><>·<EFBFBD><C2B7> 2-<2D><><EFBFBD>뿪<EFBFBD><EBBFAA>
|
|||
|
unsigned char ObjectNo; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ң<>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
unsigned int ObjectName; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD>غ<EFBFBD>)
|
|||
|
SwitchPos ObjectPos; //<2F><><EFBFBD>ذ<EFBFBD>װλ<D7B0><CEBB>
|
|||
|
ZTProperty ObjectAction; //<2F><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>/<2F><>)
|
|||
|
}ZTObject, *pZTObject;
|
|||
|
|
|||
|
//<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
typedef struct{
|
|||
|
unsigned char StepNum; //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
ZTProperty zitouProperty; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ZTObject Objects[MAX_STEP_MUN]; //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}ZTStepList, *pZTStepList;
|
|||
|
|
|||
|
//ȫվ<C8AB><D5BE>Ͷ<EFBFBD><EFBFBD>
|
|||
|
typedef struct{
|
|||
|
ZTStepList JXCFZStepList; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>Ͷ<EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>
|
|||
|
ZTStepList JXCHZStepList; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>Ͷ<EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>
|
|||
|
ZTStepList GDCFZStepList; //<2F>ߵ<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>Ͷ<EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>
|
|||
|
ZTStepList GDCHZStepList; //<2F>ߵ<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>Ͷ<EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>
|
|||
|
ZTStepList QGKCFZStepList; //<2F>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>
|
|||
|
ZTStepList QGKCHZStepList; //<2F>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>
|
|||
|
}ZTLogic, *pZTLogic;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>
|
|||
|
#define KXZT_CFGFILE_FULLNAME "/nor/root/protect/cfg/kxzt.xml" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>·<EFBFBD><C2B7>)
|
|||
|
#define PROT_KXZT_CFG_ADDR_READ PROT_ZT_CFG_ADDR_READ + sizeof(ZTLogic) + 100
|
|||
|
|
|||
|
#define KXZT_STEP_NUM_MAX 40
|
|||
|
|
|||
|
|
|||
|
#define KXZT_XML_ROOT "kxztcfg" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>ø<EFBFBD><C3B8>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define KXZT_XML_ELE_UPCFG "up_cfg" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>"up_cfg"Ԫ<><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define KXZT_XML_ELE_DOWNCFG "down_cfg" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>"down_cfg"Ԫ<><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define KXZT_XML_ARR_OPTYPE "op_type" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>"op_type"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define KXZT_XML_ARR_OPOBJECT "op_object" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>"op_object"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define KXZT_XML_ARR_OPTIME "op_time" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>"op_time"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define KXZT_XML_ARR_OPFEEDBACK "op_feedback" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>"op_feedback"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ṹ
|
|||
|
typedef struct{
|
|||
|
unsigned char op_type; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
unsigned char op_object; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
unsigned char op_feedback; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
unsigned int op_time; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
}KXZTStep;
|
|||
|
|
|||
|
typedef struct{
|
|||
|
unsigned char stepNum; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
KXZTStep stepSet[KXZT_STEP_NUM_MAX]; //<2F><>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>輯<EFBFBD><E8BCAF>
|
|||
|
}KXZTType;
|
|||
|
|
|||
|
//<2F>ⲿ<EFBFBD>ӿ<EFBFBD>
|
|||
|
void zt_cfg_read();
|
|||
|
//<2F><>ȡ<EFBFBD><C8A1>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
void kxzt_cfg_read();
|
|||
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
void block_cfg_read();
|
|||
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
|
|||
|
/** <20><>բ<EFBFBD>Ƶ<EFBFBD>״̬ **/
|
|||
|
int tzled_cfg_read(unsigned char *data, int dataLen);
|
|||
|
int tzled_cfg_write(const unsigned char *data, int dataLen);
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
#endif /* CFGREAD_H_ */
|